Is this expected broker.getcash() behavior?

Hey @happydasch ,
Thanks for putting together this v20 implementation in Backtrader!
I have a question about the expected behavior of Cerebro.broker.getcash(). I was trying to test calling into my Oanda account (practice) and just return the account balance.
In the first attempt, I did not add data to cerebro.
from __future__ import (absolute_import, division, print_function,unicode_literals)

import json
from datetime import datetime

import backtrader as bt
import btoandav20 as bto

if __name__ == '__main__':

    with open("config.json", "r") as file:
        config = json.load(file)

    storekwargs = dict(
        token=config["oanda"]["token"],
        account=config["oanda"]["account"],
        practice=config["oanda"]["practice"]
    )
    store = bto.stores.OandaV20Store(**storekwargs)

    cerebro = bt.Cerebro()
    cerebro.setbroker(store.getbroker())

    print(f'Starting Portfolio Value: {cerebro.broker.getcash()}')
    cerebro.run()
    print(f'Final Portfolio Value: {cerebro.broker.getcash()}')

As my account has $999.93, I EXPECTED the print statements to output:
Starting Portfolio Value: 999.93
Final Portfolio Value: 999.93

Instead, the ACTUAL output was:
Starting Portfolio Value: 0.0
Final Portfolio Value: 0.0

In my second attempt, I added data to cerebro.
from __future__ import (absolute_import, division, print_function,unicode_literals)

import json
from datetime import datetime

import backtrader as bt
import btoandav20 as bto

if __name__ == '__main__':

    with open("config.json", "r") as file:
        config = json.load(file)

    storekwargs = dict(
        token=config["oanda"]["token"],
        account=config["oanda"]["account"],
        practice=config["oanda"]["practice"]
    )
    store = bto.stores.OandaV20Store(**storekwargs)

    datakwargs = dict(
        historical=True,
        fromdate=datetime(2021, 9, 16),
        todate=datetime(2021, 9, 17),
        timeframe=bt.TimeFrame.Minutes,
        compression=1
    )
    data = store.getdata(dataname="EUR_USD", **datakwargs)

    cerebro = bt.Cerebro()
    cerebro.adddata(data)
    cerebro.setbroker(store.getbroker())

    print(f'Starting Portfolio Value: {cerebro.broker.getcash()}')
    cerebro.run()
    print(f'Final Portfolio Value: {cerebro.broker.getcash()}')

And the ACTUAL output was:
Starting Portfolio Value: 0.0
Final Portfolio Value: 999.9265

Is this expected?

Or, do you think this the expected behavior or all stores/brokers in Backtrader? If so, then sorry for the trouble, I'll go bother those maintainers 😅

it will get available as soon as the store gets started which happens when you run cerebro. If you need the cash available before, you can just fetch it manually from oanda:
something like:
acc_summary = store.oapi.account.summary(account_no)


Use local config info for viewing odo config

What is the purpose of this change? What does it change?

Using genericclioptions.Context required creation of an oc client
connection to the OpenShift server which was not necessary for viewing
the config stored in local config file at .odo/config.yaml
Was the change discussed in an issue?
fixes #1745

How to test changes?

Stop the minishift instance used by odo: minishift stop
Navigate to a directory containing the .odo/config.yaml file or don't if you'd like to view the global config stored under ~/.odo/config.yaml
Execute odo config view

Thanks @girishramnani for the help on this! :+1:

/retest

@dharmit might wanna throw in an integration test

I took a look at the test suite and had some discussion around adding test for this particular PR. @kadel suggested to configure KUBECONFIG with a value that's incorrect and see if odo config view gives expected result.
I see that KUBECONFIG is set at: https://github.com/openshift/odo/blob/b6cb9852d1e4cc08f16a2868a94d78d2963df0e1/scripts/configure-installer-tests-cluster.sh#L15
and test is at: https://github.com/openshift/odo/blob/b6cb9852d1e4cc08f16a2868a94d78d2963df0e1/tests/integration/config_test.go#L208
I'm not sure as to where to set a temporarily invalid value for KUBECONFIG. Should it be done at: https://github.com/openshift/odo/blob/b6cb9852d1e4cc08f16a2868a94d78d2963df0e1/Makefile#L154
by doing something like:
KUBECONFIG=/no/such/file go test -v github.com/openshift/odo/tests/integration --ginkgo.focus="odo config test" -ginkgo.slowSpecThreshold=$(SLOW_SPEC_THRESHOLD) -ginkgo.v -timeout $(TIMEOUT)

or should it be done in tests/integration/config_test.go file before the check configValue := helper.CmdShouldPass("odo", "config", "view")? The reason I'm not sure as to where to add things is that, I think, if KUBECONFIG is not set to correct value as set in scripts/configure-installer-tests-cluster.sh, it might cause other tests to fail.
I'm new to both Makefile and testing in Go. So, inputs are more than welcome!
@girishramnani @amitkrout

@dharmit you might not need to over complicate this. You could just provide the env variable inline by doing something like this KUBECONFIG="" odo config view

This will make the KUBECONFIG invalid only for that command and hence would not need any clean up.
helper.CmdShouldPass("KUBECONFIG=\"\","odo", "config", "view") should probably do the trick

This will make the KUBECONFIG invalid only for that command and hence would not need any clean up.
helper.CmdShouldPass("KUBECONFIG=\"\"","odo", "config", "view") should probably do the trick

I don't think that this will work. I'm afraid that this requires shell (like bash, zsh, sh etc...).
Also, be aware that we want to run our test on windows.

You could use os.Setenv  to set the variable in BeforeEach or JustBeforeEach. This should work everywhere. (Don't forget to backup the original value and then restore it in AfterEach or JustAfterEach)

Shouldn't we do the storing and restoring of KUBECONFIG value just before configValue := helper.CmdShouldPass("odo", "config", "view")? I think that BeforeEach, JustBeforeEach would be executed before It block so it will impact other checks within It block as well, no?

Shouldn't we do the storing and restoring of KUBECONFIG value just before configValue := helper.CmdShouldPass("odo", "config", "view")? I think that BeforeEach, JustBeforeEach would be executed before It block so it will impact other checks within It block as well, no?

yes that is true. It depends on how your test looks like. Please be aware that It block represents one test. Each It test should test one thing, and it should be independent of other it blocks.

Integration test looks good to me
/approve

/retest

/lgtm


Error: Can't resolve 'crypto'

Describe the bug
Error occurs when building React project locally.
...

WARNING in ./node_modules/encrypt-storage/dist/index.js 2:104-121
Module not found: Error: Can't resolve 'crypto' in '/Users/foobar/workspace/ui-react/node_modules/encrypt-storage/dist'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
	- add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'
	- install 'crypto-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "crypto": false }
 @ ./config/amplify.ts 1:0-49 3:27-41
 @ ./src/App.tsx 6:0-42 21:18-27
 @ ./src/index.tsx 5:0-24 14:118-121

 ...

To Reproduce
Steps to reproduce the behavior:
$ npm run build
Expected behavior
Application build with no errors.
Desktop (please complete the following information):

OS: macOS Big Sur 11.6
Browser: n/a
Version: "encrypt-storage": "^2.2.5"

In fact, found that the build did complete, it looks like it is an error message inside of a WARNING... which is kinda weird...
I still think this is a bug, and hope to see this error(warning...) message disappear for the future builds.

@Nyazuki what's your CRA or NextJS version?

@Nyazuki what's your CRA or NextJS version?

I dont use CRA or NextJS, the project ejected with customized configs, but it is running on node 14.18.1
webpack ^5.19.0
react ^17.0.1
"terser-webpack-plugin": "5.1.1",
"ts-loader": "^8.0.14",
"ts-node": "^9.1.1",
"tslib": "^2.1.0",
"typescript": "^4.1.3",
"file-loader": "^6.2.0",
"url-loader": "^4.1.1",

Tried adding:
resolve: {
fallback: { crypto: false }
}
to webpack config will mute the warning/error, but not sure why and how did it work.

I update the version with this config in webpack. Try the version 2.2.6

I update the version with this config in webpack. Try the version 2.2.6

Same result with 2.2.6...

I Will search a way to solve this problem.

Hi @Nyazuki , in webpack 5 have alot of change, u can try Instead of using Webpack 5, an alternative solution downgrade<EMAIL_ADDRESS>and<EMAIL_ADDRESS>version of your project "if u r not using module federation".
find out more in this issue: https://github.com/facebook/create-react-app/issues/11756

Thanks for this @lopesboa

@lopesboa thanks for the tip. Unfortunately, due to other lib we are using(e.g. aws-amplify etc.) downgrade is not an option for us...
I will just do the fallback trick on webpack config for now. However, I think webpack v5 has been for a while now, and hopefully this issue can be resolved here, or maybe they need to do something, idk.

After 7.5 months and now working on another upgrade for my project dependencies, the issue still exist with new settings as follows:
node: v16.15.1
"webpack": "^5.73.0"
"encrypt-storage": "^2.2.10"
"ts-loader": "^9.3.1",
"ts-node": "^10.9.1",
"tslib": "^2.4.0",
"typescript": "^4.7.4"
After a few more diggings, and according this comment: https://stackoverflow.com/a/66306663
Set target: 'node' did suppress the warning - Can't resolve 'crypto', however, obviously, my project is targeted for web not node, and once I do have target: node in webpack config, it causes other issues e.g. Can't resolve 'encoding' in '/Users/foobar/workspace/ui-react/node_modules/node-fetch/lib'
I think the issue here is that when webpack is defaulting its target to web, it does not automatically includes libs like crypto from node, therefore you need to manually add it in or turn it off to suppress the warnings.
In webpack config:
resolve: {
  fallback: {
    crypto: require.resolve('crypto-js') // or "false" to turn off
  }
}

The question now is - Why encrypt-storage is requesting for crypto lib to be exist for projects uses encrypt-storage?
I suspect it is because of this line: https://github.com/michelonsouza/encrypt-storage/blob/8723d62de69e7f9327a1881533064136dde68078/webpack.config.js#L15

I'm sorry about that @Nyazuki,
I've been out for a while.
After some research I managed to solve it with fallbacks and a recently released plugin node-polyfill-webpack-plugin.
I hope you forgive me for the delay and I ask that you use version 2.3.1 of the package to assess whether the problem has been resolved.
Here for me with react-scripts 5.0.1 it worked.
I'll wait for your OK to close the issue.

I will close the issue as it appears to have resolved it, as discussed with other users.
At any time open a new issue with the same or another bug.
Thank you very much @Nyazuki .


Another Quest to this game!

Help me create another Quest for this game. You are free to choose any game of your choice but keep it between medium-difficult.
Make sure you have a skip option too.
NOTE: 350 points are awarded to this issue but it will only be awarded depending on the difficulty level of the quest and your approach
Happy hacking! :)

can i get assigned to this pls?

!assign @crimsonims

assign me this

@sjp-codes  im going for dinner rn, could you please extend my time?  thank you

@crimsonims any updaates

sorry need more time

!extend 45

!assign @crimsonims

!deassign @crimsonims

!assign @crimsonims 50

Can you please assign me this?

please assign me this ?

hey im still working it, question is done, debugging some errors

@crimsonims meet me

Can you assign me this please

Can you assign me this please

!deassign @crimsonims

!assign @crimsonims 65

can i get assigned for this

!assign @AkshayaR11 60

sent a pr

!assign @DHANUVARSHA04

!deassign @DHANUVARSHA04

Do you have anything specific in mind, As to the flow or the pacing of the "Quest"?

hi can you please assign me this

!assign @devanshishukla17

Can I get assigned to this?

@sjp-codes can u please assign me this

can I get some more time I am almost there

!deassign @devanshishukla17

!assign @devanshishukla17

Can I please get assigned this?

!deassign @devanshishukla17

can you assign me this?


Fix: extra damage falloff start being added to Hunter's Trace

Got this from https://discord.com/channels/1044304864903168061/1161511179479433226
Can recreate by just going to the weapon and toggling on Hunter's Trace https://d2foundry.gg/w/1473821207?p=0,0,0,0,0&m=0&mw=0

The increase is intentional, but the unintentional part is the trait being active when not enabled.
This occurs when "Hunters Trace IV" is selected before doing anything first.
Seems to be a front-end issue.

Oh ok


Use raw message text when blacklisting/watching

As discussed in #2177, use content_source to get the message plaintext when blacklisting.  Prevents Markdown characters such as asterisks from being turned into HTML tags.

Coverage decreased (-0.03%) to 65.333% when pulling a6e33d279bca810d849df2bbdc30237a3a5b1a8a on NobodyNada:master into ededa33ea9143e0ab7a2531a9340822cba0e8542 on Charcoal-SE:master.


WeChat support?

I would like to make some contribution if we can find a way to support wechat

That would be great! Are there convenient way to export or access WeChat log files?

Let me take some days to get familiar with your existing method and see how can we get a wechat text log


Cleanup API in README

Just like the title says

Note: CI build is failing because of https://github.com/babel/babel-eslint/issues/267

I think that last batch of comments is the last thing I see.

All comments taken care of


HyperSeq and RaceSeq types are not documented

The problem
In my investigations about the URL state in the documentation, I have found these two links and I did not why they returned a 404 error. After a moment, I realized the problem was they were not documented.
Suggestions
Document them.

I'm afraid this is a dupe of #1897. Please add any comment there if you think there's a difference.


chore: upgrade sentry

It closes #1101
as result, we have a more useful interface and can start to use tags etc. Will be in the next tasks

when will be finished migration to the latest yarn #1108 , we can replace it with a yarn patch. Currently, we have an issue with yarn.lock and old packages. Story with a summary of what to update and where in progress.

Hi @monikasmolarek , nothing update in the app from a design perspective, regression will be enough. It is a lib update that will help to debug issues. Update was from beta to stable release

I can't see the User Feedback anywhere in Sentry after submitting the form. (missing: e-mail address, message body)
Please check

Hi @monikasmolarek , fixed

Hi @brusherru , seems working right now.
I created and issue for wasm. Right now not critical, but in the future need to update the lib and code.
basically , the crypto lib func was replaced through the global var and thats why in the Sentry lib, I had an issue with the return undefined , but in the terminal everything was ok. Hope, this is it.

@maparr the reports from Windows are not sent to Sentry (from the builds)
I tried the custom build and :
https://user-images.githubusercontent.com/89876259/218859532-58a3bc02-b35b-42a9-bc29-c731b37ddf3c.mp4

I tried the custom build and

I bet you didn't set up SENTRY-related env variables (DSN, AUTH_TOKEN).
But it should work for PR build...
Am I right? ;)

I did not, you are right @brusherru , but for Mac it worked even with the GH builds, for Windows not.

Checking on windows vm

so yeah, I agree, wonderful behavior for Windows and different for Linux, and working for macOS. But seems to fix it by replacing lib.  Will be done in an hour.


Docker Support

I currently have this in a docker container with traefik running separately as the reverse proxy working perfectly, can I push support for this to the repo?

I'm not sure if I want to add much complexity to this project, so I won't make any promises, but if you open a PR I'll take a look!

Docker would allow us to woof in a vm. That is quite important. This way, you can woof anywhere.


w3c scraping hangs

Collecting w3c data like this:
$ python bin/collect_mail.py -u http://lists.w3.org/Archives/Public/public-privacy/

Hangs with no feedback to the user.
This is problematic because some notebooks in the examples/ directory depend on this data, like:
https://github.com/datactive/bigbang/blob/main/examples/experimental_notebooks/Analyze Senders.ipynb

If @npdoty is ok with the refactored w3c code in PR #534 I can take care of this issue.

PR #534 is merged now which means that W3C obtained a make over which solves this issue. You can check the ingress tests and docstring for information on how to use it to ingress the mailing lists.
Notebooks will be affected by this change and might fail. But this can be addressed in a different issue.


Fix norman type in UpdateMultiClusterAppTargetsInput answers

Related issue: https://github.com/rancher/rancher/issues/17981
Problem:
The answers field is marked as reference. As a result, The generated field gets a wrong type: https://github.com/rancher/types/blob/304eef54e2a4b5373726ca6970a944f40770856b/client/management/v3/zz_generated_update_multi_cluster_app_targets_input.go#L10
Solution:
Remove norman type of answers field

LGTM

LGTM


fix: release @modern-js/node-bundle-require for change randomUUID to …

…nanoid
PR Details

Description
release @modern-js/node-bundle-require
Related Issue

Motivation and Context

How Has This Been Tested

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My code follows the code style of this project.
[ ] I have updated changeset
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

这个包是走单独发版的吗


Explicitly add expression and statement roles to nodes that are also either

Like https://github.com/bblfsh/java-driver/pull/33

Wrong project, it's fixed anyway by Python driver PR #48


Possible collaboration with similar project (Gitchain)

This project seems a lot similar to Gitchain (https://github.com/gitchain/gitchain) and the premise is the same, decentralized p2p git repos using DHT technology, (yours focusing on bittorrent and gitchain focusing on Bitcoin, namecoin and other blockchain software. Maybe you could contact each other and collaborate to get this thing off the ground because im really enthusiastic about it and the technologies are quite similar.

I was one of the GitChain Kickstarter backers :) It hasn't been touched in three years, though, so I don't think there's any collaboration possible now. You're right the tech is similar, with GitChain more interested in having nodes be miners etc.

sounds familiar...
What version of npm were you using when this project was "up to date?"

What sounds familiar ? Projects were development have stopped are the
majority of projects. (In GitHub and elsewhere)
On Thu, Dec 13, 2018, 05:46 lukelane124<EMAIL_ADDRESS>wrote:

sounds familiar...
What version of npm were you using when this project was "up to date?"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cjb/GitTorrent/issues/80#issuecomment-446841369, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACPN_kiz5a-egV-yXJ8s3hk7kxzFbSsyks5u4dupgaJpZM4K82iH
.

Obviously, it's been a minute since I made that comment, but irc I was talking about Kickstarter code projects never really getting off the ground. However, your comment definitely applies here, projects are quick to be abandoned.


BNN Compatibility with MYiR Zynq XC7Z020

Hello,
I have a MYiR Zynq XC7Z020 board with two ddr3 IC and I want to run the BNN over there. Unfortunately I
just found a .bit file for the PYNQ board. Can this project be ported to others Zynq base boards?
Thank you in advance.
Kevin

Hardware (FPGA) compatibility is no problem since both chips are Z7020. Depending on the Linux build you have, the driver support may require a bit of manual work though.
You could try and see if your board can run the PYNQ Linux release (here's someone who did it for the ZedBoard: http://zedboard.org/content/general-guidelince-install-linux-zed-board-and-how-install-pynq-linux-zedboard).


CrescendoNativeErrorQueue and -ErrorAction Stop

Summary of the new feature / enhancement
I updated a module to use v1.1 and handle errors using Pop-CrescendoNativeError -EmitAsError.
The command-line tool quser.exe sends two error messages when a remote machine cannot be reached so this puts two messages in the __CrescendoNativeErrorQueue.
When using the -ErrorAction Stop parameter on the function it will trigger on the first error as expected. However the second message is still in the ErrorQueue. The next time the command is run, it will spit out that remaining error message even if the command is succesful.
I've tried to illustrate the behaviour in the screenshots.

Proposed technical implementation details (optional)
It's open for discussion on whether this is an issue that needs to be solved or if the onus is on us to make changes according to our needs for the module.
Right now, to solve the problem I tweaked the function Pop-CrescendoNativeError to group multiple messages into 1 and write the errormessage only when the CrescendoNativeErrorQueue is empty.

@MTI-gh
This also may be associated with PSNativeCommandUseErrorActionPreference (could you let me know what that value is for you) - this will sometimes result in 2 error records being posted, which may be causing this behavior. I think for the purposes of crescendo, this variable should probably be set to false which means you'll only get 1 error record for each emission of the native app.
I've been thinking that this should be set to false by the proxy. If you set it to false and run again, does that problem go away?

           "OutputHandlers": [
                {
                    "Handler": "$input|ConvertFrom-CSV",
                    "StreamOutput": true,
                    "ParameterSetName": "Default"
                }
            ]

quser doesn't support CVS-output.

thank you @DennisL68 for the information!  Its been a long time since I have used quser -- and if it doesn't;t support structured output (css, json, etc) then you will need to create a custom outputted -- here is an article where Sean explains the process: https://devblogs.microsoft.com/powershell-community/converting-string-output-to-objects/

Yes, I know (and I already have a working parser for quser.exe) :)
My point was only, that your proposed answer to handle the output of quser.exe, was to set the output mode to "StreamOutput".
But I assume that is only a feature that works with the built-in structured data handler?
How do we go about to handle this issue as described by @MTI-gh when actually wanting to use quser.exe?
Would a new feature of pre-parsing be a solution in this case?
I.e. I provide the function to parse the output and then use an option to "pipe it back" as json or csv to the Crescendo output handler?

Sorry for the late reply, life's been busy.
@JamesWTruher I did try with $PSNativeCommandErrorActionPreference set to $false but it had the same result. I had to enable this feature with Enable-ExperimentalFeature so I don't think it was playing the issue back when I did the testing in March. When set to $true it did produce an additional error message Program ended with non-zero exit code: 1
@theJasonHelmick, @DennisL68  Thanks for the follow-ups!

commit f2a1208d explicitly sets PSNativeCommandErrorActionPreference and I changed the architecture to make the error queue local to the cmdlet rather than being global to the module. That should take care of the -Stop issue.

Thank you! Fixed/closed - in release: https://www.powershellgallery.com/packages/Microsoft.PowerShell.Crescendo/1.1.0-RC1


Add a method to construct a NodePath from a StringName

This allows constructing a NodePath directly from a StringName, which skips the String parsing logic, if the given StringName does not contain a slash or colon and can be used as-is.
I considered a constructor, but this would break all uses in the C++ code that construct NodePath from char * literals, and we need to depend on two other constructors anyway, so this uses a static method instead.

I just ran into a situation where code that worked fine in 3.x doesn't due to this. Can this get merged into one of the patch releases?

I considered a constructor, but this would break all uses in the C++ code that construct NodePath from char * literals, and we need to depend on two other constructors anyway, so this uses a static method instead.

Perhaps we just need to add the StringName(NodePath) and NodePath(StringName) constructors for GDScript only?
https://github.com/godotengine/godot/blob/e74bf831c2d3ece79b849405f03999281f807648/core/variant/variant.cpp#L558-L563
https://github.com/godotengine/godot/blob/e74bf831c2d3ece79b849405f03999281f807648/core/variant/variant.cpp#L714-L718
https://github.com/godotengine/godot/blob/e74bf831c2d3ece79b849405f03999281f807648/core/variant/variant.cpp#L722-L726

@dalexeev Good idea, pushed a change to add that, but we should also keep the method exposed for explicitness.

See also:
https://github.com/godotengine/godot/blob/fd31dc7f32855f23f0c38792fe42d501165f708c/core/variant/variant_construct.cpp#L79-L82
https://github.com/godotengine/godot/blob/fd31dc7f32855f23f0c38792fe42d501165f708c/core/variant/variant_construct.cpp#L176-L182
Perhaps it makes sense to add constructors only in GDScript, even if we can't add them in C++?


Adding Sample Event in Display Events Page

Description
At present the Event's page does not have a sample card showing correct details, instead sample events have random text. We can instead showcase a sample card with correct formatting.
Screenshots

Additional information
No response

It's great having you contribute to Milan ! This is an auto-generated textThe maintainers/owner will look into the issue soon, add relevant tags and proceed further, please have paitence. Meanwhile feel free to support star the repo and share it with your friends. :nerd_face: :rocket:

Hello @MANUSRAO  - The events card are fetched from the Database directly.
There is no purpose of showing a sample event, because only the real events will be shown and users can then attend !
We will moderate the Database so that events with bad data are not shown !


Prune migrated functionality

I've removed all of the code that has already been migrated to other repositories or ported otherwise.
After this merge, our repository is going to become Angular-only repo with the client itself. I've integrated Travis CI to check our builds independently on Linux. Docker image is built on each successful build and pushed onto Docker Hub.
Docker image definition is just minimalistic: copies built application onto nginx and serves it to the world.
Build process got simplified.
e2e tests are temporarily disabled, especially that no one is developing them actively.

 Prune Spectre repo to make it client-only


Expand complex numbers

While complex numbers are present within the calculator, currently are fairly limited with common functions being unsupported. These include:

[ ] exponentiation
[ ] trigonometry

[ ] Euclidean
[ ] Hyperbolic

[x] logarithms
[ ] radicals

[x] complex
[ ] negative

This PR aims to implemented these functions to improve the calculator. I am new to the codebase so feedback on better ways to use the APIs will be appreciated.

This looks awesome, thank you for the PR! I’ll be happy to merge it once it’s ready :)

Because most of these functions are multivalued, should anything other than the principal branch be somehow supported?

Given there’s currently no good to have multiple values I think supporting just the principal branch is fine.

Given there’s currently no good to have multiple values I think supporting just the principal branch is fine.

$+2\pi n$ in the argument function wouldn’t be a big change if it is needed in the future

I am trying to implement exponentiation and there must be some sort of bug in BigRat::pow, because trying to compute the exponential function just hangs. This seems to occur with other large fractions, such as π^π

Anyways if the numbers are fraction terms are too large then using approximates is the only option which will compute a result in a reasonable amount of time

Thanks for all your work so far! I’m not really sure of the best way to fix this, given that the rational number code is super inefficient for values like e and pi.
I’ve started doing some experiments on a separate branch to see if it might be possible to use a lazily-computed number representation, but I’ll need quite a bit longer to work on that to see if it might be viable.
For now I’d be happy with either a float approximation, or just ignoring the performance issue and effectively only supporting simple fractional values. Anything more complicated would probably be beyond the scope of this PR, and would be way more complicated to implement unfortunately.

Thanks for all your work so far! I’m not really sure of the best way to fix this, given that the rational number code is super inefficient for values like e and pi.
I’ve started doing some experiments on a separate branch to see if it might be possible to use a lazily-computed number representation, but I’ll need quite a bit longer to work on that to see if it might be viable.
For now I’d be happy with either a float approximation, or just ignoring the performance issue and effectively only supporting simple fractional values. Anything more complicated would probably be beyond the scope of this PR, and would be way more complicated to implement unfortunately.

complex exponentiation basically depends on the exponential function so that's my main concern

have been a bit busy this week but hopefully I should be able to do some stuff this weekend

I implemented the complex roots but some of them are not precise enough so I want to improve on this

Also what would I need to do to add a new function to the calculator?

There seems to be some sort of regression between formatters, but I don't really know how they work.
> acos 3
approx. 0 + 1.762747174i
> approx. 0 + 1.762747174i
approx. 1.762747174i

This causes some test which shouldn't fail to fail, because of the second phase where the answer itself is evaluated

@printfn the implementation is done, however I think precision could be possibly improved

That looks really cool, thank you for all your work! I'll try and review it properly soon.

That looks really cool, thank you for all your work! I'll try and review it properly soon.

Do you have any suggestions about the functions that could be more accurate?

This looks excellent, thank you for all your work! I wouldn't worry too much about the exact accuracy of the results, since fend already uses a lot of floating-point approximations for the existing trig functions and such.
The test failures will need to be fixed though before merging this. I could try and figure out the formatting inconsistencies at some point, maybe over the weekend.

This looks excellent, thank you for all your work! I wouldn't worry too much about the exact accuracy of the results, since fend already uses a lot of floating-point approximations for the existing trig functions and such.
The test failures will need to be fixed though before merging this. I could try and figure out the formatting inconsistencies at some point, maybe over the weekend.

The issue seems to come down to that the specific part is approximately 0, so a 0 is printed explicitly from my investigation, but the format code was a bit of a mess to comprehend so I didn't touch it

This looks excellent, thank you for all your work! I wouldn't worry too much about the exact accuracy of the results, since fend already uses a lot of floating-point approximations for the existing trig functions and such.

I guess I could do a newton iterations but idk if this is overkill

@printfn do you have discord?


In JWTBearerGrant, tenant domain and userstore domain are not appended to the subject

Reported Env:
db: postgres db
wso2is-5.9.0 alpha
in tenant mode
Referred Configuring JWT Grant Type doc to configure JWT bearer grant
Steps to reproduce:

Get JWT assertion(that has claims in oidc scope and has email address and country claim) from an identity provider(name it as JWTIDP).
Configure the playground as OAuth service provider in the primary IS.
Enable Use tenant domain in local subject identifier and Use user store domain in local subject identifier under in Local & Outbound Authentication Configuration
Invoke the token endpoint of primary IS with the JWT assertion obtained from the configured IDP(JWTIDP).
Check the sub value in the obtained id_token. It does not have tenant domain or userstore domain.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Chosen-like Functionality

The Problem
The main problem I have with Selectize is, if you tab through your form, the Selectize will actually open when it gets focused. If nothing is selected, tabbing again will close the Selectize and remove focus altogether. Tabbing a third time would take you to the next element in the form. This means that you have to tab twice for every empty Selectize in your form.
This behavior is however not consistent if an option is selected. Once the Selectize receives focus, it opens as before, a second tab however closes it again, and a third tab, unlike before, re-opens it.
The only way to move to the next item in the form is to hit enter when the Selectize is open.
If however, you typed some text to filter the list, and then hit tab, it cancels the current selection and goes to the next item (no extra tab required). This causes a lot of people to have to go back, re-select, press enter, and then press tab to go to the next input.
This is not only confusing but requires more keystrokes than required and mental processing of different key combinations for different scenarios in a sometimes very specific order.
The second problem I have is, when the fields do need changing, you first need to hit backspace to delete all the text before you can start typing. The default behavior for a select is you simply start typing to filter down to the item you need. As Selectize does this differently, most users get confused.
The Solution
Lets take a quick look at the way Chosen handles this: http://harvesthq.github.io/chosen/
Once the select gains focus, it simply glows1. Tabbing again, takes you to the next element in the form1. If you start typing or click on it, it opens the select waiting for user input1 2. Pressing Escape cancels the new select and reverts back to the old selection2, and pressing enter/tab makes the selection1.
I would go one step further here and say pressing tab should make the selection and go to the next item in the form as well. This is actually the default behavior for a native select and would come natural to most users.
1 Similar behavior as a native HTML select.
2 Improved behavior as a native HTML select.
Use Case
We currently use Selectize for a large system where data-capturing forms a large part of it.
The efficiency of the data captures are key, and removing a single second from small tasks, on a team of 150 data captures working 8 hours a day, could save hours for work time each day, drastically improving efficiency.
As for websites with customers and first time users, this will also feel a lot more natural, and does what you would expect.

I haven't tried, but perhaps setting the openOnFocus property to false might solve part of your problems.
But it comes with its own problems, which I plan to list (I do a search to see if they are already listed).

Hi @Xethron, @PhiLhoSoft ! I have a problem 2, users do not want to press the backspace to start the search. In addition, the backspace deletes the currently selected item, but it is not always acceptable. I found issue #181 with similar problem.
Time has passed since the last discussion of the problem. I wanted to ask - anybody found an elegant way to search without resetting the current element and without press backspace?

@Xethron thanks for this report. I'm currently investigating select-like behavior and what you say makes a lot of sense. For now, it looks like openOnFocus should answer part of your problems, and I will follow along to #783 for the rest.
I'll have to close this issue as I find it a little un-actionable. However, if you want to suggest more precise enhancements, you're most welcome to do it and refer to this issue which will be a great resource. But on the ideal that we should behave like a vanilla HTML select by default, I agree. Cheers


Feature request: Quick overview of accounts on home page

The idea is to have a simple view of accounts balance on the home page, with nice line/pie charts.

Beginning work on PR #50


Pool install returns "too many levels of symbolic links"

The installation for Pool can be successfully run from the pool user.
running pool accounts list returns [pool] unable to read macaroon path : open /home/pool/.pool/mainnet/pool.macaroon: too many levels of symbolic links

It is likely a leftover from testing previous install scripts.
Advised to reflash the v1.6.1 image and try again.


[Infra Doc Fixit] Refresh documentation for Flutter Dashboard

Hi!
To close this issue:

Are you still the owner? Update the spreadsheet if not and reassign.
If you don't consider any work is needed, close.
Please double check if the documentation is up to date and prune any stale
information
i. Review markdown docs in related code repos
ii. Review associated sites and wikis
Review the cookbook
i. If one does not exist, create it and link it on the team page
ii. Add and review common tasks
Review related dashboards
i. If this service does not have a dashboard, but should create it!
ii. Ensures it's on the Fuchsia infra teams dashboards

Thank you for keeping our service's documentation up to date!

I've updated flutter/flutter and flutter/cocoon references. I don't believe there's a need to have a playbook for this service as we rollback bad roll outs.


Demo down

http://<IP_ADDRESS>/ doesn't resolve. Awesome stuff, thanks!

Still down

Is this project maintained?  It is a very interesting one, and one I would love to start using, but at the moment I am not confident that I can get management buy in unless the package is maintained.  Last Commit was Feb 23 - is that good cause the code is so solid, or is that because lack of ability to work on the project?  I ask with the hopes of being able to use this for a work project.  I love elm and the things that it can do, and I am hopeful for this or other projects like it to spread the elm language and ecosystem.  Thanks for all the hard work, I understand it is a labor of love!  Please take my comments as constructive as I am truly trying to be.

@yngbldjr: why just not become the maintainer? Fork it and bring some lifeblood into it. If you look at the size of the project, this is very manageable to do:
find src -type f | xargs cat |wc -l
   489
` ``

That is little more than a few classes here and there in most projects.

@fatso83 Please don't encourage stealing of my projects. This is out of date for Elm 0.17. It will not be updated. Server side elm is not designed to work this way.

Well, at least my encouragement to steal (weird choice of words for an open sourced MIT licensed project) fork brought the biggest improvement to the state of the project in months: 8196d9af72795f1a45ebb1e42a6065f91d64b612 ;-)
Since your project is still being linked to from other places, folks totally new to the Elm ecosystem and culture have no way of knowing whether something is just abandoned or a dead end. So thanks for updating the README!

Yes, sorry - but it can be damaging to new Elm users to suggest picking up this project when it is idead :)
https://github.com/noredink/take-home#faq has a good section on this


GermanGenderSwap Violates Naming Convention

Our transformation packages so far have all been in snake_case. @raft001, I believe this is your transformation. Could you change this, please?

@cascadianblue , Yes, that was an oversight on my part. I have made a new pull-request to fix this, the original one can be removed.


[auto-merge] branch-22.06 to branch-22.08 [skip ci] [bot]

auto-merge triggered by github actions on branch-22.06 to create a PR keeping branch-22.08 up-to-date. If this PR is unable to be merged due to conflicts, it will remain open until manually fix.

FAILURE - Unable to auto-merge. Manual operation is required.
{'message': 'Pull Request is not mergeable', 'documentation_url': 'https://docs.github.com/rest/reference/pulls#merge-a-pull-request'}

Please use the following steps to fix the merge conflicts manually:
# Assume upstream is NVIDIA/spark-rapids remote
git fetch upstream branch-22.06 branch-22.08
git checkout -b fix-auto-merge-conflict-5759 upstream/branch-22.08
git merge upstream/branch-22.06
# Fix any merge conflicts caused by this merge
git commit -am "Merge branch-22.06 into branch-22.08"
git push <personal fork> fix-auto-merge-conflict-5759
# Open a PR targets NVIDIA/spark-rapids branch-22.08

IMPORTANT: Before merging this PR, be sure to change the merging strategy to Create a merge commit (repo admin only).
Once this PR is merged, the auto-merge PR should automatically be closed since it contains the same commit hashes

@anthony-chang merge conflict from 22.06 to 22.08. can help resolve the docs/compatibility.md conflict? thanks
could follow above instructions https://github.com/NVIDIA/spark-rapids/pull/5759#issuecomment-1148051431~

As https://github.com/NVIDIA/spark-rapids/pull/5762 is about to be merged, I will manual trigger an auto-merge run to carry new coming commits


auth: Handle the case of invalid subdomain at various points.

Issue#16770

In zerver/views/auth.py, handled case of Invalid Subdomain while calling get_realm by using get_realm_from_request at multiple points.
Testing plan: Added two test cases for the respective additions in zerver/tests/test_auth_backends.py

Thanks for working on this! A couple of points:

I don't think there's much reason to have 3 commits for this, this is overall a single, relatively small logical change. Can you squash this into one commit?
redirect_and_log_into_subdomain doesn't take user input, it's a function we call internally in auth codepaths and the function can probably assume the callers don't pass an ExternalAuthResult to it with an invalid subdomain. Thus we shouldn't raise a JsonableError there. A simple assert realm is not None might suffice.
The change of the #-style comment on dev_direct_login to a docstring should be done separately (in an independent commit) - if we want to make that change at all.

@mateuszmandera I have made the required changes. Have a look!

@mateuszmandera is this issue solved or can i work on it?

We should check with the original author first and if they're not available, it seems to make sense to just pick up finishing the work done here.
@sushant52 Are you still available to finish up the work on this?

@sushant52 Are you still available to finish up the work on this?
Yes, I was just a bit busy. I am pushing the required changes in a few minutes.

@mateuszmandera I have made the changes now !

Thanks for the fixes! Left one remaining comment - and also, can you squash the commits?

@mateuszmandera This should be good now. Have a look!

@mateuszmandera This should be good now. Have a look!

This is great -- thanks, @sushant52!  I merged this as 6f0e8a9888c507d21ac7e595426a9a70bec8c4f4, after cleaning up the commit message -- it was the same message 4 times over:
$ git show 6d9d880b3c9f557f7fd9d407336c3dde43368ecc
commit 6d9d880b3c9f557f7fd9d407336c3dde43368ecc
Author: sushant52<EMAIL_ADDRESS>Date:   Sun Dec 13 00:51:06 2020 +0530

    auth: Handle the case of invalid subdomain at various points.

    auth: Handle the case of invalid subdomain at various points.

    auth: Handle the case of invalid subdomain at various points.

    auth: Handle the case of invalid subdomain at various points.
[...]

I also added Fixes #16770. since that's what this PR addresses.  Remember to check over commits to make sure the commit messages are up to snuff.
Thanks again for the contribution!

This is great -- thanks, @sushant52!  I merged this as 6f0e8a9888c507d21ac7e595426a9a70bec8c4f4, after cleaning up the commit message -- it was the same message 4 times over:
$ git show 6d9d880b3c9f557f7fd9d407336c3dde43368ecc
commit 6d9d880b3c9f557f7fd9d407336c3dde43368ecc
Author: sushant52<EMAIL_ADDRESS>Date:   Sun Dec 13 00:51:06 2020 +0530

    auth: Handle the case of invalid subdomain at various points.

    auth: Handle the case of invalid subdomain at various points.

    auth: Handle the case of invalid subdomain at various points.

    auth: Handle the case of invalid subdomain at various points.
[...]

I also added Fixes #16770. since that's what this PR addresses.  Remember to check over commits to make sure the commit messages are up to snuff.
Thanks again for the contribution!


Output ssh_to_operator & ssh_to_bastion add condition for ssh_private_key_path

Add conditional check for output ssh_to_bastion & ssh_to_operator to print value like ssh -i  opc@ instead of ssh -i none opc@ when ssh_private_key variable is used instead of ssh_private_key_path.

Then it should be just ssh<EMAIL_ADDRESS>Maybe also add a note for the user that their ssh key is expected to be added in their ssh agent


Make text white when selected.

@keybase/react-hackers, this is ready for review.

I think you want to change selectable-small-team as well to make this consistent:


Simple animations cause high cpu load

I'm just evaluating snap.svg but I noticed that the demo 'game' causes my MBA fan to rev up and a CPU load of nearly 100% ("Brave Browser Helper (GPU)").  This doesn't look right to me and is a little concerning, is the library used incorrectly in the demo?
Here's the page
http://snapsvg.io/demos/#game

I doubt it's used 'incorrectly', but ultimately you are doing animations, with rotations and things like that, and I guess methods like requestAnimationframe will try and repeat animation steps everytime there is a spare frame/cycle to do it.

@ibrierley
have you see those animations?  Its just 8 simple images moving back and forth.

But it isn't just 8 simple images moving back and forth, this is svg not canvas...
You have a lot of elements on that page, all with unique semi complex paths, a lot of them with transforms and fills on them. Then when they are moving to render, the display will need to calculate which objects are above which in the display etc. then you've got a handler or handlers that can interact with them that needs to check if something is happening to which object. Then you've got requestAnimationFrame which will try and do it as smooth as possible, which I think runs at the fps of the display (so I think in my case it would be 240 updates a second).
So I'm not saying it couldn't be written with more optimisation in mind if needed, it could. But it's just worth being aware with svg, there's often a lot more going on with animations and interaction than is sometimes apparent. If you need performance, svg is the wrong thing to look at, it should be something like canvas. Svg is all about elements and an object approach to vector graphics.
I'm also not suggesting that Snap is the most efficient method out there either, there are probably some more optimal solutions out there, but it depends if you are after raw efficiency or simplicity of use.


Dependency not found

I tried installing the plugin via yarn. However, it complains about a dependency that I cannot find. Installing it with npm fails as well.
Note: I am using Vue-cli

Did you try to run  npm install vue-read-more --save?

Hi @denismarinov did you try to run  npm install vue-read-more --save?

Hi, @orlyyani thanks for your quick response.
Yes, I have tried but npm install breaks my yarn configuration.


duplicate data entries when pulling data from mongodb

Describe the bug
There are duplicate entries when pulling fiber photometry data from mongoDB. There are 629 entries spanning from 2/1/2023 to 6/3/2024. CSV with all duplicated entires attached.
To Reproduce
Steps to reproduce the behavior:

From David's capsule, call df = load_data_from_docDB()
check df[df.duplicated()] and you'll see that there are 629 duplicated entries.
See duped_entries.csv

Expected behavior
There shouldn't be duplicates data entries.
Screenshots
N/A, see CSV of duplicated entries.
Found bug on code ocean capsule, running on chrome on a mac, but none of this info should matter.

This is an issue with the queries, not the database.  The capsule you linked to issues two queries and combines the results. The responses overlap. I will fix the script.


Vite 4 ssr build failing

Describe the bug
When updating packages to use Vite 4 the SSR build no longer completes
I get Error: 'Request failed with status code 400' from axios/fetch but those requests seem to all be cancelled before they complete on the client side.
When I build with vite 3.2.5 and corresponding vue plugin build works fine. When I run dev on Vite 4 again everything is fine. Just the SSR build on vite 4 that fails.
(using vite-ssg 0.22.1 in all cases)
Reproduction
yarn build on SSR project with pages that make network requests (I dynamically generate routes but not sure if that matters for this)
System Info
System:
    OS: Windows 10 10.0.22621
    CPU: (32) x64 AMD Ryzen 9 5950X 16-Core Processor
    Memory: 42.91 GB / 63.91 GB
  Binaries:
    Node: 16.19.0 - C:\Program Files\nodejs\node.EXE -- (same issues using Node 18)
    Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 8.1.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 108.0.5359.125
    Edge: Spartan (44.22621.963.0), Chromium (108.0.1462.54)
    Internet Explorer: 11.0.22621.1

Used Package Manager
yarn
Validations

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

I can second this!
Been trying to take quick stabs at this for weeks now, but haven't figured out what to tweak or change to get vite-ssg working with Vite 4.x (and @vitejs/plugin-vue). I've been slammed for a while now though, so I'm no help at all yet.
Just for any wandering devs, I've got quite a few projects using vite-ssg with Vite and @vitejs/plugin-vue needing to be kept at the following versions to prevent the same error:

vite v3.2.5
@vitejs/plugin-vue v3.2.0

Can you provide reproduction to reproduce this ?

Vite v4.1.4, works for me


Add subtitle lines

The user is able to add new subtitle lines at any position.
While clicking on the litte "plus" (Mouseover: "new subtitle line") a new subtitle line appears after the corresponding line. The following subtitle blocks move dynamically.
The user clicks on the "plus":

A new subtitle line appears:

Resolved by 22775e5


udpate chunk/4 to chunk_every/4

Fixes for #13
chunk/4 is deprecated.  Replace with chunk_every/4.
chunk_every/2 and chunk_every/4 were introduced in Elixir 1.5, so this PR removes older versions from the Travis CI.
I've bumped the Elixir version up in mix.exs and bumped the package minor version up to 1.1.0 too.

Coverage remained the same at 100.0% when pulling 6727fdea52e5e59d9923eaa2edff5ead8f1d2c24 on davemenninger:chunk-every into 75788a6db3bae77af515bb9d0cd213182f17d709 on beatrichartz:master.

Coverage remained the same at 100.0% when pulling 6727fdea52e5e59d9923eaa2edff5ead8f1d2c24 on davemenninger:chunk-every into 75788a6db3bae77af515bb9d0cd213182f17d709 on beatrichartz:master.

It seems like some of the test based on timer pass/fail indeterministically.

It seems like some of the test based on timer pass/fail indeterministically.

I checked the downstream dependents: https://hex.pm/packages?search=depends%3Ahexpm%3Aparallel_stream
and some of them still support older versions of Elixir.  How is this usually handled, requiring newer versions of Elixir?  It seems like anything older than 1.6 isn't getting security patches anymore?

I checked the downstream dependents: https://hex.pm/packages?search=depends%3Ahexpm%3Aparallel_stream
and some of them still support older versions of Elixir.  How is this usually handled, requiring newer versions of Elixir?  It seems like anything older than 1.6 isn't getting security patches anymore?


Add some tests for pkg/git/git.go

Changes
Add some more tests for pkg/git/git.go
We are creating a fake local git repo where to clone from to avoid
network flakiness.
/kind misc
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[X] Includes tests (if functionality changed/added)
[NA] Includes docs (if user facing)
[X] Commit messages follow commit message best practices
[NA] Release notes block has been filled in or deleted (only if no user facing changes)

NONE

Weird unit-tests definitively pass under my VM, let's see why it's failing on CI,

/hold

/hold cancel
Tested (and fixed it) locally with gcr.io/tekton-releases/dogfooding/test-runner let's see if it works now

/retest

/retest

/lgtm


SD: Fix unet untuned opt_flags

Motivation
I didn't make the correct change to the untuned opt_flags for unet in #1910 😬
Changes

correct my sloppy copy/paste for the untuned unet default compilation flags that introduced an extra 'detach' into what should have been 'iree-global-opt-convert-1x1-filter-conv2d-to-matmul'

Possible Problems/Concerns

ROCM is actually slower with these flags than having them broken. ~1.75 it/s broken, ~1.5 it/s with this fix for a SD 1.5 based model.

I manually made this changes in my local install and there is still a slight decrease in performance than what used to be available to us by as low as 2it/s to as high as 5it/s. Where is this gap coming from?


[native_assets_cli] Use JSON instead of YAML

https://github.com/dart-lang/native/issues/991

coverage: 92.062% (-0.05%) from 92.111%
when pulling dffba563bd903856a85093db06d62a9cc91fa5fe on use-json
into 7e1e2b73a57507e6cb04b25e93228fc10ef689f8 on main.

Should this rather be based of the move-to-hook/ PR?

Should this rather be based of the move-to-hook/ PR?

Yeah, I tried to do that. but then the CI didn't trigger, so I based it on main again... 🤷


rendering issues with scaling in sway

When I set my scaling to anything larger than 1 in sway, hyprlock renders at an incorrect resolution, as if compensating for scaling like an XWayland window. Since the lockscreen works differently, however, the output isn't just blurry, but there's a black area around the scaled down "window" of hyprlock. It's not a fractional scaling problem, setting it to 2 has the same effect, the rendered part is just even smaller.
hyprlock at 1.74 scaling:

equivalent swaylock-effects at 1.74 scaling:

(how did I get those screenshots? sleep 2 && grim)
log output:
[LOG]   | got iface: wl_shm v1
[LOG]   | got iface: wl_drm v2
[LOG]   | got iface: zwp_linux_dmabuf_v1 v4
[LOG]    > Bound to zwp_linux_dmabuf_v1 v4
[LOG]   | got iface: wl_compositor v6
[LOG]    > Bound to wl_compositor v6
[LOG]   | got iface: wl_subcompositor v1
[LOG]   | got iface: wl_data_device_manager v3
[LOG]   | got iface: zwlr_gamma_control_manager_v1 v1
[LOG]   | got iface: zxdg_output_manager_v1 v3
[LOG]   | got iface: ext_idle_notifier_v1 v1
[LOG]   | got iface: zwp_idle_inhibit_manager_v1 v1
[LOG]   | got iface: zwlr_layer_shell_v1 v4
[LOG]   | got iface: xdg_wm_base v2
[LOG]   | got iface: zwp_tablet_manager_v2 v1
[LOG]   | got iface: org_kde_kwin_server_decoration_manager v1
[LOG]   | got iface: zxdg_decoration_manager_v1 v1
[LOG]   | got iface: zwp_relative_pointer_manager_v1 v1
[LOG]   | got iface: zwp_pointer_constraints_v1 v1
[LOG]   | got iface: wp_presentation v1
[LOG]   | got iface: zwlr_output_manager_v1 v4
[LOG]   | got iface: zwlr_output_power_manager_v1 v1
[LOG]   | got iface: zwp_input_method_manager_v2 v1
[LOG]   | got iface: zwp_text_input_manager_v3 v1
[LOG]   | got iface: zwlr_foreign_toplevel_manager_v1 v3
[LOG]   | got iface: ext_session_lock_manager_v1 v1
[LOG]    > Bound to ext_session_lock_manager_v1 v1
[LOG]   | got iface: wp_drm_lease_device_v1 v1
[LOG]   | got iface: zwlr_export_dmabuf_manager_v1 v1
[LOG]   | got iface: zwlr_screencopy_manager_v1 v3
[LOG]    > Bound to zwlr_screencopy_manager_v1 v3
[LOG]   | got iface: zwlr_data_control_manager_v1 v2
[LOG]   | got iface: wp_security_context_manager_v1 v1
[LOG]   | got iface: wp_viewporter v1
[LOG]    > Bound to wp_viewporter v1
[LOG]   | got iface: wp_single_pixel_buffer_manager_v1 v1
[LOG]   | got iface: wp_content_type_manager_v1 v1
[LOG]   | got iface: wp_fractional_scale_manager_v1 v1
[LOG]    > Bound to wp_fractional_scale_manager_v1 v1
[LOG]   | got iface: zxdg_exporter_v1 v1
[LOG]   | got iface: zxdg_importer_v1 v1
[LOG]   | got iface: zxdg_exporter_v2 v1
[LOG]   | got iface: zxdg_importer_v2 v1
[LOG]   | got iface: xdg_activation_v1 v1
[LOG]   | got iface: wp_cursor_shape_manager_v1 v1
[LOG]    > Bound to wp_cursor_shape_manager_v1 v1
[LOG]   | got iface: zwp_virtual_keyboard_manager_v1 v1
[LOG]   | got iface: zwlr_virtual_pointer_manager_v1 v2
[LOG]   | got iface: zwlr_input_inhibit_manager_v1 v1
[LOG]   | got iface: zwp_keyboard_shortcuts_inhibit_manager_v1 v1
[LOG]   | got iface: zwp_pointer_gestures_v1 v3
[LOG]   | got iface: wl_seat v8
[LOG]    > Bound to wl_seat v8
[LOG]   | got iface: zwp_primary_selection_device_manager_v1 v1
[LOG]   | got iface: wl_output v4
[LOG]    > Bound to wl_output v4
[LOG] [core] dmabufFeedbackMainDevice
[LOG] output 48 make California Institute of Technology model 0x1402
[LOG] output 48 name eDP-1
[LOG] output 48 description California Institute of Technology 0x1402 (eDP-1)
[LOG] output 48 done
[LOG] Running on sway
[ERR] No cairo surface!
[LOG] Locking session
[LOG] onLockLocked called
[LOG] configure with serial 58698
[LOG] Configuring surface for logical [Vector2D: x: 1637, y: 1023] and pixel [Vector2D: x: 1637, y: 1023]
[LOG] Got fractional scale: 1.7583333
[LOG] configure with serial 58698
[LOG] Configuring surface for logical [Vector2D: x: 1637, y: 1023] and pixel [Vector2D: x: 2878, y: 1798]

my laptop screen resolution is 2880x1800 so neither of the detected ones are quite right. That might be an unrelated rounding error due to fractional scaling tho

Can confirm. The fractional scaling behaves differently on hyprland and sway for some reason.
This patch makes the scaling in sway work properly:
diff --git a/src/core/LockSurface.cpp b/src/core/LockSurface.cpp
index 006a2eb..cd7366d 100644
--- a/src/core/LockSurface.cpp
+++ b/src/core/LockSurface.cpp
@@ -102,13 +102,13 @@ void CSessionLockSurface::configure(const Vector2D& size_, uint32_t ser
ial_) {
     wl_surface_damage_buffer(surface, 0, 0, 0xFFFF, 0xFFFF);

     if (!eglWindow) {
-        eglWindow = wl_egl_window_create(surface, size.x, size.y);
+        eglWindow = wl_egl_window_create(surface, logicalSize.x, logicalSize.y);
         if (!eglWindow) {
             Debug::log(CRIT, "Couldn't create eglWindow");
             exit(1);
         }
     } else
-        wl_egl_window_resize(eglWindow, size.x, size.y, 0, 0);
+        wl_egl_window_resize(eglWindow, logicalSize.x, logicalSize.y, 0, 0);

     if (!eglSurface) {
         eglSurface = g_pEGL->eglCreatePlatformWindowSurfaceEXT(g_pEGL->eglDisplay, g_pEGL->e
glConfig, eglWindow, nullptr);

But it breaks it in hyprland, where hyprlock always fits the output, but widgets are not scaled.
I am not fully sure, what is intended here.

can you post a wayland_debug from sway
also tf is that lockscreen lmao

sway.log

also tf is that lockscreen lmao

probably using sway+hyprlock as a bsod for hyprland xD

also tf is that lockscreen lmao

I just like having a weird lockscreen 😅 I made it myself with some html+css and a QR code generator, rendered into png via FF.

probably using sway+hyprlock as a bsod for hyprland xD

I don't use hyprland at all, I just got frustrated with the absolute state swaylock-effects is in, so I'm looking to switch to hyprlock for my sway setup.

wayland_debug

I tried to look it up, but I'm not sure how to do that. Seems to be something different than the normal sway debug output, right?

WAYLAND_DEBUG=1 hyprlock |& tee ~/debug.log

I don't see a problem here... maybe sway's fractional scale on lockscreens is broken?

Could be.
Sway and river behave the same.
Niri (smithay impl) errors with EXT_SESSION_LOCK_SURFACE_V1_ERROR_DIMENSIONS_MISMATCH
Should we disable fsv1 for non-hyprland compositors for now?
There is one thing I don't really understand, but it could be that I am misunderstanding fsv1.
Shouldn't the widget dimensions scale somehow? Because right now the fractionalScale does not influence the size of widgets at all.

Should we disable fsv1 for non-hyprland compositors for now?

we can add an option 0 disable 1 enable 2 default auto

Niri (smithay impl) errors with EXT_SESSION_LOCK_SURFACE_V1_ERROR_DIMENSIONS_MISMATCH

This just appeared: https://github.com/Smithay/smithay/pull/1496, I guess it fixes that

correct, it should

Niri works as expected with https://github.com/Smithay/smithay/pull/1496.
So this is probably a wlroots bug.

likely


Fix: accepts both ; and blank space as separators when parsing a span

Fixes: https://github.com/php-tui/php-tui/issues/145
@dantleech What do you think? Since we're a subset, we can be a bit more flexible in this part ...

For now I'd rather keep it strictly the same as Symfony.

Sounds reasonable! =)


Force student to type something before ending the exam

We always have a handful of students who say that they ended an exam by mistake, because they didn't read the dialog messages.
We could force the students to engage their brains a bit by asking them to type something in a box before they're allowed to end. This could just be the word "end", or something unique to the exam so that they can't claim to have ended the wrong exam by mistake.
To make it so the student needs to type "end", the confirmation dialog to end the exam should have an input box in it.

That will require setting up a new modal, in themes/default/templates/modals.html
Then make a variant of showConfirm that shows the new modal. Call it something like confirmEndExam.
Finally, change the showConfirm call in Numbas.Exam.tryEnd to call the new function.

Hi, it's my first time contributing to open source and I would like to work on this issue.

Hi, thanks for offering!
First you should get the Numbas editor running on your computer, so you can test the code. Read our contribution guidelines at https://www.numbas.org.uk/contributing-to-numbas/#contributing-code.
I'll add a rough outline of what needs to be changed to the top of this issue.

is this still open?
can i work on this?

Hello!
Is this issue still open?
I am a first-time contributor, and I would like to help.
Thanks!

@infoalisaa Yes, it's still open. Open a pull request when you've got something for me to look at.

Hi, is this issue still open?

@abc22413 yes, it is.

Hi, Is this issue still open ?. I am a first time contributer i would like to have go at this issue.


Add Pin methods to AnyPin and convert between v1::Pin and v2::Pin

Although there is a one-to-one mapping between Pin<I, M> and AnyPin<Id = I, Mode = M>, the compiler doesn't know that. Provide a means to convert between the two, and implement all of Pin's public methods in AnyPin.
@ianrrees, this is just a quick PR to show you what I mean. I still need to verify one safety concern, and I would like to flesh out the documentation more. I think the topic deserves more attention than it's getting right now.

Actually, I think I just figured out how to do it without any unsafe code.

Unless anyone else has comments, I think this is ready to merge.


Improve merging of host arguments and flake outputs

Create a merge function that can deal with attrsets and lists and use it for:

merging host arguments
configuration outputs - use it in foldHosts and allow for nixosConfigurations escape hatch

Also fix the issue of packagesBuilder overriding otherArguments.packages, by merging each output manually with mkOutput function. Also cleans up the output merging code, its just two strings passed to a function. This doesn't require the merge function.

That's a lot of changes, are you sure that everything works as expected?

I tested hostDefaults.modules and hostDefaults.extraArgs with the examples. The resulting config of each host came out right. Folding hosts works, so theres no regression there. The outputs and builders work as expected. I have not tested patching, but this PR doesn't affect that. I think I've covered it all, but it might be good for someone else to go over it too.


[Question] Are Generators More Performant than Loops

Hi
In the documentation generator functions are described as lazy. Does that mean they are more performant than loops.
in the example below what is the difference between example1 and example2? Is there any benefit of lazy execution. Is it correct to say that example1 is O(2n) and example2 is O(n)

void main() {

  var e1 = example1( [
    {'number': 1},
    {'number': 2},
  ]);

  print(e1[0].number);
  print(e1[1].number);

  var e2 = example2( [
    {'number': 1},
    {'number': 2},
  ]);

  print(e2[0].number);
  print(e2[1].number);
}

List<Dto> example1(List<Map<String, dynamic>> json) {
  List<Dto> list = [];
  for (var j in json) {
    list.add(Dto.fromJson(j));
  }

  for (var l in list) {
    l.number += 42;
  }

  return list;
}

List<Dto> example2(List<Map<String, dynamic>> json) {
  List<Dto> list = [];

  Iterable<Dto> g() sync* {
    for (var j in json) {
      var dto = Dto.fromJson(j);
      list.add(dto);
      yield dto;
    }
  }

  for (var l in g()) {
    l.number += 42;
  }

  return list;
}

class Dto {
  Dto(this.number);

  factory Dto.fromJson(Map<String, dynamic> json) =>
    Dto(json['number']);

  int number;
}

Thank you

A lazy approach to computation can be significantly more performant than an eager one if we consider cases like "from this infinite sequence, take the first 3 elements". ;-)
However, it's not faster when the two approaches are doing the same job. In particular, a method with a sync* body is known to incur some extra costs, compared to plain iteration, e.g., using a for statement. So it's definitely not a good idea to use sync* in order to improve the performance—you would use sync* because performance isn't critical, and the resulting code is more readable and more maintainable etc.
With respect to the concrete example, it looks like you could simplify a number of things and end up with the following:
void main() {
  var e1 = example1([
    {'number': 1},
    {'number': 2},
  ]);

  print(e1[0].number);
  print(e1[1].number);

  var e2 = example2([
    {'number': 1},
    {'number': 2},
  ]);

  print(e2[0].number);
  print(e2[1].number);
}

List<Dto> example1(List<Map<String, dynamic>> json) =>
    [for (var j in json) Dto.fromJson(j)..number += 42];

List<Dto> example2(List<Map<String, dynamic>> json) =>
    [for (var j in json) Dto.fromJson(j)..number += 42];

class Dto {
  Dto(this.number);
  factory Dto.fromJson(Map<String, dynamic> json) => Dto(json['number']);
  int number;
}

In this approach we're using a list literal with a <forElement>. This construct is similar to a for statement, except that it delivers elements that are inserted into list. You may have code which is a lot more complex, and hence you might not want to perform all these simplifications, but it is surely more performant if you avoid creating multiple iterables (lists) and avoid iterating over them multiple times, unless that is actually required.


Clean deprecated hidden directories

Resolves #836
This PR removes 1 submodule and 2 hidden directories that are not used anymore.

I would prefer if we keep .spack_env for now


Update url for Stan logo

any way to make the logo less big?

It's a bit smaller now.

@ariddell, thanks!