alias command to allow dynamic alias generation

I have a bunch of ZSH files generating aliases using associative arrays, for ex:
~/zsh/aliases/git.zsh
typeset -A gitcmds

gitcmds=(
    gs    "status"
    gc    "commit"
    gb    "checkout -b"
    gpl   "pull --rebase origin"
    gpo   "push origin"
    gundo "reset --soft HEAD~1"
)

for k in "${(@k)gitcmds}"; do
    alias $k="git $gitcmds[$k]"
done

Then, for example, I can use $ gs in terminal and it runs git status.
I haven't been able to figure out how to port this to Elven. For ex, I tried this:
~/.elvish/rc.elv
gitCmds=[
    &gs=    "status"
    &gcl=   "clone"
    &gc=    "commit"
    &gb=    "checkout -b"
    &gpl=   "pull --rebase origin"
    &gpo=   "push origin"
    &gundo= "reset --soft HEAD~1"
]

keys $gitCmds | each [k]{
    fn "$k"{ git $gitCmds[$k] $@ }  # <-  scoped locally
}

BUT the fn is scoped inside the closure. So I can't call any of the gs/gl/etc functions globally.
Any ideas on how to do this?
Maybe a builtin alias/2 function is needed which makes it globally accessible. For example:
aliases = [
    [gs         "git status"]
    [gl         "git log"]
    [gc         "git commit"]
    [gcl        "git clone"]
    [gundo      "git reset --soft HEAD~1"]
]

keys $aliases | each [a]{
    alias $a[0] $a[1]  # <-- scoped globally
}

This would make me switch to Elvish and possibly contribute code.
The lack of assoc arrays in Fish is why I haven't switched to that shell from zsh either. I spent way too much time making these to abandon them all. I was pretty excited to try out Elvish when I saw how powerful it was.

I managed to hack together a simple alternative version within the constraints of the language which calls a short function name.
https://gist.github.com/dmix/41350b4833e8625a6130115bf0bf92ac
The interface looks like this:
git-aliases = [
    &prefix= "g"
    &name= "git"
    &aliases="
        s     git status
        l     git log
        c     git commit
        cl    git clone
        undo  git reset --soft HEAD~1
    "
]

fn g [@cmd]{
    aliases $git-aliases $cmd
}

Which can then be used like this:
$ g s
> git status

$ g undo
>  git reset --soft HEAD~1

And pressing g alone would print out a list of available aliases.
I used a multi-line string + some regex to parse the list of aliases but a list of lists would work as well with little effort:
git-aliases = [
    &prefix= "g"
    &name= "git"
    &aliases=[
        [s               git status]
        [l                git log]
        [c               git commit]
        [cl              git clone]
        [undo         undo  git reset --soft HEAD~1
    ]
]

Obviously this is non-ideal vs full aliases, as each prefixed alias would need a 1-3 letter function defined (g, mx, elx)... but it gave me a chance to play with the language.

If you only get "g s" you might as well use Git's aliases functionality…

@myfreeweb I only used git as an example everyone knows
a) I have about ~20 arrays of aliases for different apps, unix utilities, macOS/archlinux/debian, programming tools, etc, etc
b)  I want a uniform place for all of my aliases, , so gitconfig doesn't make sense here.
@xiaq I updated the first comment with an example interface for an alias/2 implementation. Is this something planned for the future?

In case anyone finds this interesting: I have implemented an alias library which can be used to maintain command aliases easily. You can find it here: https://github.com/zzamboni/vcsh_elvish/blob/master/.elvish/lib/alias.elv

@zzamboni, I like your alias module. It's a pretty good Elvish equivalent of the fish alias command. I don't like cluttering my rc.elv with all the personal wrappers I have and your solution means I can put them in other files without having to explicitly source each file.
Looking at your code the only thing I noticed is a minor nit in the implementation of the list function. The .* in the sed pattern should be removed since the grep guarantees the pound-sign is anchored at the start of the line. Removing that avoids unnecessary backtracking:
_ = ?(grep '^#alias:def ' $dir/*.elv | sed 's/^.*#//')

@krader1961 thanks for the comment. My original code was exactly like you suggest, but the .* becomes necessary when you have more than one alias, because then the output from grep includes the filename, like this:
[~]─> grep '^#alias:def ' ~/.elvish/aliases/*.elv
/Users/taazadi1/.elvish/aliases/ls.elv:#alias:def ls e:ls --color=auto
/Users/taazadi1/.elvish/aliases/more.elv:#alias:def more less
/Users/taazadi1/.elvish/aliases/v.elv:#alias:def v vagrant

I should've probably implemented this using a loop to make it cleaner, but honestly I was lazy, and I don't think in this particular case the extra regex will cause any perceivable performance impact - I guess I could be wrong if you have thousands of aliases ;)

... the .* becomes necessary when you have more than one alias, because then the output from grep includes the filename,...

True, @zzamboni, I forgot to mention that you also need to add the -h option to the grep to suppress the file names.

Good point - fixed. Thanks!

Alias definition can be implemented after #613.
One key difference (which I think is a good thing) is that it is not possible to implement an alias function that modifies the "interactive namespace" (the namespace under which the interactive session runs) directly - the user must explicitly enable any definitions by assigning to -exports- in rc.elv. Using the example in OP:
git-cmds=[
  &gs=    "status"
  &gcl=   "clone"
  &gc=    "commit"
  &gb=    "checkout -b"
  &gpl=   "pull --rebase origin"
  &gpo=   "push origin"
  &gundo= "reset --soft HEAD~1"
]
# must be in rc.elv!

-exports- = [&]
keys $git-cmds | each [k]{
  -exports-[$k"~"] = [a]{ git (explode $git-cmds[$k]) $@a }
}

An alias library is still possible: but in addition to providing a function that lets you define aliases, it also needs to have a function to generate the content of -exports-. A hypothetical alias module can work like this:
alias:def gs git status
alias:def gcl git clone
# ... other alias:def calls
-exports- = (alias:export)

Closing because #613 (now fixed!) now enables you to dynamically define aliases.

I have updated https://github.com/zzamboni/elvish-modules/blob/master/alias.org to work with the new implementation of -exports-.

@xiaq thanks, works great


tr-TR localization

Fixes #
Changelog Entry

Description

Specific Changes

[ ] Testing Added

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


无法登录小米账号

Logger: custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new
Source: custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py:89
Integration: Xiaomi MIoT (documentation, issues)
First occurred: 下午10:44:28 (1 occurrences)
Last logged: 下午10:44:28
Can't login to Mi Cloud: Cannot connect to host account.xiaomi.com:443 ssl:default [Try again]
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 999, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 865, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
File "/usr/local/lib/python3.8/site-packages/aiohttp/resolver.py", line 31, in resolve
infos = await self._loop.getaddrinfo(
File "/usr/local/lib/python3.8/asyncio/base_events.py", line 825, in getaddrinfo
return await self.run_in_executor(
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py", line 60, in login
payload = await self._login_step1()
File "/config/custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py", line 89, in _login_step1
r = await self.session.get(
File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1011, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:default [Try again]

Logger: custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new
Source: custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py:89
Integration: Xiaomi MIoT (documentation, issues)
First occurred: 下午10:44:28 (1 occurrences)
Last logged: 下午10:44:28
Can't login to Mi Cloud: Cannot connect to host account.xiaomi.com:443 ssl:default [Try again]
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 999, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 865, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
File "/usr/local/lib/python3.8/site-packages/aiohttp/resolver.py", line 31, in resolve
infos = await self._loop.getaddrinfo(
File "/usr/local/lib/python3.8/asyncio/base_events.py", line 825, in getaddrinfo
return await self.run_in_executor(
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/config/custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py", line 60, in login
payload = await self._login_step1()
File "/config/custom_components/xiaomi_miot_raw/deps/xiaomi_cloud_new.py", line 89, in _login_step1
r = await self.session.get(
File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 520, in _request
conn = await self._connector.connect(
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 535, in connect
proto = await self._create_connection(req, traces, timeout)
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 892, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
File "/usr/local/lib/python3.8/site-packages/aiohttp/connector.py", line 1011, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:default [Try again]

OpenWrt Snapshot docker环境

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host account.xiaomi.com:443 ssl:default [Try again]
应当是网络有问题。

问题是否已解决？如已解决可关闭 issue。

我也出现了这个问题，并且我还发现了，出现这个问题时，有时候手机的米家，也会提示无法联网，无论电信还是移动宽带都这样。
2021-06-19 23:54:23 ERROR (MainThread) [custom_components.xiaomi_miot_raw.deps.xiaomi_cloud_new] 小米账号登录信息失效


Moving from a captured snapshot to a pending snapshot doesn't change the stack frame

start a debugger session https://docs.google.com/document/d/1cM1m6yHask_xnZ2E-L0gjo98aPbOWziFnwiK_ZKxzTw/edit#
Set a watchpoint
trigger it http://cloud-debugger-demo.appspot.com/gen
go to view it
add a new snapshot
navigate to the untriggered snapshot in the snapshots UI
note that the stack state still reflects the information from the captured snapshot

expected result
switching to an uncaptured snapshot would clear the stack UI

This is also part of CloudDebugHistoricalSnapshots. That class is responsible for about 4 of our open bugs. I'm going to start by seeing if I can refactore that class so it's more conprehensible.

This may be in CloudDebugProcess.navigateToSnapshot
In particular here:
              if (result.getIsFinalState() != Boolean.TRUE || result.getStackFrames() == null) {
                getBreakpointHandler().navigateTo(result);
                return;
              }

IN the case where esult.getStackFrames() == null we want to clear the frames panel. I'm not sure what method will do that. XDebugSession doesn't seem to allow it.

Maybe I can pass in an empty XExecutionStack to XDebugSession.setCurrentStackFrame()?

YGIAGAM


BUG Monthly returns distribution should not stack by year.

Out of monthly returns we created a year by month table, then dropped nans, then unstacked again to create the flat array for monthly returns distribution. Essentially throwing away data.
Related: https://github.com/quantopian/qexec/issues/7890

Merged with https://github.com/quantopian/pyfolio/commit/2e8cbea4cadebdae05d61bfe57d457ad3d8cfc8d


[Bug] Cannot modify Steam Dynamo recipe with datapacks

When attempting to reduce the rate at which Steam dynamos consume Steam at first via KubeJS, and again by datapack, I found that my attempts to reduce the recipe's requirement to 500 mB instead dropped the steam intake per recipe much farther down to 100mB.
Test Datapack

This result was the same whether the recipe was modified by placing the full datapack in the saves folder, the contents of the datapack in KubeJS' data folder, (An automatically-loaded datapack for modpack development) or the recipe was altered via a KubeJS script.
This was all confirmed to take place on an instance with only Thermal Systeams, JEI, and their dependencies.
Minecraft version: 1.20.1
Thermal Systeams version: 1.7.1

What is the energy amount showing for that example? I use Thermal's recipe system, which performs normalization on recipes so that they show nice amounts of input. (So for your example the steam might show 100mb input but the energy will show 400, one fifth of the amount you set for 500mb of steam)

No, it's still 2000 FE.

Of course this could all be JEI misrepresenting the actual recipe, but it'd still be an issue.

Can you try a recipe with the same amounts in a normal thermal dynamo?

Of course.

From my tests with the datapack at the top of this issue with default configs:
1 coal generates 24k RF in a Stirling Dynamo (as expected from JEI's recipe)
1 coal generates 24 Buckets of steam in a Stirling Boiler (Despite the config supposedly halving that?)
24 Buckets of steam in a Steam Dyanmo produces 480k RF, exactly as JEI reports the recipe to be (100mB steam to 2k RF)


add Matcher#and, a fluent way to build AllOf

Example of usage:
assertThat(alphabet, startsWith("a").and(endsWith("z"));

If you like the idea I will also add Matcher#or.
Then should we deprecate CombinableMatcher?

We've experimented with this several times but have never found a satisfactory design w.r.t. precedence and binding of 'and' and 'or' pseudo-operators compared to the built-in logical operators. Java doesn't have operator overloading, so a LISP-y style always feels more natural.
Adding methods to Matcher is a big deal with a large client base (people do ignore the BaseMatcher class despite the weird warning method).  So any syntactic sugar should be implemented separately from the core interfaces.


No rows visible when using node <IP_ADDRESS>

So I'm using node and I can see the data is returning correctly to the client and I can view the HTML in the development tools and see the rows are there, but they aren't showing on the screen for some reason. I've attached my sample code, it's using a trimmed down version of the JSON file from the docs.
SampleagGridNode.zip
I don't think this is a node issue as I changed to using node 4.2.3 and still experiencing same issue.
Am I missing something simple here?
Thanks

You have set the height to 100% without setting a height for the parent div.
This is nothing to do with the grid, but how you are using css. If you are using % height, then you need to be careful to set the height in the containing div also.
Please set the height in pixels first (eg to 500px) on your grid, to see if that fixes it. Then you can play with the % on your page to get that working also.


isoform file not available

I don´t have an isoform.txt file, can I still convert bed to gtf?

Hi @Kiliankleemann,
Not at this time. bed2gtf was build with the goal to make the conversion faster but complete (including gene_ids); however, I can consider to make it an option (maybe a flag --no-gene (?)) in the next release.
If you need that functionality right now, I think the best option is to use UCSC's C binaries (bedToGenePred + genePredToGtf)
Best,
Alejandro

Hey @Kiliankleemann
Just to let you know that now you can convert any bed into gtf without a isoforms.txt by simply specifying --no-gene, something like this:
bed2gtf -b your.bed -o out.gtf --no-gene

Best,
Alejandro


warren_lab neb in wrong app

warren lab NEBs are currently in VASP app and need to move to warren_lab
https://github.com/jacksund/simmate/tree/main/src/simmate/apps/vasp/workflows/diffusion

closed by #572


Fix changelog item generation

Re #8930. I found a couple issues when using rake changelog:fix to write a changelog item for another PR. Foremost, [Fix #xxxx] as requested in the contributing guidelines was not being parsed properly (it was only looking for Fixes, now it accepts both). tasks/changelog.rb did not have a spec, so I added a basic one that just covers this issue but is not exhaustive.
I also updated the tests in project_spec.rb:

Only links at the start of a changelog item are evaluated (eg. 7th item here: https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md#bug-fixes-18)
Issues on other rubocop-hq repos are accepted (eg. last item here: https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md#bug-fixes-18)
Ensures that a changelog item does not have [Fix #xxxx] in it.
Flag [#x] as invalid in a changelog item

The last item is potentially contentious because the rake task prefaces items with * [#x](https://github.com/rubocop-hq/rubocop/pull/x): if a ref ID cannot be found, which will then cause bundle exec rake default to fail. This is kind of a paradox if there isn't already an issue to refer to (ie. sometimes in practice the link is to the PR that merges the change, which doesn't exist before rake default is run), so I'm not 100% sure about this, but I think the test is valuable in general to ensure we don't end up with [#x] in the changelog.
/cc @marcandre

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

tasks/changelog.rb did not have a spec, so I added a basic one that just covers this issue but is not exhaustive.

Oh, right, I forgot to copy it over from rubocop-ast. Done in #8946.
You changes are great. How about moving your spec to spec/tasks/changelog_spec.rb?

@marcandre updated, merged my spec into yours, thanks!


Use {arch}/{os}/remote/installRedis.sh and {arch}/{os}/remote/setupNode.sh to install redis on remote machine

https://github.com/Shippable/pm/issues/10231

this is done, closing


CI Upgrades

Dependencies versions updates
Adds black GitHub Action
Adds pre-commit to GitHub Actions
Adds Weekly Dependabot updates for GitHub Actions
Improves formatting of GitHub Actions for better readability
Adds test execution for RF 6 and Python 3.11
Small additions to gitignore file
File formatting

Closes #792
Closes #652

Codecov Report
Patch and project coverage have no change.

Comparison is base (0b2193b) 96.89% compared to head (27d55b9) 96.89%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #796   +/-   ##
=======================================
  Coverage   96.89%   96.89%
=======================================
  Files          24       24
  Lines        3257     3257
=======================================
  Hits         3156     3156
  Misses        101      101

Impacted Files
Coverage Δ

robocop/checkers/documentation.py
94.73% <ø> (ø)

robocop/reports.py
99.10% <ø> (ø)

robocop/run.py
89.77% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Support more recent ActiveFedora usage

This PR was driven by the ETD work cycle in early 2018, the goal of which was to
update the hydra_etd app such that it uses somewhat modern dependencies. Part of
this work was upgrading the app's ActiveFedora usage from 2.x to the latest 8.x
version. In this AF version, relations like belongs_to and has_many expect their
first argument to be a symbol rather than a string.
Additionally:

class_name values including the EtdModel namespace caused inverse reflections to break in AF. You can see this was patched around in etd-robots earlier, and now neither etd-robots or hydra_etd will need local patches to deal with this. See https://github.com/sul-dlss/etd-robots/commit/8052ffea2c7496510d1fe73a842e276abff32fb8#diff-b5d01edc1f6ec3519ee5dc5c4dbc235c
workflow and properties datastreams should be unversioned by default
DC datastream should be the Fedora default, which is based on DC11 rather than DCTERMS. This datastream is already part of the AF/Rubydora stack and does not need to be explicitly declared

Coverage remained the same at ?% when pulling 8d137cc058f2280074ff2bba5a528e96408c9dc0 on for_hydra_etd_upgrade into 50ab4963ddb4c98bfedd223e2cd8808157554269 on master.

Can you take a look at this PR, @cbeer @atz?

Note: I'd like to get https://github.com/sul-dlss/dor-services/pull/343 merged first, and then amend this PR.

To be clear, I think you'll need to keep the class_name kludges around until you can cleanup all the currently existing data, right?

@atz I plan to keep the class_name stuff in there.

@jcoyne I'm happy to do both of those. That shouldn't cause a problem, because only hydra_etd and etd-robots are the only downstream users of this gem, and both will soon be using the latest AF and dor-services.

Thanks, @atz and @jcoyne


Update Curator Scripts for Refactor

Due to the recent refactor of the data curator, some of the launcher scripts and configs need to be updated. These changes have been tested on a small test dataset.

Thank you @dimapihtar ! Please merge when you get the chance.


set default alignment

By default, the menu is always at the bottom left. If it cannot be at this position, we push it to the top or right side.
But sometimes, we need to set the menu at the top or to the right by default.
I added the align property to set by default this position.
Maybe it is not perfect, but this is a first try.

Hey @dimzeta thanks for this PR
What happens if the position set with the alignment property is not reachable? Eg. if it is on the end of a non scrollable screen but with Alignment.bottomCenter?

Any plans on releasing this feature?

Since the code is old, I created another PR to fix some bugs and null safety errors.
I also added Align.bottomCenter and Align.topCenter.
@henriquezanfa, If the menu cannot be displayed because of the screen size, it automatically displayed to the other side (example: topLeft become bottomLeft).
I added an example page in the package, and here is the demo:
https://github.com/retroportalstudio/focused_menu/assets/3192298/e6c0fa09-bcfe-4dba-b757-8e9fde8a9b98


Simplify the generation of the index path.

Instead of storing the indices in reverse order, then iterating in reverse, store them in the order they'll be accessed in.
Also gets around a static analyser warning, which claims we could return nil from the method (which wasn't strictly true).

@krris : This gets rid of the static analyser warning.

Could we also avoid boxing them by using an NSIndexSet? We would still have to use reverse enumeration for them then though as they are implicitly ordered

@cerihughes The conflict is because of me (sorry!) 😛 I added a workaround for the static analyzer warning here: https://github.com/spotify/HubFramework/pull/87/commits/0550094089dc8e7dca5a936221bdae28008a45e8. But I like this approach better! So feel free to pick your implementation when rebasing 😄

Wooops, accidental close 😢

Current coverage is 92.50% (diff: 100%)

Merging #88 into master will decrease coverage by 0.28%

@@             master        #88   diff @@
==========================================
  Files            57         57
  Lines          3950       3948     -2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           3665       3652    -13
- Misses          285        296    +11
  Partials          0          0

Powered by Codecov. Last update d5d3927...3239a6f


Different MD5 hash

Web hashkiller MD5 Hashes
https://hashkiller.co.uk/md5-decrypter.aspx
Result different emn178
Why different? ... correct hashkiller a result
How to make its? help-me

Your url is decrypter. of course different.

So i found he is SHA-1, small different md5, but have code million make decrypt =[ ... wordpress need decrypt its. nvm.

It doesn't work on web worker thread?


File tree stuff

Resolves https://github.com/KittyCAD/modeling-app/pull/3629
Replaces https://github.com/KittyCAD/modeling-app/pull/3629 because the branch name is actually breaking CI

Does https://github.com/KittyCAD/modeling-app/pull/3679/commits/2f50804206893d4ce3c9b64fb8ea26ebf62b2ba7 look okay to you @lf94 ?


Additional search features for feature parity

In reviewing the search features, just want to get down several in CoG so we will be on parity

[ ] Show all versions (drop latest=true from search)
[ ] cmip5 file filter by variable
[ ] version range search

2 + 3 are hidden in CoG you need to click on   [ More Search Options ]

[ ] Show all versions (drop latest=true from search)

Moved this to #165


text box Label click problem.

Hey I've faced a minor issue where i click on the floating label of a text box, it's not focusing on the text box, for that i have to click outside the Label area. Please give solution for this.

clicking on label (not focusing to text box )

I got the solution, It was related to ID conflicts

Please make a code pen
On Jul 20, 2015 11:35 PM, "Jimish Fotariya"<EMAIL_ADDRESS>wrote:

—
Reply to this email directly or view it on GitHub
https://github.com/Dogfalo/materialize/issues/1769.

i think its not necessary, It happens while i have not gave ID to that text field, but materialize is smart enough to move label by clicking on text field, but when i click on label, It is unable to find out field of given ID, so it was not floating.
Another conflict was If i gave same ID to two different Labels, than focusing one will trigger another also.

I have the same problem but the ids are different.
Any idea how to solve it?

@simoazzo check that the label for attribute matched to the input id

Cheers. Working Now. Thank you @kmmbvnr


Collection View section

PagingView - Infinite paging, Smart auto layout, Interface of similar to UIKit. :large_orange_diamond:
DisplaySwitcher - Custom transition between two collection view layouts :large_orange_diamond:
CHTCollectionViewWaterfallLayout - The waterfall (i.e., Pinterest-like) layout for UICollectionView.
FMMosaicLayout - A drop-in mosaic collection view layout with a focus on simple customizations.

#781

@victorgama  @dkhamsing @vsouza do u guys know any other Collection View libs?

@lfarah I've used FMMosaicLayout once or twice, but I'm afraid it is not longer being actively developed. Anyway, it still fits in the Has a commit from less than 2 years ago rule. :)

I've used https://github.com/chiahsien/CHTCollectionViewWaterfallLayout but it's just a layout

We have a problem. Just realized that there are a lot of libs that work both for CollectionViews and TableViews. Should we do a TableView/CollectionView section?

Talked to @vsouza and we're doing a TableView / CollectionView section


Fail the CI build in case plugin version hasn't been bumped after a release

So that we don't need to remember to check whether it's been updated.
Possibly this can base on git tags. Should NOT be run on develop, master, backport/*. Can/should be run on hotfix/* and release/*. Possibly could even replace/be added into whatever version bump check we have currently.

#804 expresses the intent better, closing this one


Added extensions load and unload command.

Resolves #15
Moved bot.run, load_extensions to main.py. Added an extension file in utils, added extensions command for loading, unloading and reloading extensions.

@codephile1221 @Shivansh-007
Made the suggested changes.

It doesn't seem like this will ever be merged.
There's a new PR for extension management commands now.


Duplicate grades cause issues with retrieving previously graded submissions.

For an unknown reason, fragmented grade entries in the Database sometimes appear.
These cause issues when attempting to determine if a submission is fully graded or not.
Possible causes:

Database inconsistency
Multiple TAs submitting grades at the same time

Investigated and was unable to replicate this problem again.
High probability this was addressed when refactoring the system.


(#269) Deduplicated some functions, with extra style points.

This keeps all original functionality in a more terse package.

BTW, a helpful naming convention: https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue

@nikshalark: would you like to me nitpick this PR until I like it and then we'd merge or do you prefer that we merge now and then I refine it in subsequent commit(s) and you can learn ask about those?


no content

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update
Correction or update

Details

when i press the button "guides" no content in Russian language
https://developer.mozilla.org/ru/docs/Learn

https://developer.mozilla.org/ru/docs/Learn

Hi there!  This repository (mdn/sprints) isn't really used to track MDN issues any longer.  If this is still an issue, please scroll down to the "Found a content problem with this page?" section and use the "Report the content issue" link to report the issue on the appropriate repository (mdn/translated-content) so that the appropriate team can resolve your issue quickly.  Thank you in advance!

This seems to have been fixed in the mean-time, see: https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/Installing_basic_software


Update to Solc 0.5

Solc 0.5.0 Version of the API
Here it is, the API upgraded to the latest Solidity compiler, and (hopefully) following all the best practices. Rather than simply getting it to compile, many other changes have been made and so hence the need for a thorough review. Amongst those changes:

Added stuff to make it compile (a million memory keywords &c.)
More explicit castings (which broke stuff - see later) between types
Adding a safe version of parseInt() (original remains incase anyone using its behaviour)
Moved all global variables to the top of the contract
Moved all modifiers together
Standardized comment styles (/* ... */ for multilines instead of multiple //'s)
Standardized grammar in comments
Standardized white space between lines
Standardized variable naming (the few examples of snake_case are now camelCased)
Standardized use of whitespace between function declaration parens. vs. if/while/for conditionals
Standardized the use of whitespace between closing parens. & {s
Standardized the use of underscores before parameter names
Fix the failing RandomDS proof (which I broke during the above)

Notes:
Re which latter bullet point: It turns out that with the new recasting rules we must first cast to types of the same size. So to go from bytes(1) to uint we first need to go via either uint8 or bytes32:
uint256(bytes32(bytes1(...)));
// or
uint256(uint8(bytes1(...)));

The two casts pad differently hence the new explicitness ruling. As such, I broke (and then fixed) the proof verification thusly:

To Do
@D-Nice & @riccardopersiani please can you go over this PR with a fine tooth comb and make sure I haven't goofed anything? Also tell me if any of the above listed changes are a step too far/pointless/terrible/should be burnt with fire &c., &c.
Also, I have a private repo elsewhere with some (unpolished but passing) tests for some of the parsing helpers we offer in this API, plus all the truffle examples in the ethereum-examples repo have been updated to als use this API and all tests therein are also passing.
So it should be all good w/r/t it working, now it's just a case of arguing over the changes I've made.

shall we also decide on a standard as to whether to return anonymous or named variables?

Easy question for me - named variables everytime (unless we're talking point-free - but that's a different & more fun kettle of fish!). That whole:

naming is hard

thing is dumb. Naming is explicit and useful and enlightening.

Update:
Okay so I've done anything from the above review that I can & pushed it. I've also compiled anything I couldn't do into this one post to make it easier to see & address.
Done:
:heavy_check_mark: Naming return params (and adding underscores to go along with current practices)
:heavy_check_mark: Fixing the license typo.
:heavy_check_mark: Removing white space from string [] type declarations.
I can confirm that all tests are passing on all examples that have test-suites per my tool on gitlab using this current iteration of the API.

Stuff that needs discussing/addressing:
:pager: Paging @bertani & @D-Nice, whose relevance to issues at hand are marked after the issues:

Do we update the copyright information? (@bertani)

Should getPrice become view? (@bertani, @D-Nice)

Do we remove the coupon function? (@bertani)

Do we drop the safeMemoryCleaner function? (@bertani)

Do we revert with a message on finding an unexpectedly high price in a query? (@bertani)

Do we use view, pure &c., even where it results in a lot more compiler warnings? (@bertani, @D-Nice)

Do you hate my compulsion & aesthetic driven re-ordering of listed variables into length order enough to make me revert it? (@D-Nice)

Responses to above from @bertani

Re copyright: No, it's fine as is.

Re getPrice becoming view: Whatever keeps compatability with the current connector.

Re coupon: Can be removed.

Re safeMemoryCleaner: Since @D-Nice implemented it, if it's no longer patching whatever it patched it can be dropped.

Re revert, if we didn't throw in the first place, the return value was probably there for a reason so it's probably best to keep the current behaviour.

Re compiler warnings: if they don't change behaviour, it'd be best to minimise compiler warnings at the expense of being explicit with the visibility specifiers.

Next:
:balance_scale: Just need you to weigh in now @D-Nice please!

ok, based on those replies, let's remove coupon. Also, based on our earlier discussion, and me diving into safeMemoryCleaner, I think it's best we still leave it in, because as mentioned, it can be useful for any other assembly that works on memory, but doesn't necessarily zero it out, so the safeMemoryCleaner can be re-used there.

Oh wow, this is great! :)


Adding animations to the website

What feature?
By adding the animations this website look so good. So I would like to work on this issue please assign this to me under @gssoc @Saurav-Pant
Add screenshots

Record

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I agree to follow this project's Code of Conduct
[X] I want to work on this issue

which sort of animations, please share @suraj-9849

I will be using the gsap and scroll trigger library for adding the micro interaction for this website which enhance the user interface so that the user can feel like this website looks good.

can you please share the animation appearance?

https://www.linkedin.com/feed/update/urn:li:activity:7180274007328321536/ u can see this. It is the project made by me and my frnd for the Hackathon

Go ahead @suraj-9849


rlwrap: 0.42 -> 0.43

Motivation for this change
Update rlwrap to the last version
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg rlwrap


Sync all DHCP settings, but do not enable it

Hi,
Is it possible to sync all DHCP settings, but do not enable the DHCP server on the REPLICA?
Currently it syncs all settings now, which is good, but it also enables the DHCP server on the REPLICA, which is not good, as it is not wise to have more then 1 running DHCP server on your LAN. (if they don't know from each other)
Thx, T

Currently there's only the option to sync or not sync DHCP Settings.

Seems logical.
I wonder, @tapufd @bakito , why a should another instance even accept dhcpd-settings, when it is enabled on that instance?
As it’s always a one-way sync/transfer.

If I disable the DHCP server on the REPLICA (how it should be as it is enabled on the ORIGIN), and a sync is done from ORIGIN to REPLICA, the DHCP server is again enabled on the REPLICA.
This should be avoided, as no 2 DHCP servers should be running on the same LAN.
That is why I would prefer an option to sync the DHCP settings, but not enable DHCP on the REPLICA.
I have a master-standby setup running, so if the ORIGIN (master) is having issues, I can activate the REPLICA (standby) one.

If I disable the DHCP server on the REPLICA (how it should be as it is enabled on the ORIGIN), and a sync is done from ORIGIN to REPLICA, the DHCP server is again enabled on the REPLICA. This should be avoided, as no 2 DHCP servers should be running on the same LAN.

I think you are searching for some fail-over solution?
If not, maybe you can explain a bit clearly what the problem/scenario is you want to solve?

That is why I would prefer an option to sync the DHCP settings, but not enable DHCP on the REPLICA. I have a master-standby setup running, so if the ORIGIN (master) is having issues, I can activate the REPLICA (standby) one.

It's fine to run 2 DHCP servers.
Not an very usual setup, but certainly not forbidden.
However, DNS and DHCP in itself do not need fail-over that enables a replica when the origin fails.
DNS has its own way (as in: specify at least 2 DNS-addresses) and DHCPd uses Discovery/DORA-principle
Also: there is always (only) one origin and one (or more) AGH replica's.
It's a one-way sync; so even in the case (only) the replica becomes active, the origin=previous DHCPd will be in the dark anyway.

I use keepalived to move a certain IP between an active-passive setup.
That IP has certain services linked to it:

DNS (AdGuard Home)
stunnel
...
If the active node goes down, that IP goes to the passive node and handles services there.
However DHCP (also provided by AGH) cannot be linked to that IP, and uses the local IP of the node.
So I have a script that is triggered by keepalived, that can enable/disable DHCP from AGH (via REST API) on the corresponding node.
But like I said, the sync of the DHCP settings overwrites my DHCP-enabled setting on the REPLICA.
Having 2 DHCPs on the same LAN is not recommended, as both can hand out the same ip-adresses to different devices on the LAN, as they are not aware of eachother.
This leads to duplicate IP situations.

ok, np, will look for another solution then.

ok, np, will look for another solution then.

Oh well, a PR implementing your issue might get accepted ;)
Or if @bakito sees a fit to implement

Cool, many thanks!
Will test it asap and give some feedback here...

I just realize that I use the config file setup:
replica instance (optional, if only one)
replica:
url of the replica instance
url: http://x.x.x.x
apiPath: define an api path if other than "/control"
insecureSkipVerify: true # disable tls check
username: ***
password: ***
interfaceName: eth0
What you mention above is for the docker compose file, I assume?
How does this fit in my config file setup?
Just add "DHCPSERVERENABLED: false" under replica?
Thx!

Its dhcpServerEnabled under replica.

It works like a charm!
Many, many thanks for implementing this!

Yes, there will be a new release

released in https://github.com/bakito/adguardhome-sync/releases/tag/v0.4.13

released in https://github.com/bakito/adguardhome-sync/releases/tag/v0.4.13

i'm trying to disable dhcp activation but i'm not able, can you please tell me where to add     dhcpServerEnabled: false?
i've tried under replicas but got an error, under features does nothing
thanks in advance

Please check the readme.
features:
  ...
  dhcp:
    serverConfig: true
    staticLeases: true

dhcpServerEnabled: false

i did but im talking about the dhcpServerEnabled: false entry

there's an example in the test files: https://github.com/bakito/adguardhome-sync/blob/4a62b80e7514e2d28c78c84d9499ac2f7ebbfdf6/testdata/config_test_replica.yaml#L18

Sorry, my bad
Thanks
El mar, 2 abr 2024, 18:52, Marc Brugger @.***> escribió:

there's an example in the test files:
https://github.com/bakito/adguardhome-sync/blob/4a62b80e7514e2d28c78c84d9499ac2f7ebbfdf6/testdata/config_test_replica.yaml#L18
—
Reply to this email directly, view it on GitHub
https://github.com/bakito/adguardhome-sync/issues/155#issuecomment-2032568566,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALECS4VQ4CDP66KMUWDBMPTY3LO4XAVCNFSM6AAAAAAVPVR7TCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZSGU3DQNJWGY
.
You are receiving this because you commented.Message ID:
@.***>


Dynamics optimize metadata queries

This PR adds support for the RetrieveMetadataChanges request, that allows the creation of more efficient metadata queries.

Hey @carlos4ndre , thanks so much for making these additions and for adding specs. I'll give them a look over and get it merged it.

@carlos4ndre  Are you able to cut down the number of lines in spec/fixtures/retrieve_metadata_changes_response.xml ?  I see ~2000 lines were added.  I'd like to keep those files smaller so they're somewhat digestible.  I'm guessing need a 1/4 of the file to verify the functionality.

@jheth Absolutely, I'll do my best to make it smaller.


Broken highlighting after generic template string

From https://github.com/microsoft/vscode/issues/97179#issuecomment-625730290
TS and JS Grammar Extension version:  latest
Code
const ComponentContainer = f({})<Pick<null, "a">>`
`;

const bla = 1;

Bug

Here's another reproduction, though the problem is a bit different:


Make table fast again

Build storybook with production env for faster react, and fix a useCallback dependency so we aren't measuring things on scroll.

So pretty!


HHL example

Implements https://github.com/quantumlib/Cirq/issues/996
I wrote a different circuit from the paper since I had trouble understanding how the example circuit mapped to the different components of the algorithm described (for example the Phase Estimation part doesn't look like a conventional phase estimation circuit to me; please correct me if I'm wrong!), and I was able to just use 1 register qubit instead of 2. The results check out with the paper, and I hope the new circuit matches the intuition of the algorithm better, but please double check my circuit.

In the mean time @Strilanc or anyone else interested, could you take a look at my approach at measuring the observables? I'm not sure if it's the right way to go about it.

Really you should be using #1221 after it's done.

@kevinsung just want to clarify: the Displays introduced in your PR only operate on circuits directly? Then yeah I'd prefer to get observables from simulation results

I'm not sure what you mean by "operate on circuits directly". Displays are operations which you can add to your circuit. Ultimately you'll be able to compute their value using the Simulator, but that is a separate PR (see https://github.com/quantumlib/Cirq/pull/1215)

Regarding the Travis failure of pytest-and-incremental-coverage - are examples expected to be covered?

@verult  Please call this code on examples/examples_test.py to cover it.

Implemented HHL for arbitrary 2x2 Hermitian matrices. Unfortunately setting parameters C and t in the algorithm still feels somewhat magical, although the original paper doesn't describe a precise technique for setting them, either.
This implementation is now general enough that extending to matrices with arbitrary dimensions should be fairly straightforward, but I'd love to have a review for this base algorithm first.
Implementation for e^iAt relies on np.eig() at the moment. Once https://github.com/quantumlib/Cirq/pull/1299 merges I'll migrate to the new linear operators framework.

Addressed most comments. I'll do some more debugging before having a single test case to a different file. Came up with some basic test cases that are failing.

The implementation passed all my test cases. Addressed remaining comments with the exception of the one about boilerplate inverse code. Ready for full review

Some things about Cirq I noticed while debugging HHL:

I have a ton of gates with _decompose_(), and many layers of them. I wish there was a way to see a printed version of a particular HHL circuit, fully decomposed. That way I can quickly verify the generated circuit is correct. I understand "fully decomposed" could mean different things under different situations. To get around this problem, we could just have a way to specify the decomposition depth at which the printed circuit should represent for each gate. During debugging I could at least temporarily set the depth of decomposition. This suggestion applies to simlate_moment_steps() too.
A section in the docs on Debugging would be nice. I envision it as a list of tools available in Cirq that could be used for debugging. A case study of the debugging process would also be extremely helpful.
A way to assert certain statements about each moment (e.g. qubit A must be |0>, X observable of qubit B must be +1, etc) would've been helpful.  simulate_moment_steps() and Displays are already pretty good, but it takes the developer some extra time to scan through printouts and see exactly where things start to fail. Maybe an Assertion could be an Operation that can be appended in a circuit.

How should I get rid of the pylint error around branches of NotImplemented not being covered?

@verult  You need to implement cases in examples_test.py where NotImplemented is being called (calling pow(exponent) that is not -1 for example).

https://github.com/quantumlib/Cirq/pull/1407 is now merged, so you should be able to remove the inverting logic from your gates

removed inversion logic

Automerge cancelled: A status check is failing.


Windows uname -s might return different values

configure#L14 checks if the system is Windows, but doesn't check uname -s values correctly according to the wiki page.
Unless not supported, I think other Windows SDE's should be included in the check.

@drpngx could you please check if #6872 solves it

Yeah, I think that's fine. I'm not sure how far you can go with the build after that. The configuration that works is the cmake build.

I wonder if there is a Windows system with cygwin and uwin in the Jenkins, because if there are none, bugs will not be caught even if enabled in the configure

No, there isn't. We only check the cmake build.

Assigning to @drpngx since it seems that he's reviewing the PR
(Thanks @zafartahirov for the report and PR)

For windows, we currently do native compilation with cmake, (no cygwin).
Bazel setup for windows uses msys2, which is the closest thing we have to cygwin, but that also uses visual studio to compile TF.

Fix submitted for this particular check.


Create Invite link using Service Account or using Server-Server API

Hi,
In the context of creating Survey invitation link through Power Apps or via Logic App, the connector is using a Users Account. However if the Survey is to be sent for an Enterprise App like CRM or ERP based on some trigger, we would require the survey link to be created using Service Account or using an registered App. This will avoid survey to be dependent on a particular admin user account.
Any thoughts on how this could be done !
Regards,
Ganesh

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

ID: c55424c6-2155-d07c-af91-a0d1d07b479f
Version Independent ID: dc01a248-e598-044c-6b10-bc321dfd1e9e
Content: Connect Dynamics 365 Customer Voice with your environment
Content Source: cv-docs/connect-environment.md
Service: dynamics-365-customervoice
GitHub Login: @sbmjais
Microsoft Alias: shjais

Thanks for contacting us. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, consider one of the options described here: https://docs.microsoft.com/dynamics365/get-started/support/
Closing this issue.


vim-plug causes concealed entities to be revealed in tex files

:syn match Entity 'e' conceal
:set cole=3

causes all 'e's to be concealed. but this does not work if the filename is *.tex and vim-plug is active. minimal .vimrc:
call plug#begin()
call plug#end()

That's because vim-plug enables filetype plugins in plug#end() (filetype plugin indent on), and you can turn it off by adding filetype off after the line, though I don't think you should. See :help tex-conceal for more info.


Vanilla checkout as described in README does not work on Windows

When using the project from another crate like so:
[dependencies]
rustpython = { git="https://github.com/RustPython/RustPython", features = ["freeze-stdlib"] }

it compiles on Windows as expected. However, when following the instructions from the README I get:
❯ git clone https://github.com/RustPython/RustPython/
Cloning into 'RustPython'...
remote: Enumerating objects: 60281, done.
remote: Counting objects: 100% (3247/3247), done.
remote: Compressing objects: 100% (1325/1325), done.
remote: Total 60281 (delta 2299), reused 2742 (delta 1910), pack-reused 57034
Receiving objects: 100% (60281/60281), 41.83 MiB | 7.18 MiB/s, done.
Resolving deltas: 100% (47125/47125), done.

❯ cd RustPython

❯ cargo run --release demo.py
[...]
Compiling rustpython-compiler-core v0.1.2 (D:\Development\Source\_thirdparty\RustPython\compiler)
Compiling rustpython-compiler v0.1.2 (D:\Development\Source\_thirdparty\RustPython\compiler\porcelain)
Compiling rustpython-derive v0.1.2 (D:\Development\Source\_thirdparty\RustPython\derive)
Compiling rustpython v0.1.2 (D:\Development\Source\_thirdparty\RustPython)
Finished release [optimized] target(s) in 1m 40s
Running `target\release\rustpython.exe demo.py`
Error in sys.excepthook:
lost sys.stderr
RuntimeError: lost sys.stderr
Original exception was:
lost sys.stderr
ModuleNotFoundError: No module named 'encodings'

The above exception was the direct cause of the following exception:

RuntimeError: Could not import encodings. Is your RUSTPYTHONPATH set? If you don't have access to a consistent external environment (e.g. if you're embedding rustpython in another application), try enabling the freeze-stdlib feature
thread 'main' panicked at 'initializiation failed; exception backtrace above', vm\src\vm.rs:796:13
stack backtrace:
   0:     0x7ff6c26258ee - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff6c26258ee - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6c26258ee - std::sys_common::backtrace::_print_fmt
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\sys_common\backtrace.rs:67
   3:     0x7ff6c26258ee - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\sys_common\backtrace.rs:46
   4:     0x7ff6c263fa9c - core::fmt::write
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\core\src\fmt\mod.rs:1092
   5:     0x7ff6c261f6e8 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\io\mod.rs:1572
   6:     0x7ff6c262866d - std::sys_common::backtrace::_print
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\sys_common\backtrace.rs:49
   7:     0x7ff6c262866d - std::sys_common::backtrace::print
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\sys_common\backtrace.rs:36
   8:     0x7ff6c262866d - std::panicking::default_hook::{{closure}}
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:208
   9:     0x7ff6c2628139 - std::panicking::default_hook
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:225
  10:     0x7ff6c2628d13 - std::panicking::rust_panic_with_hook
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:591
  11:     0x7ff6c26288c1 - std::panicking::begin_panic_handler::{{closure}}
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:497
  12:     0x7ff6c262620f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\sys_common\backtrace.rs:141
  13:     0x7ff6c2628819 - std::panicking::begin_panic_handler
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:493
  14:     0x7ff6c265de4c - std::panicking::begin_panic_fmt
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:435
  15:     0x7ff6c1eab29d - rustpython_vm::vm::VirtualMachine::_py_panic_failed::hf482eedd9c2df4a8
  16:     0x7ff6c1eab399 - rustpython_vm::vm::VirtualMachine::_py_panic_failed::hf482eedd9c2df4a8
  17:     0x7ff6c1ea64a0 - rustpython_vm::vm::VirtualMachine::initialize::h3c1b010e8fcf5460
  18:     0x7ff6c1c384f4 - rustpython::run::h1589eca2ee14c07a
  19:     0x7ff6c1c32c29 - core::ptr::drop_in_place<rustpython_vm::pyobject::PyLease<rustpython_vm::builtins::pytype::PyType>>::h60119f3c6a2b5bd3
  20:     0x7ff6c1c31c66 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4fa136964e9a80d8
  21:     0x7ff6c1c32c6c - std::rt::lang_start::{{closure}}::h40e656a3d375a977
  22:     0x7ff6c2628ff7 - core::ops::function::impls::{{impl}}::call_once
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\library\core\src\ops\function.rs:280
  23:     0x7ff6c2628ff7 - std::panicking::try::do_call
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:379
  24:     0x7ff6c2628ff7 - std::panicking::try
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panicking.rs:343
  25:     0x7ff6c2628ff7 - std::panic::catch_unwind
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\panic.rs:431
  26:     0x7ff6c2628ff7 - std::rt::lang_start_internal
                               at /rustc/9bc8c42bb2f19e745a63f3445f1ac248fb015e53\/library\std\src\rt.rs:51
  27:     0x7ff6c1c32c57 - main
  28:     0x7ff6c264ef2c - invoke_main
                               at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  29:     0x7ff6c264ef2c - __scrt_common_main_seh
                               at d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  30:     0x7ff8b7727034 - BaseThreadInitThunk
  31:     0x7ff8b78c2651 - RtlUserThreadStart
error: process didn't exit successfully: `target\release\rustpython.exe demo.py` (exit code: 101)

Using:
rustc 1.52.1 (9bc8c42bb 2021-05-09)
binary: rustc
commit-hash: 9bc8c42bb2f19e745a63f3445f1ac248fb015e53
commit-date: 2021-05-09
host: x86_64-pc-windows-msvc
release: 1.52.1
LLVM version: 12.0.0

I've got same error using rustc 1.53.0, cargo 1.53.0 on windows 10 wsl(ubuntu 20.04.) Did you solve this issue? ☹

Before running cargo run, I changed symlinks to hardlinks referred to #1624.

sol@DESKTOP-A0TKBK4:/mnt/d/RustPython$ cargo run --release
    Finished release [optimized] target(s) in 0.70s
     Running `target/release/rustpython`
thread 'main' panicked at 'initializiation failed; run with RUST_BACKTRACE=1 to see Python backtrace', vm/src/vm.rs:800:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

thanks for answering!

Try set RUSTPYTHONPATH to your_rustpython_path\RustPython\Lib. It works on my Windows.

@oroppas do you mean set RUSTPYTHON as environment variable in Window? what is RUSTPYTHON? I'm beginner of this project..

@whgusdn321 RUSTPYTHONPATH is an environment variable.
On my windows computer, I did set RUSTPYTHONPATH=C:\msys64\home\ryuta\packages\rustpython\rustpython\Lib
C:\msys64\home\ryuta\packages\rustpython\rustpython>cargo run --release
warning: unused imports: `handleapi`, `winbase`
    --> vm\src\stdlib\os.rs:3276:26
     |
3276 |         use winapi::um::{handleapi, winbase};
     |                          ^^^^^^^^^  ^^^^^^^
     |
     = note: `#[warn(unused_imports)]` on by default

warning: 1 warning emitted

    Finished release [optimized] target(s) in 1.32s
     Running `target\release\rustpython.exe`
Welcome to the magnificent Rust Python 0.1.2 interpreter 😱 🖖

@whgusdn321 RUSTPYTHONPATH is an environment variable.
On my windows computer, I did set RUSTPYTHONPATH=C:\msys64\home\ryuta\packages\rustpython\rustpython\Lib
C:\msys64\home\ryuta\packages\rustpython\rustpython>cargo run --release
warning: unused imports: `handleapi`, `winbase`
    --> vm\src\stdlib\os.rs:3276:26
     |
3276 |         use winapi::um::{handleapi, winbase};
     |                          ^^^^^^^^^  ^^^^^^^
     |
     = note: `#[warn(unused_imports)]` on by default

warning: 1 warning emitted

    Finished release [optimized] target(s) in 1.32s
     Running `target\release\rustpython.exe`
Welcome to the magnificent Rust Python 0.1.2 interpreter 😱 🖖

thanks a lot! it worked for me also!!

Sort-of worked for me on 2023-08-13. Rustc: 1.70. OS: W10.
After I set RUSTPYTHONPATH I then got:

D:\git_repos\RustPython>cargo run --release demo_closures.py
Finished release [optimized] target(s) in 0.33s
Running target\release\rustpython.exe demo_closures.py
11
12

... nothing like "Hello, RustPython!" as expected.  This is a bit of a shame.
And then:

D:\git_repos\RustPython>cargo run --release
Finished release [optimized] target(s) in 0.31s
Running target\release\rustpython.exe
Welcome to the magnificent Rust Python 0.2.0 interpreter 😱 🖖

Wouldn't it be easy enough to just edit the "intro" page? i.e. drop the thing about "demo_closures.py"?


fix: return 500 error when an uncaught error occurs in async handler

hi,
we've had problems with using this, because you forgot to reply(...) with the error so methods were left hanging and timing out ... this fixes that issue

pushed, @ide take a look again

Great, thank you @zaggino =)

No worries, ping me when you publish this to the npm please :)

Published as 1.0.1

:+1:


Updated the logos at the bottom of the README with actual images.

After struggling with GitHub, binary files, and browser caching; I finally was able to add the logos back to the bottom of the pyftpdlib README.

Wow! Thanks a lot man!


Combining templated and conditional variables

What is the correct syntax to combine variables used in templates and variables conditionally included by template expansion?
variables:
- template: variables.yml
  ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
    clean: true

shows an "Unexpected property" on the condition in vscode. If I indent the template line I get "bad indentation of a mapping entry" for the same line.

This worked for me:
// pipeline.yml
variables:
  - variables.yml

// variables.yml
variables:
  cacheDir: $HOME

  ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
    clean: true


add content at end of control

Hi,
I want to add content at the end of a form control. eg another hidden input. I can use the help option but then it will be inside the small container. Is there another option I am overlooking?

hi any reply on this I am trying to figure out how this plugin works but have hard time fixing it..
$templates = [
'inputGroupContainer' =>'
{{prepend}}{{content}}{{append}}{{extra}}',
'extra' => '{{content}}',
];
I am using this but with no luck all that happen is the extra
echo $this->Form->control('name', ['label' => 'Name', 'extra' => 'how are you doing?' , 'templates' => $templates]);
expected result:
 how are you doing?
actual

Can tell me what I am doing wrong here?
greets,
Thomas

You cannot add custom templates like that, the underlying string template functionality provided by CakePHP doesn't support that. What you can do however is adding template variables:
$this->Form->setTemplates([
    'inputContainer' =>
        '
{{content}}{{help}}{{extra}}
',

    'inputContainerError' =>
        '
' .
                '{{content}}{{error}}{{help}}{{extra}}
',
]);

// ...

echo $this->Form->control('name', [
    'label' => 'Name',
    'templateVars' => [
        'extra' => 'how are you doing?'
    ],
]);

https://book.cakephp.org/4/en/views/helpers/form.html#customizing-the-templates-formhelper-uses
https://book.cakephp.org/4/en/views/helpers/form.html#adding-additional-template-variables-to-templates

thanks, will take a look at that


EFS not connected in docker

When I run this script in cloud formation, the efs system mounts to the instance. However, the docker container itself does not seem to be linked with the instance efs.
Have you run into this problem?

Could be a little too late but I think you should take a look at this issue on ECS agent
https://github.com/aws/amazon-ecs-agent/issues/62

I guess no one from AWS cares to reply to issues on here 👎   :-(

Hey guys, seems having the same issue with ECS and EFS. Does it still require dumb solution with ecs/docker restart in the end of docker host initialization?
More than 1 year has passed, I would expect more elegant solution for that problem...


Forced reconnect when no messages received

Describe The Bug:
It has been observed that every minute the forced reconnect mechanism is being triggered because it has not seen a message within the last hour.
To Reproduce:
Perhaps that’s because no message has been received in the last minute since it started?
Expected behavior:
I would expect that it would take an hour from the last reconnect before it forced reconnection to occur.
Logs:
Show the Homebridge logs here, remove any sensitive information.

Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.

Environment:

Plugin Version: 1.3.0-rc1
Homebridge Version: 1.5.0
Node.js Version:
NPM Version:
Operating System: Docker

The likely cause is a reconnect sets when the stream was started, but is not resetting when the last event was received.
This behavior is causing the stream to reconnect on next health check.


⚠ Bofrost.at has degraded performance

In 195746c, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 955 ms

Resolved: Bofrost.at performance has improved in 0e11a02.


Cannot use '\n' the line feed as a Segment seperator

Some times \n the line feed is used as the special character for Segment Termination. This is considered as whitespace throughout the EdiTextReader. First mentioned #19

since release v1.8.1 there is now support for this.
You can change the control characters like so
var grammar = EdiGrammar.NewEdiFact();
grammar.SetAdvice(segmentNameDelimiter: '+',
                      dataElementSeparator: '+',
                      componentDataElementSeparator: ':',
                      segmentTerminator: '\n',
                      releaseCharacter: '?',
                      reserved: ' ',
                      decimalMark: '.');


Backend API Changes for CFR & LDD clock (#679,684,685)

Provide all state transition as audit for calculation of hold days.
DOD

[x] Service to expose all state changes of ministry request
[ ] Unit Testing

GET http://localhost:15000/api/foiaudit/ministryrequest/1/status/summary
Response:
{
"audit": {
"audit": [
{
"createdat": "2021-11-01",
"requeststatusid": 2
},
{
"createdat": "2021-11-01",
"requeststatusid": 1
}
],
"foirequestid": 1
}
}

GET  http://localhost:15000/api/foirequests/1/ministryrequest/1
Response:
{"additionalPersonalInfo":{"alsoKnownAs":null,"birthDate":""},"address":"4801","addressSecondary":"Cordova Bay Rd","assignedGroup":"Flex Team","assignedTo":"foiflex@idir","assignedministrygroup":null,"assignedministryperson":null,"businessName":"Business","category":"Individual","categoryid":2,"city":"Victoria","country":"Canada","currentState":"Open","deliveryMode":"Secure File Transfer","deliverymodeid":1,"description":"test-2ik","divisions":[],"documents":[],"dueDate":"2022-01-04","email":"sumathi.thirumani@gmail.com","firstName":"Sumathi","fromDate":"","id":1,"idNumber":"EDUC-2021-12649","lastName":"Thirumani","lastStatusUpdateDate":"2021-11-03","middleName":null,"phonePrimary":"7787009903","postal":"V8Y 2J","programareaid":6,"province":"BC","receivedDate":"2021 Nov, 01","receivedDateUF":"2021-11-01 00:00:00.000000","receivedMode":"Email","receivedmodeid":1,"requestProcessStart":"2021-11-22","requestType":"general","requeststatusid":1,"selectedMinistries":[{"code":"EDUC","name":"Ministry of Education","selected":"true"}],"statetransition":[{"createdat":"2021-11-03","requeststatusid":1}],"toDate":""}


[BUG] java.lang.RuntimeException: BinaryExpressions must override either eval or nullSafeEval

What is your question?
I'm running into the following exception and I'm wondering whether this is an indication of an unsupported binary expression type (I'm running rapids-4-spark v0.2.0) or whether this is a potential indication of a bug:
Py4JJavaError: An error occurred while calling o29050.checkpoint.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 8 in stage 1630.0 failed 4 times, most recent failure: Lost task 8.3 in stage 1630.0 (TID 331268, <IP_ADDRESS>, executor 6): java.lang.RuntimeException: BinaryExpressions must override either eval or nullSafeEval
	at scala.sys.package$.error(package.scala:30)
	at org.apache.spark.sql.catalyst.expressions.BinaryExpression.nullSafeEval(Expression.scala:621)
	at com.nvidia.spark.rapids.CudfBinaryOperator.com$nvidia$spark$rapids$GpuBinaryExpression$$super$nullSafeEval(GpuExpressions.scala:236)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval(GpuExpressions.scala:187)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval$(GpuExpressions.scala:164)
	at com.nvidia.spark.rapids.CudfBinaryOperator.columnarEval(GpuExpressions.scala:236)
	at com.nvidia.spark.rapids.RapidsPluginImplicits$ReallyAGpuExpression.columnarEval(implicits.scala:35)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval(GpuExpressions.scala:169)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval$(GpuExpressions.scala:164)
	at com.nvidia.spark.rapids.CudfBinaryOperator.columnarEval(GpuExpressions.scala:236)
	at com.nvidia.spark.rapids.RapidsPluginImplicits$ReallyAGpuExpression.columnarEval(implicits.scala:35)
	at com.nvidia.spark.rapids.GpuFilter$.apply(basicPhysicalOperators.scala:119)
	at com.nvidia.spark.rapids.GpuFilter$.$anonfun$apply$1(basicPhysicalOperators.scala:105)
	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
	at com.nvidia.spark.rapids.GpuFilter$.withResource(basicPhysicalOperators.scala:97)
	at com.nvidia.spark.rapids.GpuFilter$.apply(basicPhysicalOperators.scala:104)
	at com.nvidia.spark.rapids.GpuFilterExec.$anonfun$doExecuteColumnar$2(basicPhysicalOperators.scala:176)
	at scala.collection.Iterator$$anon$10.next(Iterator.scala:459)
	at com.nvidia.spark.rapids.RemoveEmptyBatchIterator.hasNext(GpuCoalesceBatches.scala:126)
	at com.nvidia.spark.rapids.AbstractGpuCoalesceIterator.hasNext(GpuCoalesceBatches.scala:186)
	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
	at org.apache.spark.sql.rapids.execution.GpuShuffleExchangeExec$$anon$1.partNextBatch(GpuShuffleExchangeExec.scala:189)
	at org.apache.spark.sql.rapids.execution.GpuShuffleExchangeExec$$anon$1.hasNext(GpuShuffleExchangeExec.scala:206)
	at org.apache.spark.shuffle.sort.UnsafeShuffleWriter.write(UnsafeShuffleWriter.java:177)
	at org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59)
	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:52)
	at org.apache.spark.scheduler.Task.doRunTask(Task.scala:144)
	at org.apache.spark.scheduler.Task.run(Task.scala:117)
	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$9(Executor.scala:639)
	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1559)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:642)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Driver stacktrace:
	at org.apache.spark.scheduler.DAGScheduler.failJobAndIndependentStages(DAGScheduler.scala:2478)
	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2(DAGScheduler.scala:2427)
	at org.apache.spark.scheduler.DAGScheduler.$anonfun$abortStage$2$adapted(DAGScheduler.scala:2426)
	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
	at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:2426)
	at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1(DAGScheduler.scala:1131)
	at org.apache.spark.scheduler.DAGScheduler.$anonfun$handleTaskSetFailed$1$adapted(DAGScheduler.scala:1131)
	at scala.Option.foreach(Option.scala:407)
	at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:1131)
	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:2678)
	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2625)
	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2613)
	at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:49)
	at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:917)
	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2307)
	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2328)
	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2347)
	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2372)
	at org.apache.spark.rdd.RDD.count(RDD.scala:1234)
	at org.apache.spark.sql.Dataset.$anonfun$checkpoint$1(Dataset.scala:700)
	at org.apache.spark.sql.Dataset.$anonfun$withAction$1(Dataset.scala:3682)
	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withCustomExecutionEnv$5(SQLExecution.scala:115)
	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:247)
	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withCustomExecutionEnv$1(SQLExecution.scala:100)
	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:828)
	at org.apache.spark.sql.execution.SQLExecution$.withCustomExecutionEnv(SQLExecution.scala:76)
	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:197)
	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3680)
	at org.apache.spark.sql.Dataset.checkpoint(Dataset.scala:691)
	at org.apache.spark.sql.Dataset.checkpoint(Dataset.scala:654)
	at sun.reflect.GeneratedMethodAccessor608.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
	at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:380)
	at py4j.Gateway.invoke(Gateway.java:295)
	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
	at py4j.commands.CallCommand.execute(CallCommand.java:79)
	at py4j.GatewayConnection.run(GatewayConnection.java:251)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: BinaryExpressions must override either eval or nullSafeEval
	at scala.sys.package$.error(package.scala:30)
	at org.apache.spark.sql.catalyst.expressions.BinaryExpression.nullSafeEval(Expression.scala:621)
	at com.nvidia.spark.rapids.CudfBinaryOperator.com$nvidia$spark$rapids$GpuBinaryExpression$$super$nullSafeEval(GpuExpressions.scala:236)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval(GpuExpressions.scala:187)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval$(GpuExpressions.scala:164)
	at com.nvidia.spark.rapids.CudfBinaryOperator.columnarEval(GpuExpressions.scala:236)
	at com.nvidia.spark.rapids.RapidsPluginImplicits$ReallyAGpuExpression.columnarEval(implicits.scala:35)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval(GpuExpressions.scala:169)
	at com.nvidia.spark.rapids.GpuBinaryExpression.columnarEval$(GpuExpressions.scala:164)
	at com.nvidia.spark.rapids.CudfBinaryOperator.columnarEval(GpuExpressions.scala:236)
	at com.nvidia.spark.rapids.RapidsPluginImplicits$ReallyAGpuExpression.columnarEval(implicits.scala:35)
	at com.nvidia.spark.rapids.GpuFilter$.apply(basicPhysicalOperators.scala:119)
	at com.nvidia.spark.rapids.GpuFilter$.$anonfun$apply$1(basicPhysicalOperators.scala:105)
	at com.nvidia.spark.rapids.Arm.withResource(Arm.scala:28)
	at com.nvidia.spark.rapids.Arm.withResource$(Arm.scala:26)
	at com.nvidia.spark.rapids.GpuFilter$.withResource(basicPhysicalOperators.scala:97)
	at com.nvidia.spark.rapids.GpuFilter$.apply(basicPhysicalOperators.scala:104)
	at com.nvidia.spark.rapids.GpuFilterExec.$anonfun$doExecuteColumnar$2(basicPhysicalOperators.scala:176)
	at scala.collection.Iterator$$anon$10.next(Iterator.scala:459)
	at com.nvidia.spark.rapids.RemoveEmptyBatchIterator.hasNext(GpuCoalesceBatches.scala:126)
	at com.nvidia.spark.rapids.AbstractGpuCoalesceIterator.hasNext(GpuCoalesceBatches.scala:186)
	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:458)
	at org.apache.spark.sql.rapids.execution.GpuShuffleExchangeExec$$anon$1.partNextBatch(GpuShuffleExchangeExec.scala:189)
	at org.apache.spark.sql.rapids.execution.GpuShuffleExchangeExec$$anon$1.hasNext(GpuShuffleExchangeExec.scala:206)
	at org.apache.spark.shuffle.sort.UnsafeShuffleWriter.write(UnsafeShuffleWriter.java:177)
	at org.apache.spark.shuffle.ShuffleWriteProcessor.write(ShuffleWriteProcessor.scala:59)
	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:52)
	at org.apache.spark.scheduler.Task.doRunTask(Task.scala:144)
	at org.apache.spark.scheduler.Task.run(Task.scala:117)
	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$9(Executor.scala:639)
	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1559)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:642)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	... 1 more

Unfortunately I wasn't able to identify what concrete binary expression this is referring to since the failing stage/plan includes many different binary expressions.
Environment Details

Azure Databricks 7.0 with Databricks Container Services base image based on nvidia/cuda:10.2-cudnn7-runtime-ubuntu18.04
rapids-4-spark v0.2.0 with cudf-0.15-cuda10-2 (CUDA 10.2)

Spark Rapids configuration settings
"spark.plugins": "com.nvidia.spark.SQLPlugin",
"spark.sql.parquet.filterPushdown": "false",
"spark.rapids.sql.incompatibleOps.enabled": "true",
"spark.rapids.memory.pinnedPool.size": "2G",
"spark.task.resource.gpu.amount": 0.1,
"spark.rapids.sql.concurrentGpuTasks": 2,
"spark.locality.wait": "0s",
"spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version": 2,
"spark.kryo.registrator": "com.nvidia.spark.rapids.GpuKryoRegistrator"

Wow, that is a bug in our code and something that we didn't ever expect to see happen. Typically in spark all binary expressions are foldable if the two inputs are scalar values, and then as a part of query planning they get replaced by a single scalar value.  In this case it looks like it didn't happen.  Can you share more of your query with us so that we can try and reproduce this failure?  All I can tell from the stack trace is that your are in the middle of a Filter with a GpuBinaryExpression in the filter by clause.

It looks like the source of the issue is the following pyspark expression:
factor_expr = F.when(
  (F.col('cf') == 1) & (F.col('rt') > 0),
  F.least(F.greatest(F.col('rt') - F.col('aapd'), F.lit(0.0)), F.col('aapl')) / F.col('rt')
).otherwise(F.lit(1.0))

df \
  .withColumn('factor', factor_expr) \
  .withColumn('result', F.col('factor') * F.col('value'))

I'm pretty sure we've used every single one of those binary expressions/operators in other places where they didn't cause any issues.

@martinstuder But none of those operations will result in a filter happening.  You are adding columns to a data frame not dropping any rows.  Does your query have a join, na, dropna or filter in it?  If you could send the result of an explain that would be really helpful.  If you cannot post it publicly I am happy to see if we can look at the plan offline somehow.

@revans2  I was stripping down the pyspark expression too much. Yes, there is a join:
factor_expr = F.when(
  (F.col('cf') == 1) & (F.col('rt') > 0),
  F.least(F.greatest(F.col('rt') - F.col('aapd'), F.lit(0.0)), F.col('aapl')) / F.col('rt')
).otherwise(F.lit(1.0))

df \
  .withColumn('rt', F.sum('value').over(window)) \
  .join(F.broadcast(programs), on='program_id') \
  .withColumn('factor', factor_expr) \
  .withColumn('result', F.col('factor') * F.col('value')) \
  .select(...) \
  .persist() \
  .checkpoint()

Attached is the failing SQL query plan as shown in the Spark UI (with obfuscated variable names; I hope you don't mind).
failing_plan.txt

That is really odd.  The plan you posted has no GpuFilter in it, but the stack trace does. The stack trace clearly shows a shuffle writer is asking the GpuFilter for more data and the GpuFilter is blowing up.
@tgravescs Is it possible that the checkpoint is hiding part of the plan?

this code all looks like its before the checkpoint and the plan shows all the other operators so I wouldn't think it would just be hiding a Filter. But I haven't looked much at checkpoint on data frames.
Is this perhaps a filter that happens in df before this code?

Ya that is all I could think of is that there is something happening where it goes to an RDD and then back to a data frame again.

I found a few places in the code where we might actually hit this. So I will update the code to never call eval or nullSafeEval and instead force us to deal with this situation.

So I was able to reproduce something similar using coalesce.
spark.range(1, 100).selectExpr("4 + coalesce(5, id)").collect

I am not 100% sure that this is what happened in your case, but I suspect it was something similar.  Binary, unary, and trinary operators did not handle this properly.  Binary and trinary would try to call into nullSafeEval, which is the error from the stack trace.  unary operators just threw an exception.  We eventually need to check all GpuExpressions to be sure that they do the right thing when they get one of these, but I will file a follow on issue to make sure we do the right thing in all of those cases.


Roll engine 62b51ae39875..dd65a8884ee6 (1 commits)

https://github.com/flutter/engine/compare/62b51ae39875...dd65a8884ee6
git log 62b51ae3987571b270391ed8030186279cc373f1..dd65a8884ee6c35313f2cafd6641e7fe4b127431 --no-merges --oneline
dd65a8884 Roll src/third_party/dart ea9b0cd0f5..57c970d87a (5 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Merge to main

Codecov Report

Merging #390 (a43002a) into main (cc21c62) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #390   +/-   ##
=======================================
  Coverage   63.78%   63.78%
=======================================
  Files           8        8
  Lines        1193     1193
  Branches      223      223
=======================================
  Hits          761      761
  Misses        345      345
  Partials       87       87

Flag
Coverage Δ

unittests
63.78% <ø> (ø)

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

Continue to review full report at Codecov.

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


Update README.md

Very confusing! What are you talking about?

I know this is not the place to say that. But I have no choice. I'm getting Tailwind SPAM in my email from time to time, so please stop whoever is in charge.

Can you show me an example? Haven't sent any Tailwind related email since October or November. What's are the emails like and what is the "from" address?

I delete all of them automatically, I'll post them next time if happens again.

Maybe he's watching the repo and getting emails for every new issue and post on those?

@hacknug no, it's actual marketing SPAM.


Adds reply listing API

The API allows people to

Search for existing replies using keywords
List user's own written replies
Filter for certain type of replies

Coverage increased (+0.2%) to 86.056% when pulling 0c64eb6e42eeb834f3ab8da8b6b12205e5127143 on features/list-reply into 50e4a9cbc53af7bb01600dcc0695b0b07912b564 on master.


Open link without closing reference

This code is the only way I've been able to open a bookmark link, but I have to close the current browser, then reopen:
.addEventListener('bookmarkPressed', function(e) {
ref.close();
cordova.ThemeableBrowser.open('https://google.com', '_blank');
})
Is there a better way to just open the link in the current window (I've tried _self, no luck)

This involves navigate the browser pragmatically. It could be a worthwhile enhancement. As always, PR is welcomed.


How to manually add to a project?

Hi,
I would like to use this in Swift Playgrounds? I was thinking that the best way to do this was copy and paste the source files, but I'm not sure which ones to copy and to where?
Thanks

Hi there, Aiyush! If you're working on a Playgrounds App, you can add SlideOverCard as a dependency IIRC. If not, you can just copy all of the files over to your project. Ideally, you should keep them in a separate folder if possible!


ViZDoom & SafetyGym Performance

Not really an issue with anything in the code, but I was curious if you plan to upload your code for the ViZDoom and SafetyGym tests that you did in the paper with SPTM and ConSPTM. I'd love to take a look at these!
Awesome work by the way

Glad you enjoyed the work! At the moment, we don't have plans to officially support the ViZDoom and SafetyGym environments.


777 TOKEN  (777)

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[ ] Filename in the lowercase format
[ ] Image format: png
[ ] Image size: 256 by 256 px

Images already added


Improve plugin.yml documentation

Add contributors field
Add default value of load
Fix format of commands/permissions/children sections. Those need to be config sections, not map lists.
Mention that permission default values that are not specified will default to the value of default-permission (which defaults to op)
Add default-permission field
Add provides field

Tbh. it's a bit questionable if this should be documented and maintained again on a separate page seeing as the JavaDocs already provide a pretty good overview. Maybe that could be auto-generated at some point in the future?

I think it's fine to have it laid out more with details and explanations on top of the quick (and ugly) jd pages; though it might make sense to also link to that table, like "If you only want a quick overview of the field names, you can also check the javadoc here" at the top

I see no reason to leave out docs like this, seems fine to me.


badrequest, error: data values must be of type string

Describe the bug
We had flux1 set up with 8 separate gitlab repos supporting 8 different kubernetes clusters.
About a month ago we started migrating to flux2 as the idea of them all sharing base code and just kustomizing the necessary parts was great (when we started we only had 2 clusters and this was far more manageable but it's grown)
This all went really well until we moved one cluster and for some reason this seems to have a problem with all secrets, the error message is in title but an example is
Secret/kubernetes-dashboard/kubernetes-dashboard-csrf badrequest, error: data values must be of type string...

We haven't touched this secret as it is just part of the original yaml for installing kubernetes-dashboard. The strange thing is it works on all the other 7 clusters sharing exactly the same code!?!
This is the flux version all clusters started out on
flux: v0.21.1
helm-controller: v0.12.1
kustomize-controller: v0.16.0
notification-controller: v0.18.1
source-controller: v0.17.2

and kubernetes version v1.21.1
I have been trying to debug for the last week and in doing so I upgraded the problem cluster to
flux: v0.23.0
helm-controller: v0.13.0
kustomize-controller: v0.18.0
notification-controller: v0.18.1
source-controller: v0.18.0

Didn't change anything so I also upgraded kubernetes to v1.22.3
Still didn't help
I have run out of ideas... nearly forgot to mention the important part which is of course I tried putting quotes round the data values, and when that didn't work the keys as well but it didn't make slightest bit of difference
An example of one secret that is fine in all 7 other clusters but not this one is...
apiVersion: v1
kind: Secret
type: Opaque
metadata:
  name: cert-manager-vault-approle
  namespace: cert-manager
data:
  secretId: "base64encodedstring"

Even without the quotes around the base64encodedstring all of the others work fine.
This secret doesn't already exist in the problem cluster as I deleted it to make sure it wasn't a problem with existing values.
Please help, I really don't want to revert to flux1 for this one cluster but I've run out of ideas for things to try
Steps to reproduce
Can't tell you how to reproduce as like I said we have done the same for 8 clusters and only 1 is problem. It is also worth noting that apart from the different client sites that they host, this cluster has been configured identically to one of the other working clusters all the way through.
To bootstrap we ran
sudo GITLAB_TOKEN=our-token /usr/local/bin/flux bootstrap gitlab \
  --namespace=flux-system \
  --hostname=gitlab.selfhosted.com \
  --owner=admin \
  --repository=flux-system \
  --path=clusters/dev \
  --branch=main \
  --token-auth

Expected behavior
That it should work the same as the others
Screenshots and recordings
No response
OS / Distro
Centos Stream 8
Flux version
N/A
Flux check
► checking prerequisites
✔ Kubernetes 1.22.3 >=1.19.0-0
► checking controllers
✔ helm-controller: deployment ready
► ghcr.io/fluxcd/helm-controller:v0.13.0
✔ kustomize-controller: deployment ready
► ghcr.io/fluxcd/kustomize-controller:v0.18.0
✔ notification-controller: deployment ready
► ghcr.io/fluxcd/notification-controller:v0.18.1
✔ source-controller: deployment ready
► ghcr.io/fluxcd/source-controller:v0.18.0
✔ all checks passed
Git provider
GitLab self hosted
Container Registry provider
No response
Additional context
No response
Code of Conduct

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

@zoomoid have you update your manifests to kustomize.toolkit.fluxcd.io/v1beta2? It may be that v1beta1 had a bug, and when you recreated the Kustomization with v1beta2 it worked.

Thanks @zoomoid do you mean delete all files that have ever been linked to flux2?
I tried uninstalling flux which deleted the namespace flux-system so got rid of all kustomizations then I removed the files for this cluster from the git repo in 'clusters' and bootstrapped it again. I added back infrastructure which was one that didn't have a problem before and this was fine.
I then added back one of the one's that did have a problem with a secret and got the same error. I deleted the namespace for this one and although flux recreated the namespace it still gave the same error for the secret.
I then updated it to kustomize.toolkit.fluxcd.io/v1beta2 but that didn't make difference either.
I've added the secret back manually for now (kubectl apply --server-side -f) and commented it out from the kustomization just so flux would recreate the pods in this namespace.

I have rerun the command
kubectl apply --server-side -k kubernetes-dashboard

after removing the istio gateway and virtual service from the kustomization and this still produced the conflicts but without the last istio error, maybe because it was initially installed with flux1?
I then ran it with --force-conflicts and it worked fine
{sarah@titanium}$ kubectl apply --server-side -k kubernetes-dashboard --force-conflicts
namespace/kubernetes-dashboard serverside-applied
serviceaccount/k8s-dashboard-admin serverside-applied
serviceaccount/kubernetes-dashboard serverside-applied
role.rbac.authorization.k8s.io/kubernetes-dashboard serverside-applied
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard serverside-applied
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard serverside-applied
clusterrolebinding.rbac.authorization.k8s.io/k8s-dashboard-admin serverside-applied
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard serverside-applied
configmap/kubernetes-dashboard-settings serverside-applied
secret/kubernetes-dashboard-csrf serverside-applied
secret/kubernetes-dashboard-key-holder serverside-applied
service/dashboard-metrics-scraper serverside-applied
service/kubernetes-dashboard serverside-applied
deployment.apps/dashboard-metrics-scraper serverside-applied
deployment.apps/kubernetes-dashboard serverside-applied

Flux is still showing error for csrf secret though. This is what the secret contains
apiVersion: v1
kind: Secret
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-csrf
  namespace: kubernetes-dashboard
type: Opaque
data:
  csrf: ""

The value of csrf key is an empty string?

Yeah I believe this is because kubernetes-dashboard updates this itself as when I looked on the other clusters it's not empty, guess this means it shouldn't be in flux in the first place but we've never had problem before.
Part of the role config that comes with the standard kubernetes-dashboard.yaml
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
rules:
  # Allow Dashboard to get, update and delete Dashboard exclusive secrets.
  - apiGroups: [""]
    resources: ["secrets"]
    resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]

@zoomoid have you update your manifests to kustomize.toolkit.fluxcd.io/v1beta2? It may be that v1beta1 had a bug, and when you recreated the Kustomization with v1beta2 it worked.

we upgraded all kustomizations to v1beta2 following the upgrade path. Also, we took an intermediate step via v0.19.0, but I cannot recall if the problem occured there already, might have, I reckon this was some server-side apply field mismatch.

Thanks @zoomoid do you mean delete all files that have ever been linked to flux2 from all namespaces, just the flux-system one or just the ones with the problem secrets?

I deleted all files created by the kustomization directly responsible for the secret, as well as the kustomization itself. Creating a fresh kustomization with the same secret seemed to cause no issues creating the secret, hence we assumed the faulty bit to be the kustomization.

To test I created a completely new kustomization which included a new namespace (test) and one of the secrets that have been failing (gitlab-registry) nothing else at all
The namespace got created but the secret failed with the same error
This is the content of the secret with the data value changed
apiVersion: v1
data:
  .dockerconfigjson: base64encodedstring
kind: Secret
metadata:
  name: gitlab-registry
  namespace: test
type: kubernetes.io/dockerconfigjson

We have managed to fix this issue...
There was a validatingwebhookconfiguration called validating-webhook-configuration which wasn't on our other kubernetes clusters so I deleted it and the flux2 secrets started working!!
Absolutely no idea why this helped as the validatingwebhookconfiguration seemed to be all about elasticsearch but just thrilled that we can now use flux2 for this cluster.
Thanks @stefanprodan and @zoomoid for your help, very much appreciated

Ah yes the infamous  elasticsearch webhook that blocks server-side apply... going to close this as it's nothing we can do in Flux, please have to update elasticsearch.

Should this have been closed? It seems to me that flux is hiding the real error. Or is the error: data values must be of type string... coming from the apiserver?


Think of better milestone name

Because our existing name is rubbish

You are using milestones!!! GREAT! :+1:


Cannot infer static timing on AMC memory component

Here is a simplified version of a program that could be generated by AMC/CIRCT:
import "primitives/core.futil";
import "primitives/binary_operators.futil";
extern "amc.v" {
  primitive mem_0_prim[WIDTH, PORT0_SIZE, PORT0_IDX_SIZE, PORT1_SIZE, PORT1_IDX_SIZE](@clk clk: 1, port0_addr0: PORT0_IDX_SIZE, @go @static(1) port0_read_en: 1, port1_addr0: PORT1_IDX_SIZE, port1_write_data: WIDTH, @go(2) @static(1) port1_write_en: 1) -> (port0_read_data: WIDTH, @done port0_read_done: 1, @done(2) port1_write_done: 1);
}
component mem_0_comp(port1_addr0: 3, port1_write_data: 32, @go @static(1) port1_write_en: 1, @clk clk: 1, @reset reset: 1) -> (@done port1_write_done: 1) {
  cells {
    mem_0 = mem_0_prim(32, 8, 3, 8, 3);
  }
  wires {
    mem_0.clk = clk;
    mem_0.port1_write_data = port1_write_data;
    mem_0.port1_write_en = port1_write_en;
    port1_write_done = mem_0.port1_write_done;
    mem_0.port1_addr0 = port1_addr0;
  }
  control {
  }
}
component main<"toplevel"=1>(@clk clk: 1, @reset reset: 1, @go go: 1) -> (@done done: 1) {
  cells {
    std_slice_5 = std_slice(32, 3);
    std_slice_4 = std_slice(32, 3);
    inst_1 = mem_0_comp();
    @external(1) mem_0 = std_mem_d1(32, 8, 3);
    while_0_arg0_reg = std_reg(32);
  }
  wires {
    group bb0_3 {
      std_slice_5.in = while_0_arg0_reg.out;
      std_slice_4.in = while_0_arg0_reg.out;
      inst_1.port1_addr0 = std_slice_5.out;
      inst_1.port1_write_data = mem_0.read_data;
      inst_1.port1_write_en = 1'd1;
      mem_0.addr0 = std_slice_4.out;
      bb0_3[done] = inst_1.port1_write_done;
    }
  }
  control {
    bb0_3;
  }
}

Given that port1_write_en is marked as @static(1), I would expect bb0_3 to be inferred to @static(1) as well. Instead Calyx is unable to infer any static value for that group. Not sure what the cause is here.

Will look into it. One workaround in the meantime is adding the "static" annotation on the group directly:
group bb0_3<"static"=1> { ... }

Simplified the program a bit more:
import "primitives/core.futil";
component mem_0_comp(@go @static(1) en: 1) -> (@done done: 1) {
  cells {}
  wires {}
  control {}
}
component main() -> () {
  cells {
    inst_1 = mem_0_comp();
  }
  wires {
    group bb0_3 {
      inst_1.en = 1'd1;
      bb0_3[done] = inst_1.done;
    }
  }
  control {
    bb0_3;
  }
}

Okay, the problem is that we're not correctly tracking information for component's latencies. I know how to fix it


CMS-643: Improve basic code styling

This pull request fixes the following issues:
https://divio-ch.atlassian.net/browse/CMS-643

[x] doesn’t break anything else

Additional information:
This PR improves the basic code readability, it doesn't fix any js/html issues.

LGTM

:+1:  on the assumption that there will be further improvements to eliminate mixed tabs / spaces etc

LGTM

@Flight can it be merged?


Subscriber badge for Twitch Affiliate channel doesn't show up

Whenever subscriber talks in twitch affiliate channel no badge shows up along with this in stdout:
No channel badge set with key `subscriber`. Exception:  map::at

Perhaps it could be replaced with this:
 xd:

Fixed in ad8ee97de98c5af2c91c7329c2c9ae9c72d6e48d