flatten-array: Indicate that it is not allowed to use method from stdlib

I propose stating it clearly that is not allowed to use Array#flatten, like in the leap exercise:

If your language provides a method in the standard library that does this look-up, pretend it doesn't exist and implement it yourself.

Hi @joaomarcosgris Thanks for bringing this up!
It should not be stated in the description because it is meant to use the Array#flatten method.
I know that mentors sometime ask students to implement it themselves, but as it is one of the very first exercises in the track (unlocked by Hello World, so even before the first mentored exercise), it is really meant to be a 'warming up' exercise. Also, as Exercism is meant to learn what the general libraries has to offer, why should we ask students to ignore methods that already exist?
(And yes, Leap does that too, I know. I'm not happy with that either.)
@exercism/ruby I feel we should remove this exercise entirely from the track, but I've been hesitating because we don't have a few nice and easy exercises after Hello World. It's currently Flatten Array and Gigasecond only.
. With using the Array#flatten method, it's actually too easy for the Ruby track. As an 'implement it yourself' we should move it up in the track (a bit).
One other option for replacement would be Resistor Color 1. We don't have that implemented because it's also too easy, but at least it is less ambiguous for mentors. Maybe a better choice unless we have something else?
I see 3 options:

Add Mentor Notes to explain to not ask for 'DIY implementation' when students start with the Array#flatten solution
Move Array#flatten up (a bit) in the track and implement Resistor Color #1 as a replacement.
Find a better replacement (I'm not aware of one within ProbSpec.)

Thoughts?

Hello!
As a follower of the exercises, I did find the flatten-array exercise to be ambiguous. I thought that using Array#flatten meant cheating but following @F3PiX line of thought about it being a warm up exercise, now it makes sense. Still, I think it's confusing and as a user I would have probably preferred it to be more challenging (explicitly asking for a DIY implementation) but further in the track.
So option 2 would be reasonable to me 👍

I thought that using Array#flatten meant cheating

I've always assumed this also (and told students the same).  I didn't see the point of a one-liner that uses just two library methods.  I guess if I'd understood how early this was on the track perhaps it makes more sense.  The UI really should expose this more to mentors (where in the track an exercise is).

Still, I think it's confusing and as a user I would have probably preferred it to be more challenging (explicitly asking for a DIY implementation) but further in the track.

I can't recall any students that I've asked for a manual solution who had much trouble, perhaps I've just been lucky...?  So I agree this would be a lot better moved later in the track and made a more advanced exercise.

I totally agree with you that the UI should expose the position of an exercise in the track. 💯

I can't recall any students that I've asked for a manual solution who had much trouble
I'm also thinking of the mentors, not only the students.  Did you find it fun to mentor?

Treated as a more advanced problem (where you have to implement it from scratch) it's reasonably interesting to mentor.  I wouldn't really choose to mentor it "as-is" as a "early" exercise.  I don't get much enjoyment out of exercises where I just tell someone which method to call.

I don't get much enjoyment out of exercises where I just tell someone which method to call.

I don't usually tell them which method to call, but will point them to the suggestion of at least reading the method names on objects that they use, as for me, it helps to have seen the "word" and starts to build a vocabulary, even if I don't know the details of that "word" yet.
From the terminal...
ri Array

Or even seeing a word that jumps out at you in relation to what you are trying to solve:
irb --simple-prompt
>> Array.intance_methods.sort
=> # list of method names sorted

It should not be stated in the description because it is meant to use the Array#flatten method.

Could a hint be added to the instructions then that it's possible (and permissable) to do this using built-in library methods so at least all the mentors are clear in the future that that's allowable?

I would put it in the mentor notes, rather than in the instructions.  At all points, Students should know they can use the methods available unless explicitly directed to not do so.

At all points, Students should know they can use the methods available unless explicitly directed to not do so.

Lately doesn't seem very many are using the methods though - do you think they want to do it the hard way or just don't know there is an easy way?  I'm going to start asking them. :-)

My bet is they heard in tutorials that they shouldn't use the standard lib to solve programming problems. :-) I'd be interested to hear the answers Josh!

@joaomarcosgris I'd like to close this issue, unless you think it isn't finished?
Recap:
The Flatten Array exercise is not the ideal starter after Hello World, because it't too easy with the built-in Ruby method, and it's not cool to start the track with DIY implementing core lib methods.
We're going to add Resistor Color (#1) as a replacement.
We still need to decide if we remove Flatten Array entirely from the Ruby track.

Yes! I think it is better to close it. Thanks for the recap!


Trouble with featherboard

I am working on a server, and wanted to use featherboard as one of my plugins, but I can't get it to activate!  When i /pl and my plugins show up featherboard is red and inactive.  How can I activae it?

Use the support of Featherboard and not this plugin.

??

This is for the plug in Scoreboardstats not for Featherboard.

but featherboard is what is supposed to work

Use the support of FeatherBoard. This is a different plugin.

ohh sorry could you give me a link to the right one

http://mvdwsoftware.freshdesk.com/

there is nothing on that site...

New support ticket


USHIFT-1528: Don't throw an error when there is no rollback deploy

System without rollback deployment is valid system.
By not throwing an error in this situation, MicroShift will continue start up (without restoring anything) to give cluster a chance to recover instead of just failing.

This looks OK, but really could use some more "why" in the commit message to explain why the change is needed.
Based on the bug ticket, I think we end up in the state where the system is unhealthy but there is no rollback commit if the first image booted fails somehow, right? Don't we want users to clean up that data and restart us? Maybe not because there's unlikely to be anything of value?

/lgtm


disable broken DAO Timelock

The boba_deployer sequence currently breaks at
  // const initiateTx = await Timelock.queueTransaction(
  //   GovernorBravoDelegator.address,
  //   0,
  //   '_initiate()',
  //   initiateData,
  //   eta2
  // )

  // await initiateTx.wait()

This is not a critical part of the contract deployment stack? Commented out for now...

Codecov Report

Merging #448 (b6454c8) into develop (430f09f) will increase coverage by 14.76%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop     #448       +/-   ##
============================================
+ Coverage    72.41%   87.18%   +14.76%
============================================
  Files           59       34       -25
  Lines         1820     1116      -704
  Branches       279      160      -119
============================================
- Hits          1318      973      -345
+ Misses         502      143      -359

Flag
Coverage Δ

contracts
87.18% <ø> (ø)

core-utils
?

data-transport-layer
?

message-relayer
?

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

Impacted Files
Coverage Δ

...kages/data-transport-layer/src/utils/validation.ts

...ices/l1-ingestion/handlers/state-batch-appended.ts

packages/message-relayer/hardhat.config.ts

packages/core-utils/src/common/index.ts

packages/core-utils/src/batches.ts

.../l1-ingestion/handlers/sequencer-batch-appended.ts

packages/core-utils/src/coders/index.ts

packages/core-utils/src/alias.ts

packages/data-transport-layer/src/utils/eth-tx.ts

packages/data-transport-layer/src/utils/common.ts

... and 15 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 430f09f...b6454c8. Read the comment docs.


Move eks-a components and kindnetd manifests to versioned folder

Release tool changes for aws/eks-anywhere-build-tooling#406
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/override eks-anywhere-release-tooling-presubmit
This won't pass until the cluster-controller build uploads the manifests in the path that the release-tooling looks for.

/cherry-pick release-0.7


Enable stale bot

We have a lot of older issues, and will eventually have more. Many of our projects use stale bot, we should configure it to work with this one, too.

This seems to be enabled already :) closing


url rewriting not working - pico 1.0

I can't seem to get clean urls.
I'm using Apache and have the mod_rewrite module loaded. Now my URL's look like "site.dev/?subfolder/page" and "site.dev/?aboutme".
Forcing the rewrite in config strangely fixes the twig variables — {{page.url}} — to "site.dev/subfolder/page" and "site.dev/aboutme". But when I copy and enter those urls in my browser I get a server 404. The urls with the questionmarks still work, though.
I tried adding R=301 flags to both RewriteRules in the .htaccess file with no success.
What am I missing?

Apache's mod_rewrite module is likely not enabled.
First of all, make sure that you've actually uploaded Pico's .htaccess file to your server - it's a hidden file and is often left behind. Furthermore, make sure that the file is actually named .htaccess on your server, not htaccess, htaccess.txt or anything else.
Try removing the <IfModule mod_rewrite.c> and the matching </IfModule>. If you get a 500 Internal Server Error, you can be sure that mod_rewrite isn't set up correctly. Check Apache's error.log for the error message. It likely tells you one of the following:

Apache's mod_rewrite module isn't enabled/loaded. Ask your server administrator how to enable/load mod_rewrite (e.g. on Debian/Ubuntu you'll have to run sudo a2enmod rewrite and sudo service apache2 reload).
You're not allowed to use mod_rewrite in a .htaccess file. Make sure AllowOverride FileInfo (or AllowOverride All) is set in your virtual host config file.

If you don't get a 500 Internal Server Error, try accessing http://example.com/pico/CHANGELOG.md - you should see Pico's 404 page (if you rather see Apache's 404 page, make sure the CHANGELOG.md file exists). If you rather see the contents of the CHANGELOG.md, you can again be sure that mod_rewrite isn't set up correctly. Again, check Apache's error.log for the error message.

I'm developing locally. I had the mod_rewrite enabled.
But I had set the AllowOverride to all in the vhosts config file, but not in the httpd config file. It was still set to none  over there. Setting it to all fixed the issue. Thank you for the quick reply and for maintaining my favourite cms.


DRILL-2139: Support distinct over star column

@hsuanyi, what about the case when a new column appears during reading the table in one of the consequent batches. Will it be handled correctly with the changes in this PR?


Quickstart broken: modelmesh-serving svc not created in --namespace-scope-mode: secret "model-serving-etcd" not found

Describe the bug
The quickstart install instructions no longer work correctly. After deploying a model, the InferenceService does not get into READY state. Inference requests cannot be performed.
The behavior is similar to #433 but the reason seems to be different. In logs I see:
Normal   Scheduled    1s    default-scheduler  Successfully assigned modelmesh-serving/modelmesh-serving-mlserver-1.x-66bfb5668f-zlcbv to mplaneta-cluster
Warning  FailedMount  1s    kubelet            MountVolume.SetUp failed for volume "etcd-config" : secret "model-serving-etcd" not found

The secret does not exist and if I try to create it manually, it is deleted immediately. If I recreate the cluster without --namespace-scope-mode, the erroneous behavior disappears.
To Reproduce
Prepare:
RELEASE="release-0.12"
git clone -b $RELEASE --depth 1 --single-branch https://github.com/kserve/modelmesh-serving.git
cd modelmesh-serving

Install
kubectl create namespace modelmesh-serving
./scripts/install.sh --namespace-scope-mode --namespace modelmesh-serving --quickstart -d

kubectl apply -f - <<EOF
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  name: example-mnist-isvc
  annotations:
    serving.kserve.io/deploymentMode: ModelMesh
spec:
  predictor:
    model:
      modelFormat:
        name: sklearn
      storage:
        key: localMinIO
        path: sklearn/mnist-svm.joblib
EOF

Environment (please complete the following information):
release-0.12
kubectl version
Client Version: v1.29.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.3

if you use --namespace-scope-mode, you must label your namespace with modelmesh-enabled=true
For example:
kubectl label ns my-namespace modelmesh-enabled=true

The secret should be created right after.


HIVE-23389

I guess you plan to add a test when you commit in Calcite.
Yes, I could not repro the issue in Hive and I do not see any regressions, hence that should be sufficient. However, I will add a test to Calcite as part of the commit (assuming I can reproduce the issue over there).


Container image misses go and make commands

Hi,
First of all, thank you for providing this repo as an example of a containerized Go dev environment!
When launched this repo as a Dev Environment in Docker Desktop 3.5.2 (66501) and opened in VSCode, both go and make are missing from the container image:
vscode ➜ /com.docker.devenvironments.code (main) $ go version
bash: go: command not found
vscode ➜ /com.docker.devenvironments.code (main) $ make
bash: make: command not found

Could it be because the main language of this repository is Dockerfile instead of Go?

Oh, good catch! We should probably add make to the Dev Envs containers


jsconfig creation action in status bar disappeared?

Testing #16534
Maybe I was dreaming this... but didn't there used to be a little green lightbulb in the status bar that would offer to create a jsconfig.json for you for JS projects? If so, it is no longer showing up for me. If not, then I think we should have one.

VSCode Version: Code - Insiders 1.8.0-insider (7499a9f3c565f4fbe5205e30c8664e5a5a11ae94, 2016-12-06T16:16:15.865Z)
OS Version: Windows_NT ia32 10.0.14965

We removed this with #15213 as TypeScript can now pick up inferred projects better so a jsconfig.json is not needed in most cases.


Put plus/minus buttons at the end of the input list for mutations

fixes https://github.com/microsoft/pxt-arcade/issues/2979
The issue was the inputs for the block and the secret shadow block in https://github.com/microsoft/pxt-blockly/blob/8496a44d4ffeddc24affebd91d509773fbb29209/core/insertion_marker_manager.js#L273 weren't ordered the same, so sometimes it would try to set values on things that didn't exist :\ it's weird that it worked for so many blocks???
Anyways this change makes the plus/minus buttons just be at the end of the inputList always. I don't 100% understand mutations still so let me know if this is bad -- I tested this with all the arcade blocks w/ the expanding (I also was going to try microbit/minecraft but it looks like there aren't that many for them?)
Try it here!: https://arcade.makecode.com/app/c844ab3378a131c5ee565b297df9c92ad13d49f5-0e1c9eee29
Also I changed it from showAdd to showPlus because addPlusButton was confusing me ><

looks good! should we also add a check to make sure the input field exists before setting it in the insertion marker manager? it will make it harder to notice errors like this with the insertion marker blocks but also i think it's not a HUGE deal if the insertion block is slightly the wrong size... up to you!

looks good! should we also add a check to make sure the input field exists before setting it in the insertion marker manager? it will make it harder to notice errors like this with the insertion marker blocks but also i think it's not a HUGE deal if the insertion block is slightly the wrong size... up to you!

yeah I'll do that!

yeah I'll do that!


Only one category can be sorted at a time

Users should be able to specify more than one category to filter by, either through AND or OR.

Feature added in 727b8c549d3c73cb16c88f6b403222fa6bff1f8a.


can't find package not in Hackage/Stackage?

Thanks for making intero... I just tried it under emacs-24.5 and stack-1.1.2 (on Fedora).
I tried it on my ugly code https://github.com/fedora-haskell/fedora-haskell-tools/ which is not in Hackage, and doesn't have a stack.yaml file. Then intero:backend:fedora-haskell-tools shows:
Run from outside a project, using implicit global project config
Using resolver: lts-3.22 from implicit global project's config file: /home/petersen/.stack/global/stack.yaml
The following target packages were not found: fedora-haskell-tools

intero seems to be running stack ghci --with-ghc intero "--docker-run-args=--interactive=true --tty=false" --no-load --no-build --ghci-options -odir=/tmp/intero9180mOM --ghci-options -hidir=/tmp/intero9180mOM fedora-haskell-tools. If I replace s/fedora-haskell-tools/./ there it can run okay.  So maybe it is a stack issue?
(When I tried loading a file from cabal-rpm which is in stackage/hackage the file this doesn't happen though I couldn't get M-. to work yet.)

You need a stack.yaml file, yeah. You can get one via stack init. It uses your .cabal package name as the default stack target, but you don't have a stack file.
Meanwhile, I pushed a fix which doesn't pass any default target if there is no stack config.


Click on Article Doesn't Redirect After Grouping.

Grouping somehow causes the execute on TransferArticleController to break.

Resolved in #64


[WIP] Replace panic! and unreachable! with internal_error!

I've gone through the "low risk" packages listed in #2046 and replaced panic! and unreachable! with internal_error! instead. For panic!, I've just replaced the name and haven't changed any parameters. For unreachable, there are two different cases:

A call with no parameters, i.e. unreachable!(). In this case I replaced it with internal_error!("unreachable"), so that it's still clear that this should never happen.
A call with an error string, e.g. unreachable!("Any other pattern should have given a parse error"). In this case, I've added "unreachable: " at the beginning of the string, again to make it clear that the code isn't expected to ever run.

I just realized that I haven't used user_error! at all, so I will go through previous uses of panic! and try to determine where user_error! is better than internal_error!.

@matssigge Thank you for attempting this! Would you like any help running the test suite locally? Our GitHub-hosted CI tests have also gotten better this year, if that's sufficient.

@JanCVanB I'm sorry, but I don't have the time to work on this right now. I was between projects at the beginning of the year, giving me some free time, but since February I'm working full time, and now I don't have the bandwidth.

@matssigge That's okay, congratulations on your full-time work! I hope that your and Roc's paths cross again someday 🙂


This is empty-commit to retrigger-build

/approve

/lgtm
/approve

/lgtm
/approve

/pj-rehearse auto-ack


ENH restriction on overload length is too tight

For a single layer of other domains, we can overload up to the full length of the other domain just fine.

cc @michaelbuehlmann

I don't think this will work if the decomposition along an axis is 2 (a particle will need to be sent to the neighbor twice, once left and once right – which I don't think is possible with the current implementation). Can we change the assert to use the 0.5 factor if there are only 2 ranks along that dimension, and the full cell size if the rank count is >= 3?

@beckermr, if my changes look good to you, feel free to merge

LGTM and thank you!


[bug]: NeoTree position can only be left or right

Description
When setting Neotree integration configuration like this
    -- Supported integrations that might clash with `no-neck-pain.nvim`'s behavior.
    --- @type table
    integrations = {
      -- By default, if NeoTree is open, we will close it and reopen it when enabling the plugin,
      -- this prevents having the side buffers wrongly positioned.
      -- @link https://github.com/nvim-neo-tree/neo-tree.nvim
      NeoTree = {
        position = 'float',
        -- When `true`, if the tree was opened before enabling the plugin, we will reopen it.
        reopen = true,
      },
    },

Neovim will start with following error
NeoTree position can only be `left` or `right`

which is not really true, since neo-tree.nvim now supports a lot more position options
https://github.com/nvim-neo-tree/neo-tree.nvim?tab=readme-ov-file#position
(or maybe I'm missing something)
btw. super cool plugin, I'm enjoying it quite a lot today :D
Neovim version
0.10.x
Steps to reproduce
Set opts for integrations like this
    integrations = {
      -- By default, if NeoTree is open, we will close it and reopen it when enabling the plugin,
      -- this prevents having the side buffers wrongly positioned.
      -- @link https://github.com/nvim-neo-tree/neo-tree.nvim
      NeoTree = {
        position = 'float',
        -- When `true`, if the tree was opened before enabling the plugin, we will reopen it.
        reopen = true,
      },
    },
    ```
    and then reopen Neovim

### Relevant log output

```shell
.../nvim/lazy/no-neck-pain.nvim/lua/no-neck-pain/config.lua:400: NeoTree position can only be `left` or `right`

# stacktrace:
  - /no-neck-pain.nvim/lua/no-neck-pain/config.lua:400 _in_ **defaults**
  - /no-neck-pain.nvim/lua/no-neck-pain/config.lua:459 _in_ **setup**
  - /no-neck-pain.nvim/lua/no-neck-pain/init.lua:80 _in_ **setup**
  - init.lua:34

Self-service

[X] I'd be willing to fix this bug myself.

Hey @Kamyil, thanks for using the plugin and reporting the issue!
This is a leftover from the legacy implementation, I'll double check but right now we should only care about left or right, the other positions we can ignore them

Hey, I've released the fix in 2.0.4!

Wow, that was quick :o
Thank you so much! you're rockin'


fix: remove print statement when writing data to an output directory

Signed-off-by: ankitm123<EMAIL_ADDRESS>What this PR does / why we need it:
This PR removes the print line when writing the data to an output directory. This line printed lot of statements, which made it hard to debug issues with helm template.
fixes #8672

Thanks @ankitm123.
I've dug a little deeper into this and I was wrong.  The printf seems to be intentional, as it comes from helm v2:
https://github.com/helm/helm/blob/dev-v2/cmd/helm/template.go#L282
Also, removing it may be considered a breaking change as existing scripts could be expecting this output.
Finally, I wonder if the line should not be printing to out as in v2.  Meaning:
	fmt.Fprintf(out, "wrote %s\n", outfileName)

I'll have to defer to someone with more experience.
Maybe @bacongobbler or @hickeyma could weigh in?

I think it could be shown when the debug flag is set to true 🤔 . Printing it all the time, seems like noise to me.

Finally, I wonder if the line should not be printing to out as in v2. Meaning:
	fmt.Fprintf(out, "wrote %s\n", outfileName)

Ah, that explains why I did not see those lines when doing helm template with helm v2.

@bacongobbler @hickeyma thoughts? I can make it the same as helm v2, if that is the intended behavior 🤔 .

I think it's fine when it's only one chart, but imagine the scenario where we have many charts, it just becomes noise (informational noise - if that's even a thing :smile: ).
Also, if a --supress-ouput flag can be added to helm template, then it wont be a breaking change if not specifying that flag would set that option to false, right?
wdyt?

Also, if a --supress-ouput flag can be added to helm template, then it wont be a breaking change if not specifying the flag would set that option to false, right?

How about just doing something like:
$ helm template mychart --output-dir ./out | grep -v "wrote "

Yeah, that is what I do now (I edited my comment some time before to reflect that idea). But I honestly prefer it to be a flag, but I am ok with this for now ...

lso, if a --supress-ouput flag can be added to helm template, then it wont be a breaking change if not specifying the flag would set that option to false, right?

I don't think we should add another flag just to suppress output.

I guess this PR can be closed then, I am fine with using grep for this :+1:

Thank you anyway @ankitm123


backport-2.1: cdc: Retry on certain sink failures

PR: https://github.com/cockroachdb/cockroach/pull/30157
From release notes:

CHANGEFEEDs will retry, rather than abort, in certain cases when failing to emit to a sink. [#30157][#30157] {% comment %}doc{% endcomment %}

No doc updates needed


All the code

There's a few rough edges and missing features:

it will silently overwrites existing build and release zip files (if you re-use a build label, for example)
There's no code in place that supports a persistent 'lib' directory (for apps and modules that will be deployed on their own schedule, separate from the project release cycle)
setup.py needs love
the --append-wsgi option was built to support newrelic, but it turns out the newrelic code needs pre-pended.
"paths.json" is thus far undocumented, but it should be pretty easy to figure out if you look at dfd_paths.py

... but I think this is a good conversation starter ;)

Should this get merged since we appear to actually be using this? :)

I'm going to merge now-- we should make sure deployments use the 'cfpb' version from now on


added scan function

A first take following #6.

Codecov Report

Merging #20 into master will increase coverage by 0.8%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master      #20     +/-   ##
=========================================
+ Coverage   93.77%   94.58%   +0.8%
=========================================
  Files           4        5      +1
  Lines         209      240     +31
=========================================
+ Hits          196      227     +31
  Misses         13       13

Impacted Files
Coverage Δ

src/FWF.jl
100% <ø> (ø)
:arrow_up:

src/scan.jl
100% <100%> (ø)

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 f7c645e...79dab6a. Read the comment docs.


Ensure all upstream containers are running the same container version…

… (Fixes #37)

Thanks for the feedback!  I just pushed a change addressing the issues you mentioned.

Ahh, I just realized there were conflicts here, and fixed them up.  Sorry for the delay!

Sorry for the delay :(  Closing as there has been a large refactor (ng branch).  Please re-open a new PR against that.  Thanks!


Add PWM channel option for ws281x device in web interface

The ws281x device has a PWM channel option which was missing from the web interface.

Thank you
@tripplet


Fix linting

I just noticed that not all JavaScript files were being linted... this PR fixes that.

Interesting, I've never really thought about using the Object.prototype of hasOwnProperty to make sure it's running the correct function.

Yeah, it seems unlikely, but apparently it causes issues often enough to be discouraged. Funnily enough there is a new static method Object.hasOwn to replace hasOwnProperty, I think for this reason. Unfortunately the new method is only available in Node 16+.


Add NOTICE.txt with third-party license information

Add COPYING from HDF5 Examples repository to NOTICE
Update README.md to point to NOTICE.txt
Package LICENSE.txt and NOTICE.txt in jar file

Codecov Report

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

@@            Coverage Diff            @@
##             master      #10   +/-   ##
=========================================
  Coverage     93.81%   93.81%
  Complexity       47       47
=========================================
  Files             5        5
  Lines            97       97
  Branches         17       17
=========================================
  Hits             91       91
  Misses            4        4
  Partials          2        2

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 f32d601...584d691. Read the comment docs.


React TypeScript minor color issue

VSCode Version: 1.4.0-insiders
OS Version: OSX

Steps to Reproduce:

Notice how text test has different color in first div

For minimal steps to repro., paste:
var a = (

        test1
        test2
        test3

);

in a new document and save as color-test.tsx.

test2 and test3 have wrong foreground color. test1 has the correct one.
Removing attribute part c='' from line 4 and 5 corrects the color.

Gets even more interesting in this case:

3 different colors

#3008 is the cause of this bug.


Orval is not generating all of the models found in OpenAPI json, but does try to import them in endpoints anyway

What are the steps to reproduce this issue?

Run orval with my specific orval configuration, orval version and OpenAPI json.

What happens?
Orval doesn't generated all of the models found in OpenAPI json, but does try to import them as types in endpoints.
Previous versions of orval (6.31) generated those files successfully.
Not generated files are XEmbeddingOptions, XMetadataEmbeddingRecord and XMetadataSearchResult, where X is "Basic", "SentenceWindow", "AutoMerging", "HypotheticalQuestion" and "Hierarchical".
Those types are generated from a generic type. They are defined in the OpenAPI file.
e.g. in generated file sentence-window-strategy.ts, we have:
import type {
  GetSentenceWindowEmbeddingOptionsParams,
  SentenceWindowEmbeddingOptions,
  SentenceWindowMetadataEmbeddingRecord,
  SentenceWindowMetadataSearchResult,
  SentenceWindowPreviewParams,
  SentenceWindowSearchParams,
} from "../../model";
import getSentenceWindowEmbeddingOptionsMutator from "../../axios";
import sentenceWindowSearchMutator from "../../axios";
import sentenceWindowPreviewMutator from "../../axios";

Types SentenceWindowEmbeddingOptions, SentenceWindowMetadataEmbeddingRecord, and SentenceWindowMetadataSearchResult don't exist.
What were you expecting to happen?
Models which are imported in endpoints are generated successfully.
Any logs, error output, etc?
🍻 Start orval v7.3.0 - A swagger client generator for typescript
(node:34056) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
(Use node --trace-deprecation ... to show where the warning was created)
learn-rag-client: Cleaning output folder
🎉 learn-rag-client - Your OpenAPI spec has been converted into ready to use orval!
Any other comments?
OpenAPI json: https://pastebin.com/SsReLbQp
orval.config.ts
import { defineConfig } from "orval";

export default defineConfig({
  "learn-rag-client": {
    input: {
      target: "http://localhost:5186/swagger/v1/swagger.json",
      filters: {},
    },
    output: {
      client: "axios-functions",
      workspace: "src/api/",
      target: "./endpoints",
      schemas: "./model",
      mode: "tags-split",
      clean: true,
      prettier: true,
      urlEncodeParameters: true,
      allParamsOptional: false,
      override: {
        useTypeOverInterfaces: true,
        mutator: {
          path: "./axios.ts",
        },
      },
    },
  },
});

axios.ts
import Axios, { type AxiosRequestConfig } from "axios";

const axios = Axios.create();

export default async function customInstance<T>(
  config: AxiosRequestConfig,
  options?: AxiosRequestConfig
): Promise<T> {
  const { data } = await axios<T>({ ...config, ...options });
  return data;
}

workspace folder:
│   axios.ts
│   index.ts
│
├───endpoints
│   ├───auto-merging-strategy
│   │       auto-merging-strategy.ts
│   │
│   ├───basic-strategy
│   │       basic-strategy.ts
│   │
│   ├───documents
│   │       documents.ts
│   │
│   ├───hierarchical-strategy
│   │       hierarchical-strategy.ts
│   │
│   ├───hypothetical-question-strategy
│   │       hypothetical-question-strategy.ts
│   │
│   ├───rag-endpoints
│   │       rag-endpoints.ts
│   │
│   └───sentence-window-strategy
│           sentence-window-strategy.ts
│
└───model
        autoMergingPreviewParams.ts
        autoMergingSearchParams.ts
        basicPreviewParams.ts
        basicSearchParams.ts
        getAutoMergingEmbeddingOptionsParams.ts
        getBasicEmbeddingOptionsParams.ts
        getHierarchicalEmbeddingOptionsParams.ts
        getHypotheticalQuestionEmbeddingOptionsParams.ts
        getSentenceWindowEmbeddingOptionsParams.ts
        hierarchicalPreviewParams.ts
        hierarchicalSearchParams.ts
        hypotheticalQuestionPreviewParams.ts
        hypotheticalQuestionSearchParams.ts
        index.ts
        sentenceWindowPreviewParams.ts
        sentenceWindowSearchParams.ts

What versions are you using?
System:
OS: Windows 11 10.0.22631
CPU: (12) x64 12th Gen Intel(R) Core(TM) i7-1250U
Memory: 2.14 GB / 15.63 GB
npmPackages:
axios: ^1.7.7 => 1.7.7
orval: ^7.3 => 7.3.0
react: ^18.3.1 => 18.3.1

Try removing filters in the orval.config.ts. Had the same issue, seem like the whole filters part is unsupported in 7.3.x

We're experiencing the same issue but @sebastijandumancic 's workaround is valid.

Can confirm, removing filters fixed the issue.

I wonder if filters: {} should be ignored as if Filters was not set at all?

I submitted a PR: https://github.com/orval-labs/orval/pull/1740


Update qt3d_git.bb branch to "dev"

"master branch" is no longer there.

Next time, please follow the README file and submit the change to ML.
I've cherry-picked the commit from master branch.


Keybinding to move focus to interactive window code entry cell

Moving issue from vscode-jupyter:
https://github.com/microsoft/vscode-jupyter/issues/475
In short, it would be very helpful to have a dedicated keybinding function which can:

Bring focus to interactive window if not focused
Move cursor to code entry cell

I use the interactive window a lot, and this would really speed up my workflow. cmd 1/2 sort of works, but a dedicate shortcut would be much more ideal. Thanks!

It makes perfect sense to have this command. Not sure about the keybinding but we can introduce the command, and leave the keybindings to users.

@rebornix yes sorry, just the command would be fantastic!

@jaymegordo I'm thinking through how to implement this, it's trivial if the interactive window is the active editor and the command will focus the code input box. However if the interactive window is not active, I guess you would expect the command to find the visible interactive window for you and focus?
Not sure though what's the expected behavior if there are more than one interactive window visible. We can probably focus the first one we find in the editor groups.

@rebornix yeah I was trying to think about that too. I think for me personally, the preferred behavior would be the last (most recently) active interactive window, but I usually only have one IW open, so "first found" would also be completely fine for me. Whichever is easiest/best for you guys!
Just to give you some context, my workflow is to have ~1-10 .py files open between 2 tab groups, with one IW that I use to quickly test out code changes. So basically I'm just very frequently mousing back to my "home" - the code entry cell in the IW - hundreds of times per day.

With the new native interactive window, as soon as the interactive window is activated, e.g. with ctrl+1/2, the input box will automatically receive focus--does that meet your use case @jaymegordo?

@joyceerhl Unfortunately not quite.
This works if you just have side-by-side code editor and IW, but not if say the right side of that screen also has code editors, because it just jumps between active editors, but doesn't focus the IW if its not the active window. It also takes a bit more mental overhead if you don't know which window is currently active, eg sometimes you might have to do ctrl 1/2/1 just so sorta "check" where you are.
A dedicated command would be really nice because you could do one key command and it would always bring you back to the code entry cell of the IW.

Didn't find enough time for this. I still think this is an interesting idea which we can add a command to support. Let's take a look next month.

https://github.com/microsoft/vscode/issues/128497 can be tackled at the same time

Any thoughts to tackle this? Would still be really awesome to have!! Thanks!

still trying to fit it in, seems like it should be pretty straightforward, so we just need to set some time aside for it.

the existing interactive.input.focus command should move focus to the most recently used IW's input box once the next insiders is released.


gn files are not recognized

GN (generate ninja files) are not recognized
https://gn.googlesource.com/gn/

thanks. I suppose it is okay to not have a ftplugin for now?


Skip Memory via RawMemory.get and serde

One of the expensive things in screeps is parsing the memory to a state where it's usable. Given that this already compiles to web assembly and that serde is already being used, how about we skip the MemoryReferences and directly parse the result of RawMemory.get().
This would involve making sure to call RawMemory.set(), but I believe it's well worth the risk to gain in performance and parse the memory directly to a struct.
Any thoughts, reasons why this is a good/bad idea?

A few reasons why I've not made this the default:

JSON parsing is indeed expensive, and JSON.parse is one of the fastest implementations available. Even if we can use a WASM implementation, it's not necessarily going to be faster than the native speed that's offered by default.
Parsing memory ourselves harms interoperability with existing JavaScript codebases. It'd be confusing if the default behavior had updates not propagating to JavaScript until the end of the tick.
If it were to be done automatically in screeps-game-api, it would require some global state within the WASM module, and more logic than I'd care to include in these API bindings.

With that said, I don't think it's a bad idea at all for a project using screeps-game-api to do this! We should definitely be exposing RawMemory.get and RawMemory.set from this crate if we aren't already, and those could be used in conjuction with serde_json::from_slice and serde_json::to_vec to implement local memory parsing on top of screeps-game-api.

All very good reasons.
The one thing I'm looking at that would make it belong more in this package was the auto struct parsing. However, after tinkering with it for a bit, it seemed highly dependant on what you actually want to put in memory, circling back to the idea of doing a user-side parsing.
I added the two methods for raw_memory, I'll open a PR tonight.

Cool, thanks!
For auto-parsing, I think serde_json does have us covered. It wouldn't be a bad idea to publish things like this though- I can imagine a "common screeps-rust patterns" crate could work well built on top of screeps-game-api itself.


CLI?

Have you considered putting together a CLI for cloudapp?  I frequently find myself wanting to do something like cloudapp blah.plist or such and the older api + cli is having some cert / auth issues.

@ylluminate I don't have the capacity to give this gem much attention at the moment. I'll happily consider PRs though.

The API has changed around quite a bit now I believe. Probably need to really reexamine everything now.


\male and \female symbols

Dear maintainers,
would it be possible to add "\male" ♂ and "\female" ♀ to KaTeX's supported symbols?
Regards!

You can use those Unicode symbols now, and you can define \male and \female to use them:

\def\male{♀}
\def\female{♂}
\begin{aligned}
  \male & = ♀ \\
  \female & = ♂
\end{aligned}

This generates a warning about unknown characters and lack of metrics, but probably works reasonably well in practice.
I agree that it could be nice to add them to the fonts (presumably with \Hermaphrodite and \neuter).  I don't think we have a workflow currently for getting characters from non-Computer Modern fonts, such as stix, though, so this may require some effort.  (Related to a lot of other font issues.)

Is possibile use \vstrike in KaTeX ?
https://tex.stackexchange.com/questions/223956/vertical-strikethrough

@GoldenbyteGH I don't think \vstrike is in any LaTeX package. Maybe you're asking for \stackon/stackengine, which would be appropriate for a new issue but not this one.


[Bug] Chart Screen Distortion on Big Data Chart during DataZoom

Version
5.4.3
Link to Minimal Reproduction
https://echarts.apache.org/examples/zh/editor.html?c=grid-multiple
Steps to Reproduce

Quickly scroll to zoom in and zoom out the chart

Current Behavior
Seems like the dots of the previous frame didn't completely disappear before the next frame is rendered.

Expected Behavior
The line should be rendered only once.
Environment
- OS: MacOS 12.7.2
- Browser: Version 120.0.6099.129 (Official Build) (arm64)
- Framework: React

Any additional comments?
This problem can be simply reproducted in the echarts official demo.

usually animation: false fixes similar problems
📌 please close issue if problem solved.

This bug has been fixed in the coming v5.5.0, you can try the latest nightly 5.4.4 version to help check if it persists.


Consistently call the second argument to useEffect dependencies array

This PR is more thought of as a discussion starter. I was trying to find out how we refer to the second argument of the useEffect hook and it seems that we use inputs in both the API reference as well as the implementation but this name isn't used in the guide article on effects.
This made it hard for someone to explain this concept to me since she didn't know how to call it and made up a name instead. I think we should be more up-front about this name so it's easier to discuss it.
We should probably also mention it in the API signature. I've wrapped it in square brackets like we do for useImperativeMethods.

Let's call it the "dependencies" array instead? I think that's the term we agreed on.

@acdlite Sure! This makes a lot of sense for the [] case:

Passing in an empty array [] of dependencies tells React that your effect doesn't depend on any values from the component

This was superset by https://github.com/reactjs/reactjs.org/pull/1957 🙂


Notification actions support

Hi @vertonghenb!
Thanks for this great package! 💯
Any chance to add support for notification actions following NotificationAction APIs?

Agreed, great package.
I've run into this limitation too. I tried to add support, but ran into an issue I'm not sure how to get around. After adding Actions to the Notification object I get this error:
Failed to construct 'Notification': Actions are only supported for persistent notifications shown using ServiceWorkerRegistration.showNotification().
I'm using Blazor server, so not using ServiceWorkers. I think it should be possible to get this to work if you're using WASM.

@jtsoya539 Good idea, any idea how to implement it?

@vertonghenb
I found a way to use the NotificationAction API from C#. (using service worker)
Implement the Action class.
public class Action
{
    public string Action { get; set; }
    public string Title { get; set; }
    public string Icon { get; set; }
}

inject
[Inject]
private INotificationService _notificationService { get; set; }

then, I did this (using the anonymous type here, but originally using the NotificationOptions class)
var title = "Title";
var options = new
{
    // Put other options here.
    actions = new List<Action>
    {
        new Action { Action = "action1", Title = "Action1", Icon = "icon url" },
        new Action { Action = "action2", Title = "Action2", Icon = "icon url" },
        // You can add as much as Notification.maxActions
    }
};

await _notificationService.CreateAsync(title, options);

read more about Notification.maxActions
however, in my environment, in order to achieve this, I had to rewrite the JavaScript side code as well.
export async function create(title, options) {
    const reg = await navigator.serviceWorker.getRegistration();
    reg.showNotification(title, options);
}

Hi, @vertonghenb, Thank you very much for your project.
I have a question, why https://agreeable-rock-071180b03.azurestaticapps.net/ does not work in android and the version https://web-push-book.gauntface.com/demos/notification-examples/ yes.. any difference in the code?
Error:
blazor.webassembly.js:1 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Unhandled exception rendering component: Failed to construct 'Notification': Illegal constructor. Use ServiceWorkerRegistration.showNotification() instead.
TypeError: Failed to construct 'Notification': Illegal constructor. Use ServiceWorkerRegistration.showNotification() instead.
Thanks.

Hi, @xDaniel17.
I know answers to that question, so I will answer it for you.
https://agreeable-rock-071180b03.azurestaticapps.net/ uses this Notification constructor, which is not supported by Android.
However, https://web-push-book.gauntface.com/demos/notification-examples/ uses a service worker method as shown in this site.
Why this error occurs when using the constructor in Android (Chrome and WebView) is described in this site.
(to summarize, the browser on Android does not support constructors.)

Thank you so much for your response @sho9029 !

@sho9029 Have you found a Solution for catching the Action Click? "notificationclick" doesnt seem to work

@bennimoser If you use firebase, this comment may be resolve your problem.

Hi. I am facing issue. Click event is not getting generated


refactor: simplify state management, part 1

Description

start using zustand library for state management
now, new state "doesn't" work, it means that old state and new state coexist in one source code - I don't wanna make huge PR with everything so I split code to few separate PRs.
update (in this PR) two components with new state management
old state management (based on proxies) will be removed in the next PR, where will be also update of components with new state

That PR is a part of refactoring of the Studio to support multiple files.

/rtm


d3tree doesn't render

Dear Sirs,
I am a newbie in R and I came aross your project while searching for a way to visualize the composition of the EU parliament. I produced a simple df with the columns "country", "political faction", "local political party", "colour" (all char) and "number of EP members" (integer). It's pretty simple and I just want a standalone interactive version of the graph on a single html page. Treemap renders it perfectly but d3treeR output simply is blank. No errors or warnings are shown. I can save the project as a web page and all the data is present, but it doesn't render.
R version: 3.5.0
treemap: 2.4.2
d3treeR: 0.1
htmlwidgets: 1.2
I understand that d3treeR isn't in development any longer but maybe there could be some tweak I could apply to the html code? Any tip would be highly appreciated.

Hi @guenterhack I am happy to help, but I will need some sample or reproducible code to identify the error.  Are you able to run the examples in ?d3tree, ?d3tree2?  GNI2010 is now GNI2014 in the examples.

Many thanks for your help, @timelyportfolio !
My reproducible code example would be:
(Load treeraw.txt - as attached - into RStudio Project via readr. Format: UTF-8 without BOM.)
treeraw.txt
library(treemap)
library(d3treeR)
df <- treeraw
dat <- treemap(
df,
index= c("country","frakde","nationalPoliticalGroup"),
vSize="n",
vColor="colour",
type="color"
)
d3tree3(dat)

Not the answer you want to hear, but your example works on my end except the color scale does not work.  Will you try d3tree2(dat) and let me know if it works for you?

Thank you for your help! I just tried it on my colleague's Linux machine - where all works just as intended. My work machine is running Windows.

@guenterhack Windows should not be the problem, since I am running on Windows, and all is fine.  Must be something else.


[Coverity CID :189510]Memory - corruptions in /subsys/bluetooth/host/monitor.c

Static code scan issues seen in File: /subsys/bluetooth/host/monitor.c
Category: Memory - corruptions
Function: monitor_log_put
Component: Bluetooth
CID: 189510
Please fix or provide comments to square it off in coverity in the link: https://scan9.coverity.com/reports.htm#v32951/p12996

Flagged as false positive in Coverity


Add option to kedro build-docs which also opens the documentation

Description
I find myself writing 'kedro build-docs ; open docs/build/html/index.html', adding a simple
--open argument would be appreciated. I do plan to PR this myself, I'm just not sure when I have time.
Context

Saves time
Is almost always the next action after running the command

Possible Implementation

Add CLI argument

Possible Alternatives
N/A

Correct me if I'm wrong, but that's MacOS-specific, and xdg-open should be used on Linux.
That might be a cross-platform solution: https://docs.python.org/3.7/library/webbrowser.html

@datajoely - as a temporary fix, I'd recommend looking at the entr CLI tool.
You can use it like so:
ls *.py | entr kedro build-docs && open docs/build/html/index.html

Effectively it would allow you to create a live reload server that watches for changes in Python source files and automatically serves the up-to-date documentation.

I thought this'd be a useful feature too! I built it for myself in my fork here: https://github.com/mzjp2/kedro/commit/468f328b5e774130fc367dea763ee6d3f3f79205
Happy to PR it (it's ready), if you want @datajoely, but equally also happy to let you if you want. :)

I've opened a PR, but feel free to close it in favour of Joel's if he makes one. :)


Revert "RATIS-741. Create a Github PR template"

Reverts apache/incubator-ratis#44 due to missing Apache license header.

Shall we instead adding Apache license header?

Besides, from my last experience GitHub PR doesn't trigger CI and thus it might be worth to mention it anywhere.

Sorry, reverted it since it breaks other builds.
You are right that GitHub PR is not yet working in Ratis.


Maven build: Add dependency convergence checking

https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html
To automatically detect issues like this: https://github.com/eclipse/deeplearning4j/issues/8724
The check of course doesn't fix the issue, but at least we won't be surprised by them (the aforementioned issue slipped through 1.0.0-beta6 pre-release testing due to luck - a different order of a couple of dependencies in the pom.xml would have caused problems)

+1
This issue duplicates:
https://github.com/eclipse/deeplearning4j/issues/5601


Update app to work in Windows (non-WSL)

See #37 (especially https://github.com/tighten/takeout/issues/37#issuecomment-701014533) for notes about @delta1186's work toward this effort.

@mattstauffer first thing I am trying to tackle is the menu on the EnableCommand.  Would you prefer I share some code here or get to a stopping point and make a PR so you can review things and make recommendations there?

I about to submit a PR.  I still need to write some OS specific tests, but I am pretty close I think.  I have updated the enable, disable, start and stop commands to support native Windows.  Here are some screen shots of how it will look in cmder and the cmd prompt which have a light and dark theme.
Enable Menu
This is menu has one additional feature not available in the default menu which is when you select a category the list is filtered down to just those items.  You then have the option to go back or exit from there.

Disable Menu
This menu just works like the default menu where you select an item and the container is disabled and the menu automatically exits.

Start and Stop Menus
These menus work the same as the default menu.  When you start or stop one, then the menu will reload with remaining containers and on the start or stop of last available container the command will exit automatically.


Bug: Some session data got lost when trying to set session with big payload

Description
I'm trying to store acess and refresh tokens in request.session with some other user data, and got an error. In middleware AuthRequiredMiddleware i have no user data, but it should be. If I remove two long fields with tokens, it works normaly.
Additionaly, i got a second issue - SerializationException when it trying to decode session with big payload, but can't reproduce it
URL to code causing the issue
No response
MCVE
import secrets
import time
from typing import Any

from litestar import Litestar, Request, Router, get
from litestar.config.cors import CORSConfig
from litestar.middleware.base import DefineMiddleware, MiddlewareProtocol
from litestar.middleware.session.client_side import CookieBackendConfig
from litestar.openapi import OpenAPIConfig
from litestar.openapi.plugins import SwaggerRenderPlugin
from litestar.response import Redirect
from litestar.response.redirect import ASGIRedirectResponse
from litestar.types import ASGIApp, Receive, Scope, Send
from pydantic import BaseModel, Field

USER_SESSION_KEY = "user"
AUTH_REDIRECT_KEY = "auth_redirect_from"

class UserSchema(BaseModel):
    username: str
    fullname: str | None = Field(default=None)
    firstname: str | None = Field(default=None)
    lastname: str | None = Field(default=None)
    email: str | None = Field(default=None)
    position: str | None = Field(default=None)

class UserSessionSchema(BaseModel):
    user_info: UserSchema | None = Field(default=None)
    access_token: str | None = Field(default=None)
    refresh_token: str | None = Field(default=None)
    expire_at: int | None = Field(default=None)

class AuthRequiredMiddleware(MiddlewareProtocol):
    def __init__(
        self,
        app: ASGIApp,
        api_path: str,
        auth_controller_path: str,
        login_endpoint_path: str = "/login",
        **_: Any,
    ) -> None:
        self.app = app

        self.api_path = api_path
        self.auth_controller_path = auth_controller_path
        self.login_endpoint_path = login_endpoint_path
        self.login_url = self.api_path + self.auth_controller_path + self.login_endpoint_path

    async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
        request = Request(scope)
        print("In middleware session:", request.session)

        user_session = UserSessionSchema.model_validate(request.session.get(USER_SESSION_KEY, {}))

        def _redirect_login():
            response = ASGIRedirectResponse(path=self.login_url)

            request.session[USER_SESSION_KEY] = user_session.model_dump()
            request.session[AUTH_REDIRECT_KEY] = str(request.url)

            return response(scope, receive, send)

        if self.auth_controller_path not in request.url.path:
            if not user_session.user_info:
                return await _redirect_login()

            if AUTH_REDIRECT_KEY in request.session:
                del request.session[AUTH_REDIRECT_KEY]

        await self.app(scope, receive, send)

@get("/protected_resource")
async def test(request: Request) -> str:
    user_session = UserSessionSchema.model_validate(request.session[USER_SESSION_KEY])

    assert user_session.user_info

    return f"Hello, {user_session.user_info.username}!"

@get("/auth/login")
async def login(request: Request) -> Redirect:
    request.session[USER_SESSION_KEY] = UserSessionSchema(
        user_info=UserSchema(
            username="some_username",
            fullname="Иванов Ivan Jhon",
            firstname="Ivan",
            lastname="Иванов",
<EMAIL_ADDRESS>            position="Sernior999lvl",
        ),
        expire_at=int(time.time()) + 900,
        # XXX: Uncoment to reproduce
        # access_token="a" * 2078,
        # refresh_token="b" * 1074,
    )

    print("In login session:", request.session)

    if AUTH_REDIRECT_KEY in request.session:
        return Redirect(request.session.pop(AUTH_REDIRECT_KEY))

    return Redirect("/")

router = Router("/", route_handlers=[test, login])

app = Litestar(
    route_handlers=[router],
    openapi_config=OpenAPIConfig(
        title="Insourcing API",
        version="0.1.0",
        render_plugins=[SwaggerRenderPlugin()],
        path="/api/v1/docs/",
    ),
    cors_config=CORSConfig(
        allow_origins=["http://localhost:8000"],
        allow_credentials=True,
    ),
    middleware=[
        CookieBackendConfig(secret=secrets.token_urlsafe(24).encode()).middleware,
        DefineMiddleware(
            middleware=AuthRequiredMiddleware,
            api_path="",
            auth_controller_path="/auth",
        ),
    ],
    debug=True,
)

Steps to reproduce
1. Install litestar + pydantic2 + uvicorn + uvloop
2. Do not uncomment lines and run with uvicorn FILE_NAME:app
3. open localhost:8000/protected_resource. it should work without errors and you'll see - Hello, some_username!
4. Uncomment lines and run again. You will fall into redirect cycle

Screenshots
No response
Logs
No response
Litestar Version
2.8.2
Platform
WSL <IP_ADDRESS> + Ubuntu 22.04

[ ] Linux
[ ] Mac
[ ] Windows
[X] Other (Please specify in the description above)

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

Thanks @wallseat - good find!
Once cookies get above a certain size, we chunk them and store across multiple cookies. When this happens, cookies get stored with an enumeration, e.g., session-0, session-1 etc.
In this case, the session is persisted in the headers for the first time when the request to /protected_route is redirected to the auth route. At this time, the session cookie is not greater than the chunk size and so it gets stored in the cookie under the name session.
After authentication, when the size of the session is much larger due to the presence of the tokens, the serialized session is greater than the chunk size, so the session cookie gets chunked and stored under session-0, session-1.
There is an issue with the algorithm that detects cookies that should be cleared under the condition where the cookie grows in size greater than a single chunk, and that is what we're hitting here. The original session cookie was not being cleared when it is superseded by a cookie called session-0.

@all-contributors add @wallseat for bug

Thx @peterschutt !


Seleno: Using strongly typed controller action expressions to navigate to the page via routing.

Hi,
I am a software engineer, my task is to realise an test acceptance for ASP.net MVC C# project.
I want to generate the page object by specifying navigation by selecting a controller and action (rather than a Url string).   this is my code:
_EditCustomerPage = BrowserHost.Instance.NavigateToInitialPage<ClientController,  EditCustomerPage>(x => x.Edit(10));

And i add an instance of seleno host:
  Instance.Run("Project", 13050, configure =>
 {      configure.WithRouteConfig(RouteConfig.RegisterRoutes);
 });

And the link generated is wrong:http://localhost:13050/fr/?Controller=Client&Action=Edit&id=22
Can you help me?  Thanks

You need to use the appropriate configuration overload to register a route table that contains the routes from your mvc project.
Let me know if you want me to dig up an example code snippet from our example projects.

On 5 Feb 2016, at 1:06 am, wijdenchebbi<EMAIL_ADDRESS>wrote:
Hi,
I am a software engineer, my task is to realise an test acceptance for ASPnet MVC C# project
I want to generate the page object by specifying navigation by selecting a controller and action (rather than a Url string) this is my code:
_EditCustomerPage = BrowserHostInstanceNavigateToInitialPage(x => xEdit(10));
And i add an instance of seleno host:
InstanceRun("Project", 13050, configure =>
{ configureWithRouteConfig(RouteConfigRegisterRoutes);
});
And the link generated is wrong:http://localhost:13050/fr/?Controller=Client&Action=Edit&id=22
Can you help me? Thanks
—
Reply to this email directly or view it on GitHub.

Hi @wijdenchebbi. Here is an example from our docs, where RouteConfig.RegisterRoutes would be the method that configures the routes in your web application:
 public static class Host
 {
	 public static readonly SelenoHost Instance = new SelenoHost();

	 static Host()
	 {
		 Instance.Run("Name.Of.Your.Web.Project", 12346, c => c
			 .UsingLoggerFactory(new ConsoleFactory())
			 // If you are using MVC then do this where RouteConfig is the class that registers your routes in the "Name.Of.Your.Web.Project" project
			 // If you aren't using MVC then don't include this line
			 .WithRouteConfig(RouteConfig.RegisterRoutes)
		 );
	 }
 }

You can read more about it here.

Thanks for getting back so quickly.
i used the appropriate route table, when i used a static URL ,it works correctly, but when i used the controller and action it doesn't work.

Can you paste in your configuration code?
And the navigation code?

On 5 Feb 2016, at 7:08 pm, wijdenchebbi<EMAIL_ADDRESS>wrote:
Thanks for getting back so quickly.
i used the appropriate route table, when i used a static URL ,it works correctly, but when i used the controller and action it doesn't work.
—
Reply to this email directly or view it on GitHub.

To have an instance on seleno host i make the class BrowserHost
public static class BrowserHost
{
    public static readonly SelenoHost Instance = new SelenoHost();
    static BrowserHost()
    {
            Instance.Run("BigBrother.MVC.Intranet", 13050, configure => configure
            .WithRouteConfig(BigBrother.MVC.Intranet.MvcApplication.RouteConfig.RegisterRoutes)
            .WithMinimumWaitTimeoutOf(System.TimeSpan.FromSeconds(3))
          );
    }
}

the navigation code used in a fonction in the class EditCustomerStory.cs
private void AndIAmOnTheEditAdministrativeInfosPage()
{
_EditCustomerPage = BrowserHost.Instance.NavigateToInitialPage<ClientController, EditCustomerPage>(x => x.Edit(22));
}
EcitCustomerPage.cs is the page object
ClientController.cs is the controller in my project

Hi,
when i use a static URL:
_EditCustomerPage = BrowserHost.Instance.NavigateToInitialPage("/fr/Client/Edit/22");
Sometimes it works and sometimes it doesn't, i don't know what to do.
Can you help me

Re: your first problem, if you use Navigate.To<Clientcontroller, EditCustomerPage>(c => c.Edit(22)); within a page object (i.e. ignoring NavigateToInitialPage for now) does that work? I'm trying to ascertain if there is a bug in NavigateToInitialPage using the controller syntax or if there is still a configuration issue on your side. I know for a fact that Navigate.To works because we use that in our acceptance tests.
Re: your second problem when you say "sometimes it doesn't" work what do you mean? Do you get an exception? Does the page change, but to the wrong URL? Does nothing happen? ...
Thanks :)

Thanks for your response,
I tried to use Navigate.to but i get this error: TestStack.Seleno.Configuration.SelenoHost' ne contient pas une définition pour 'Navigate' et aucune méthode d'extension 'Navigate' acceptant un premier argument de type .
In my second prob: the seleno navigate to wrong url like: http://localhost:13050/fr?Client?Edit?22

Hi @wijdenchebbi . Your second problem looks like the URL you are trying to navigate to requires authorization and so it is redirecting you to the login page. You will have to login earlier in the test before making that call.
With regards to your Navigate.To method, you need to add the generic arguments to the call.
It's quite hard to know what is happening with the NavigateToInitialPage method. Could you possibly provide a small sample of code that I can download and look at more closely? You might also want to install MvcRouteTester and try the same controller/action combinations you are trying here and see if you get the results you expect. (Our code is generating URL from the route table in a similar way to MvcRouteTester).

Hi,
In my test, i verify the login issue in the first step in my scenario.
For my code:
BrowserHost.cs
`using BigBrother.MVC.Intranet;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using TestStack.Seleno.Configuration;
using TestStack.Seleno.Configuration.WebServers;
namespace BigBrother.MVC.Intranet.UITests
{
public static class BrowserHost
{
    public static readonly SelenoHost Instance = new SelenoHost();
    static BrowserHost()
    {
            Instance.Run("BigBrother.MVC.Intranet", 13050, configure =>
           {
            configure.WithRouteConfig(BigBrother.MVC.Intranet.MvcApplication.RouteConfig.RegisterRoutes);
            configure.WithMinimumWaitTimeoutOf(System.TimeSpan.FromSeconds(3));
           });
    }
}

}
The page object: EditCustomerPage.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using TestStack.Seleno.PageObjects;
namespace BigBrother.MVC.Intranet.UITests
{
class EditCustomerPage : Page
{
//*********** Test on attributes
public EditCustomerPage EnterName(string Name)
{
Find.Element(By.Id("Name")).Clear();
Find.Element(By.Id("Name")).SendKeys(Name);
        return this;
    }

    //*********** Test on error messages
    public bool IsNameErrorMessageVisible
    {
        get
        {
            return Find.Element(By.ClassName("field-validation-error")).Displayed;
        }
    }

    public T SubmitApplication<T>() where T : UiComponent, new()
    {
        return Navigate.To<T>(By.Id("save"));

    }

}

}
For the story:EditCustomerStory.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BigBrother.MVC.Intranet;
using NUnit.Framework;
using TestStack.BDDfy;
using TestStack.Seleno.PageObjects.Locators;
using BigBrother.MVC.Intranet.Controllers;
using TestStack.Seleno.Configuration;
namespace BigBrother.MVC.Intranet.UITests
{
[TestFixture]
[Story(AsA = "As a administrator",
IWant = "I want to modify the administrative information of a client",
SoThat = "So that I can save the modifications",
Title = "Acceptance Tests related to Edit Administrative Information page")]
public class EditCustomerStory
{
    private LoginPage _loginPage;
    private EditCustomerPage _EditCustomerPage;
    private const string userLogin =<EMAIL_ADDRESS>    private const string userPwd = "Montreal2015";
    private const string clientName = "";

    [Test]
    public void EditCustomerErrorMessageVisible()
    {
        this.Given(x => GivenIAmLoggedIn())
            .And(x => AndIAmOnTheEditAdministrativeInfosPage())
            .And(x => AndTheFieldNameIsEmpty())
            .When(x => WhenISaveWithAnEmptyNameField())
            .Then(x => ThenIShouldSeeAnErrorMessage())
            .BDDfy();
    }

    private void GivenIAmLoggedIn()
    {
        _loginPage = BrowserHost.Instance.NavigateToInitialPage<LoginPage>();
        var testlogin = _loginPage.IsLoggedIn();

        if (testlogin)
        {
            _loginPage.Disconnect<LoginPage>();
            _loginPage = BrowserHost.Instance.NavigateToInitialPage<LoginPage>();
            _loginPage.EnterLogin(userLogin)
           .EnterPwd(userPwd)
           .SubmitApplication<LoginPage>();
        }
        else
        {
            _loginPage = BrowserHost.Instance.NavigateToInitialPage<LoginPage>();
            _loginPage.EnterLogin(userLogin)
           .EnterPwd(userPwd)
           .SubmitApplication<LoginPage>();
        }
    }

    private void AndIAmOnTheEditAdministrativeInfosPage()
    {
        _EditCustomerPage = BrowserHost.Instance.NavigateToInitialPage<EditCustomerPage>("/fr/Client/Edit/22");
    }

    private void AndTheFieldNameIsEmpty()
    {
        _EditCustomerPage.EnterName(clientName);
    }

    private void WhenISaveWithAnEmptyNameField()
    {
        _EditCustomerPage.SubmitApplication<EditCustomerPage>();
    }

    private void ThenIShouldSeeAnErrorMessage()
    {
        var isNameErrorMessageVisible = _EditCustomerPage.IsNameErrorMessageVisible;

        Assert.That(isNameErrorMessageVisible, Is.True);
    }
}

}
`
For the UITest, the version of Selenium.WebDriver installed is 2.47.0 and the version of TestStack.Seleno installed is 0.9.11.

Hi @wijdenchebbi . It looks like you are using Areas in your URL. If that's the case then you need to use the overload of Navigate (of NavigateToInitialPage and navigation within page objects) that takes a dictionary of route values. I wrote a bit of background about that here.
Another point I would make is that NavigateToInitialPage is only designed to be called once to get you the first page object. From that point on the methods in the page objects should return page objects using the UIComponent Navigate.To method. When using BDDfy methods like you are you will need to have page objects fields that get set by the first method and then the second method will use the same field.


Can I use guzzle to send asynchronous request without waiting the response

I have the following two functions
    public function myEndpoint(){
        $this->logger->debug('Started');
        $this->guzzle->requestAsync('post', 'http://myurl.com/doNotWait')->wait();
        $this->logger->debug("I shouldn't wait");
    }

    public function doNotWait(){
        sleep(10);
        $this->logger->debug("You shouldn't wait");
    }

Now what I need to see in my logs is:
Started
I shouldn't wait
You shouldn't wait

But what I see
Started
You shouldn't wait
I shouldn't wait

Also I tried using the following ways:
Way 1
    public function myEndpoint(){
        $this->logger->debug('Started');
        $this->guzzle->requestAsync('post', 'http://myurl.com/doNotWait', ['synchronous' => false])->wait();
        $this->logger->debug("I shouldn't wait");
    }

Way 2
    public function myEndpoint(){
        $this->logger->debug('Started');
        $this->guzzle->requestAsync('post', 'http://myurl.com/doNotWait');

        $queue = \GuzzleHttp\Promise\queue()->run();
        $this->logger->debug("I shouldn't wait");
    }

But the result is never the desired one. Is there a way to do this? I am using Guzzle 6.x.

I also found out this. http://stackoverflow.com/a/2190973/4158811
I really can't understand if this is valid. If it is why there are functions in guzzle with the suffix Async?
What is the real difference between postAsync and post then?

Reference https://github.com/guzzle/guzzle/blob/master/src/Client.php#L126 , calling $client->requestAsync()->wait() === $client->request()  The code sample provided,  is operating synchronously.
The async methods are abstractions for Client::requestAsync(), which returns a promise. Reference https://github.com/guzzle/promises#synchronous-wait, calling Promise::wait()  "is used to synchronously force a promise to complete".

You would have to do some pretty deep, custom handler code in order to "fire and forget" with Guzzle. Guzzle is designed to send complete requests, allowing us to know if the request actually succeeded.
You could try calling the *async() functions of the client to send requests and never call wait() on them.
If you want true async, then you'll need to spin up a thread using something like pthreads, send requests off to a thread pool, hook up a custom handler and promise to work with this. It sounds pretty complicated and would take someone probably contributing a significant amount of refactoring code to Guzzle and guzzle/promises.
You could also try going event-loop async by using the Guzzle react handler: https://github.com/WyriHaximus/react-guzzle-psr7

You would have to do some pretty deep, custom handler code in order to "fire and forget" with Guzzle. Guzzle is designed to send complete requests, allowing us to know if the request actually succeeded.

Then why on earth do we need to cope with all the complexity of Promises instead of just calling a function? Guzzle, as it stands, is undebuggable.

@mtdowling I hope you don't mind me asking, but what about changing the CurlMultiHandler::tick method to do something a bit different than:
while ($x = curl_multi_exec($this->_mh, $this->active) === CURLM_CALL_MULTI_PERFORM);
One option that came into my mind, which is of course a very basic prototype, is to replace it with:
        do {
            curl_multi_exec($this->_mh, $this->active);
            // added a usleep for 0.25 seconds to reduce load
            usleep(250000);
        } while ($this->active > 0);

That way, all current available waiting calls, either it's only 1 call or many), are triggered directly and the client can decide if they want to have a callback or just forget about the response.
I made a very basic example: https://gist.github.com/Shaked/bf260a1defc517c3fd92000bf1cc25b6.
What do you think? Would it make sense?
Thank you for your time and help!
Shaked

@mtdowling I've used guzzle to post "fire & forget" by setting the response timeout to as low as possible.
I left the connection timeout as the default so requests are sent, received on the other end, the transfer is acknowledged and only then the response timeout starts being counted.


Call to introduce UPGRADE action for all previous MINTs to be compatible

More reading starts here https://t.me/rmrkapp/2061
Screenshots for the immutability of convo.
This issue would be funded if someone wants to help us out -- https://t.me/rmrkapp/2076

To underline these efforts, most likely this function would be part of the migration of NFTs to orml-nft once it would be available on Kusama and elsewhere :)

Pass.


extracting duplicate code in CountTelnetHandler

What is the purpose of the change
extracting duplicate code in CountTelnetHandler
Brief changelog
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #5824 into master will decrease coverage by 0.06%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master    #5824      +/-   ##
============================================
- Coverage     61.27%   61.21%   -0.07%
+ Complexity      498      497       -1
============================================
  Files           981      981
  Lines         39142    39088      -54
  Branches       5644     5611      -33
============================================
- Hits          23985    23928      -57
- Misses        12526    12542      +16
+ Partials       2631     2618      -13

Impacted Files
Coverage Δ
Complexity Δ

...rg/apache/dubbo/qos/legacy/CountTelnetHandler.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
30.76% <0%> (-15.39%)
0% <0%> (ø)

...ache/dubbo/remoting/transport/AbstractChannel.java
75% <0%> (-12.5%)
0% <0%> (ø)

...che/dubbo/remoting/transport/mina/MinaChannel.java
39.47% <0%> (-10.53%)
15% <0%> (-1%)

...mmon/threadpool/support/fixed/FixedThreadPool.java
80% <0%> (-7.5%)
0% <0%> (ø)

...ng/transport/dispatcher/all/AllChannelHandler.java
62.06% <0%> (-6.9%)
0% <0%> (ø)

...moting/transport/netty4/NettyEventLoopFactory.java
30% <0%> (-6.37%)
0% <0%> (ø)

.../threadpool/support/limited/LimitedThreadPool.java
83.33% <0%> (-5.56%)
0% <0%> (ø)

.../org/apache/dubbo/remoting/ExecutionException.java
15.78% <0%> (-5.27%)
0% <0%> (ø)

.../remoting/transport/netty4/NettyClientHandler.java
59.32% <0%> (-5.09%)
0% <0%> (ø)

... and 31 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 e72b3b2...ed5dfc2. Read the comment docs.


Determine type of subject terms from FAST and include in cocina

(cc @amyehodge )
Each FAST subject term falls into one of these categories:

Personal Names (cocina type: person)
Corporate Names (cocina type: organization)
Event (cocina type: event)
Uniform Titles (cocina type: title)
Chronological (cocina type: time)
Topical (cocina type: topic)
Geographic (cocina type: place)
FormGenre (cocina type: genre)
Meeting (cocina type: conference)

It is important to know the category a given term belongs to because terms of different categories are treated in different ways in systems such as SearchWorks (such as the facet a subject term goes into, and what heading it displays under in the record). Currently all subject terms are being typed as "topic", which means that terms such as places, names, and titles will not be handled correctly.
H2 should determine the type of the subject in FAST and include the corresponding cocina subject.type according to the mapping above.
MODS mappings are already in place for the different subject types. Data created prior to resolving this issue will need to be reviewed and remediated.

I'm wondering if this is a hard requirement for this to be in h2. Is it possible to put this resolver in the SearchWorks indexer or in the accessioning workflow? When doing this data enrichment, we may encounter problems connecting to remote service.  It's important we design this in a way to have the least likelihood of impacting the depositor.

It's important that the subject type gets inserted into the metadata as soon as possible in the object lifecycle, ideally at the point of data creation, definitely before or at indexing (which may happen in multiple places, e.g., both SearchWorks and Spotlight). If it's more effective to do that in another codebase, that's fine, so long as this requirement is met.

@arcadiafalcone can you explain why that is important?


SriovNetwork can't be create in kube-system namespace

Hi guys.
I use below to configue SriovNetwork
apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetwork
metadata:
  name: sriov-network
  namespace: kube-system
spec:
  ipam: |
    {
      "type": "whereabouts",
      "subnet": "<IP_ADDRESS>/24",
      "rangeStart": "<IP_ADDRESS>",
      "rangeEnd": "<IP_ADDRESS>",
      "gateway": "<IP_ADDRESS>",
      "routes": [{
        "dst": "<IP_ADDRESS>/0","gw":"<IP_ADDRESS>"
      }]
    }
  vlan: 0
  resourceName: mlnxnics

But I can't get a network-attachment-definitions in kube-sytem.
But if I modify the ns in my yaml, I can get
apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetwork
metadata:
  name: sriov-network
  namespace: sriov-network-operator
spec:
  ipam: |
    {
      "type": "whereabouts",
      "subnet": "<IP_ADDRESS>/24",
      "rangeStart": "<IP_ADDRESS>",
      "rangeEnd": "<IP_ADDRESS>",
      "gateway": "<IP_ADDRESS>",
      "routes": [{
        "dst": "<IP_ADDRESS>/0","gw":"<IP_ADDRESS>"
      }]
    }
  vlan: 0
  resourceName: mlnxnics

you can set spec.networkNamespace to create the network attachment definition in a different namespace.

Hi @jeffreyyjp,
The sriovNetwork MUST be created in the namespace where the operator is running.
and as commented by @adrianchiris you can use spec.networkNamespace to tell the operator on which namespace he should create the respected net-attach-def
If that is not clear from the readme please let us know and we can improve them.
Let me know if we can close this issue

@SchSeba Sure, But from the readme, where we can find the config in these API: https://github.com/k8snetworkplumbingwg/sriov-network-operator?tab=readme-ov-file#api
I think the docs should point it out.

Hi @jeffreyyjp you are right we should change the readme


Architecture

Here is how I imagine the architecture should look like from a user's standpoint.
Create a Strategy

Decide on parameters
import the indicators (could be custom)
import orderbook, portfolio, past trades
Write down the logic for entering/exiting the market
returns a tuple with advice and amount

Create an Execution thread

Inject the Strategy (with the parameters of choice)
Load and Inject a Data Feed
ExecuteOrder
run(); optionally ... plot()

So next thing to do is:

make orderbook, portfolio, past trades accessible in strategy
plot trades

Regarding the first list: this is how i've seen most trading platforms implemented. However I chose to go a different way: I want a strategy to be completely decoupled from both trading and market logic: this way you can develop a strategy, backtest it, simulate it over live markets, and maybe even run it. Running your strategy against any other datasource should not require you to change to the code.
The way Gekko works is by having the strategy be part of a module called the trading advisor, and trading simulation is another module that hooks in this advice (same as real trading). These are all plugins connected to eachother and are fed a "market" (depending on configuration realtime or backtest).
See these docs:
https://github.com/askmike/gekko/blob/stable/docs/internals/architecture.md
https://github.com/askmike/gekko/blob/stable/docs/internals/plugins.md
https://github.com/askmike/gekko/blob/stable/docs/internals/trading_methods.md

about plotting: I was working on a web UI for gekko, see the  branch web-wrapper. This WIP will manage "Gekkos", plot market and strategy (and trades, etc).
This will also make it more user friendly, plugins are internal components and the user can just create a strategy and click through a wizard to set up paper trading for example.

Is there anyway to test one strategy according to history chart? So everyone can create their logic and test it in minutes using one year history chart !
I myself created a strategy that was profitable over a week with  the average of 0.5 percent gain per day by the way I cant trust it for larger capital

sounds like you are looking for backtesting, read more here:
https://github.com/askmike/gekko/blob/stable/docs/Backtesting.md
On Aug 12, 2016 06:13, "saeeds255"<EMAIL_ADDRESS>wrote:

Is there anyway to test one strategy according to history chart? So
everyone can create their logic and test it in minutes using one year
history chart !
I myself created a strategy that was profitable over a week with the
average of 0.5 percent gain per day by the way I cant trust it for larger
capital
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/askmike/gekko/issues/411#issuecomment-239321309, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA7MD723-J9YFcnCJ-2xLcELgjb3sEDRks5qe6ytgaJpZM4Jhv7L
.

Thanks !
But I don't know how to set data range .
I don't know how to backtest it on historical data, I edited config file like this :
config.backtest = {
  adapter: 'sqlite',
  daterange: {
        from: "2015-08-08 21:00:00",
        to: "2016-08-12 14:00:00"
        },
  batchSize: 50
}

but it returns the following error :
Error:
Query returned no candles (do you have local data for the specified range?)

What should I do now ?

You need to do --import before running a backtest.

@askmike what is a good place to put this module in? https://github.com/evilive3000/poloniex-orderbook

@askmike this can most likely be closed


fail import of _get_interactions

https://github.com/judithabk6/med_bench/blob/5a9a3ec65cf0bf08b7fc3cceedba90644ce36e0f/src/med_bench/utils/nuisances.py#L21
_get_interactions is used not only for R estimators (on branch develop)

from .utils import check_r_dependencies, _get_interactions

if check_r_dependencies():
    from .utils import _convert_array_to_R

Solved


add eOracle

Add eOracle information to base ecosystem page

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

@sidhemraj Thanks for this PR! Please update the link to point to a landing page that will help Base users who would be coming from base.org, get started using eOracle.


Memory leaks reported by LeakSanatizer

fireburn@axion ~/spoa-modsecurity $ ./modsecurity  -f modsecurity.conf -p 10010
^C
=================================================================
==423782==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 1152 byte(s) in 36 object(s) allocated from:
    #0 0x7f94a02e7938 in operator new(unsigned long) (/usr/lib/gcc/x86_64-pc-linux-gnu/12/libasan.so.8+0xe7938)
    #1 0x7f949ff07ed7 in yylex(modsecurity::Parser::Driver&) /var/tmp/portage/dev-libs/modsecurity-3.0.8/work/modsecurity-v3.0.8/src/seclang-scanner.ll:1260

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f94a02e7938 in operator new(unsigned long) (/usr/lib/gcc/x86_64-pc-linux-gnu/12/libasan.so.8+0xe7938)
    #1 0x7f949fecafab in yy::seclang_parser::parse() /var/tmp/portage/dev-libs/modsecurity-3.0.8/work/modsecurity-v3.0.8/src/seclang-parser.yy:322
    #2 0x7f949ff28713 in modsecurity::Parser::Driver::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) parser/driver.cc:145

Direct leak of 32 byte(s) in 1 object(s) allocated from:
    #0 0x7f94a02e7938 in operator new(unsigned long) (/usr/lib/gcc/x86_64-pc-linux-gnu/12/libasan.so.8+0xe7938)
    #1 0x7f949ff2873c in modsecurity::Parser::Driver::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) parser/driver.cc:134

Indirect leak of 3501 byte(s) in 36 object(s) allocated from:
    #0 0x7f94a02e7938 in operator new(unsigned long) (/usr/lib/gcc/x86_64-pc-linux-gnu/12/libasan.so.8+0xe7938)
    #1 0x7f949ff07f23 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/basic_string.tcc:225
    #2 0x7f949ff07f23 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/basic_string.h:544
    #3 0x7f949ff07f23 in yylex(modsecurity::Parser::Driver&) /var/tmp/portage/dev-libs/modsecurity-3.0.8/work/modsecurity-v3.0.8/src/seclang-scanner.ll:1260

Indirect leak of 17 byte(s) in 1 object(s) allocated from:
    #0 0x7f94a02e7938 in operator new(unsigned long) (/usr/lib/gcc/x86_64-pc-linux-gnu/12/libasan.so.8+0xe7938)
    #1 0x7f949ff287bc in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/basic_string.tcc:225
    #2 0x7f949ff287bc in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/bits/basic_string.h:544
    #3 0x7f949ff287bc in modsecurity::Parser::Driver::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) parser/driver.cc:134

SUMMARY: AddressSanitizer: 4734 byte(s) leaked in 75 allocation(s).

Hello @FireBurn ,
Yes, those are known. They show up when running with the --enable-valgrind option.

So these aren't issues?

Closing as duplicate.

I don't think you answered my question, and which issue is this a duplicate off?

It is an issue. That is why it is explicitly called out in the code at ...
https://github.com/SpiderLabs/ModSecurity/blob/5dfc0a256a27ea6245a972a2a6ab9c1a4edd2599/src/parser/driver.h#L58
With the creation of your issue, it was the 6th one simultaneously open that fundamentally about the same thing. The oldest was #2502 .
I have since closed all of them and replaced them with a single new item (#2848 )

Thanks :D


Grab module version from Git tag

We maintain two version representatives such as /version.py and Git tags. This PR integrates them into Git tag via setuptools_scm.

please change this file. because using version.py
launchable/commands/verify.py


Added Content-Type header to POST and PATCH requests

iModel Hub in APIM is planning to validate Content-Type headers. So added it in places where it was missing.

@veekeys is unavalable


If cart removal button sits inside a form it will inadvertently submi…

…t that form
Setting the button to type="button" prevents errant form submissions.

@jimhlad can you update the test so it passes :)

@mlantz This should be ready to merge in now.


Add more TextChatService functionality

Adds support for:

CanSend mutes (doesn't need to use the ShouldDeliverCallback in TCS)
:chatnotify works with TextChatService
:broadcast works with TextChatService
Both broadcast/chatnotify escape text as well

ooooo

@coasterteam NO WAIT
DON'T DO IT YET
DON'T DO IT, YOU'RE MODIFYING oh damn
now we lost

You should revert defaultsettings or there's prolly gonna be conflict errors

Is there a conflict with another pull?

Is there a conflict with another pull?

yeah, this should explain
https://github.com/Epix-Incorporated/Adonis/pull/1190

Checking it out, thanks.

Should be fixed now, https://github.com/Epix-Incorporated/Adonis/commit/3a55061d6ab2d3f0c4b04f46b91301358e2f31d0


MAX_CACHE_SIZE does not limit cache dict size

With MAX_CACHE_SIZE = 65536
carbon-cache's log file is a series of messages like:
03/07/2013 15:03:44 :: MetricCache is full: self.size=6032686
with incrementing counts.
I'm not familiar with the code but it looks like MetricCache.store https://github.com/graphite-project/carbon/blob/master/lib/carbon/cache.py#L27 checks the size to log, but does not keep additional entires from being added.
Version:
Django==1.4
Python-fontconfig==0.5.1
Twisted==13.1.0
distribute==0.6.10
django-tagging==0.3.1
ethtool==0.6
iniparse==0.3.1
iotop==0.3.2
iwlib==1.0
netsnmp-python==1.0a1
pycurl==7.19.0
pygpgme==0.1
txAMQP==0.6.2
urlgrabber==3.9.1
virtualenv==1.9.1
whisper==0.9.10
yum-metadata-parser==1.1.2
zope.interface==4.0.5

I'm unable to reproduce this with HEAD in the master branch. I suspect this was fixed a while back so I'll close this now but if you're still experiencing this problem please let us know your carbon version and we'll dig further.


Fix thrust compilation in MSVC 14 for CUDA 11.2

The headers changed to have constexpr

Jenkins, test this please

Jenkins, test this please

seems hipcc didn't like the linebreak ...

Jenkins CI test (for commit 1aa4dd5d824c3b4242973a75266f1d87ca85a160, target branch master) succeeded!

I can take a look.

I think using THRUST_OPTIONAL_CPP11_CONSTEXPR from thrust/optional.h is a lot cleaner, but it is not preset until CUDA 10.1 😅

Jenkins, test this please

AMD build test passed.

Jenkins CI test (for commit 4b561879c60305bd2cac57f637e58ff5653b6b77, target branch master) succeeded!

@kmaehashi This is ready.

Jenkins, test this please

Jenkins CI test (for commit d02b12df9dc51a61334063d9216a637a47cc0e78, target branch master) failed with status FAILURE.

pfnCI, test this please.

Jenkins CI test (for commit d02b12df9dc51a61334063d9216a637a47cc0e78, target branch master) failed with status FAILURE.

pfnCI, test this please.

Jenkins CI test (for commit d02b12df9dc51a61334063d9216a637a47cc0e78, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins failures are unrelated so let's not trigger CIs again

Jenkins CI test (for commit d02b12df9dc51a61334063d9216a637a47cc0e78, target branch master) failed with status FAILURE.

LGTM! Test failures are not related to this PR.


[TACHYON-809] Improve tachyon-dev box creation process during vagrant deploy

https://tachyon.atlassian.net/browse/TACHYON-809

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4291/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/4344/
Test PASSed.

@yuzhu @uronce-cc  Please take a look.

+1 LGTM, @chen-tian Could you also update the vbox/README.md to explain current process of building tachyon-dev.box and its purpose? Thanks!

@uronce-cc After this PR is closed, I will another PR for that right away. I have created a Jira ticket for it.

@chen-tian Sounds good.

+1 LGTM


ENH: Fold the list of collected confounds

Changes proposed in this pull request
Clears the clutter of a long list of headers in the _regressors.tsv file, by inserting it in a foldable (<details></details>) HTML environment.
For consistency, the Summary header and other details have also put together into another details class, in this case always open.

Documentation that should be reviewed
Just check out the aesthetics of the new reports.

This PR should be pretty innocent. I'll go ahead and merge.


FIX: ci cache

Before submitting (must do checklist)

[ ] Did you read the contribution guide?
[ ] Did you update the docs? We use Numpy format for all the methods and classes.
[ ] Did you write any new necessary tests?
[ ] Did you update the CHANGELOG?

Proposed Changes

Closing issues

Codecov Report

Merging #960 (8a90507) into master (1f1f5b6) will decrease coverage by 30.55%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #960       +/-   ##
===========================================
- Coverage   85.34%   54.79%   -30.56%
===========================================
  Files         148      148
  Lines        7951     7948        -3
===========================================
- Hits         6786     4355     -2431
- Misses       1165     3593     +2428

Impacted Files
Coverage Δ

etna/auto/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/models/nn/mlp.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/models/nn/rnn.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/ensembles/base.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/auto/pool/utils.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/auto/runner/local.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/commands/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/auto/pool/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/commands/resolvers.py
0.00% <0.00%> (-100.00%)
:arrow_down:

etna/ensembles/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 74 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fruites page

@Anushkabh
description:
Feat: Add Beautiful Detailed Fruits Page #345
close #345
check this out:

i created fruits page when user click on fruits

they will redirect to this page [route: /fruits]

also added hover effect on fruits card

in responsive it look like

@Anushkabh
if you have free time then please check this and merge it

hi @dhruv8433

Remove White Space and Fit Content on the Page

Ok

@Anushkabh
now you can check it and merge it
i removed white space

@dhruv8433 Done!


Unsafe.allocateMemory wraping un UnsafeBuffer to overcomming Buffer and Array size limitations

Current design the memory size is limited to array or buffer size. Give the ability for UnsafeBuffer to wrap off heap memory.
This will need a Cleaner also deallocate memory if you forget.

I don't understand what you are asking for. If this is to have long indexes and wrapping larger memory ranges then, I answered that in your other question on long indexes and lengths.
If you allocate off-heap with Unsafe.allocateMemory then it is your responsibility to free that memory and beyond the scope of UnsafeBuffer design.

Add an constructor and wrap function like UnsafeBuffer(long memoryAddress, long size)

This method is not appropriate on its own. If added it should only be in the context adding long indices.

@sirinath I think conceptually what you want is the ability to wrap over multiple buffers here. A lot of the issues you filed seem to be in the same vein - long indexes etc. You can do this yourself and have a class that wraps multiple UnsafeBuffer instances if you want.
In the projects we've been working on that use Agrona we haven't really hit a need for this functionality, because abstracting over multiple buffers has happened higher up the stack. For example Aeron is conceptually an infinite log buffer and we don't want to try and solve everyone's use cases - just focus on our own.


module file build issue

Playground execution failed: error: Introduction and Hello World.xcplaygroundpage:6:8: error: module file was created for incompatible target x86_64-apple-macosx10.12: /Users/katc/Library/Developer/Xcode/DerivedData/AudioKit_for_macOS-dxtrfxdmuufmdvdzkdccjabhinsg/Build/Products/Debug/AudioKit.framework/Modules/AudioKit.swiftmodule/x86_64.swiftmodule
Tried wiping DerivedData and building again, no fix

Have you set the playground to be for macOS?  The default is iOS.

Just reproduced this and option-cmd-1 shows the file utilities and if you change the Playground Settings to "macOS" it will work, so I am calling this issue addressed.


⚠ Processors has degraded performance

In e18ae74, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 116 ms

Resolved: Processors performance has improved in 27dd8f3.