[ENH] Please consider maintaining the Emacs-Lisp files in a separate repository

Is your feature request related to a problem? Please describe.
This repository contains one or more Emacs-Lisp libraries, which are distributed on Melpa for easy installation using Emacs' official package manager (package.el) and are also mirrored on the Emacsmirror.
This project/repository is about much more than just the elisp libraries.  These libraries are tucked away in some "contrib" or "utilities" directory.  The maintainers of the project as a whole likely care little about these libraries, which makes it a less than optimal place to maintain them.  The maintainers will always have something more important to deal with and potential contributors are likely scared away by the additional processes and conventions that such a large project needs, but which are overkill when looking at the elisp libraries in isolation.
Describe the solution you'd like.
I would like to propose that the Emacs-Lips libraries are maintained in a separate repository.  Doing that would solve a few issues and have additional benefits:

Distributing a package that originates in such a large repository puts additional strain on the Melpa server.  Fetching the repository takes longer and they require more space.  We are already trying to deal with the latter, but not very successfully and this leads to special-cases in the tooling, which come with additional maintenance costs.  See https://github.com/melpa/melpa/issues/5361, also for some past discussion.

I also maintain the Emacsmirror and here the costs are much higher than for Melpa.  The Emacsmirror does not just distribute installable snapshots of a package, as Melpa does.
Instead it mirrors the upstream repository.  But in cases like this, where the repository contains much more than just the elisp libraries, it filters the history, using tools such as git filter-repo and git subtree.  Unfortunately these tools are not very reliable and highly inefficient when continuously rewriting large repositories like this one.
Currently this affects just 33 out of 8485 on the Emacsmirror, and the disproportionate amount of work that it takes to maintain the tooling for these special-cases is just not worth it.  So I have decided to phase out support, but not before making an effort to get as many of these Emacs package slit out of the repositories they are currently being maintained in.

For maintainers of this repository any issue about the elisp libraries is likely just more noise.  They have better things to do.

On the other hand, the original authors of the elisp libraries and people who have contributed to them, likely have notifications for this repository disabled because they only contribute to the elisp parts and there would just be too much noise otherwise.  So issues and pull-requests by users are likely to go unnoticed for a long time.
The author and contributors likely have to be explicitly summoned, as I am doing now: @gvol @immerrr @williamstein

Potential contributors are discouraged when their pull-requests are being "ignored" or they might be discouraged by the additional requirements imposed by the project as a whole, and not even try to contribute as a result.

Users who install elisp packages by manually cloning their repositories and then manually adding the appropriate directories to the load-path, are forced to clone a huge repository just to get their hands on a few elisp libraries in some subdirectory.  (Or they can use the filtered repositories on the Emacsmirror, but as I mentioned, those are going away.)

So in summary, I think there are many downsides to maintaining the elisp libraries in this repository.  I am not sure there are any upsides, except that it is the status quo.
Moving the elip libraries out of here is some work, that someone has to do, but most of that work is already done.  You can just clone the respective repository from the Emacsmirror (at https://github.com/emacsmirror/cython-mode) and publish it somewhere else.  (Please check that no recent history is missing and if the mirror repository is not uptodate, then ping me.)
Once you have done that tell me about it here, and I will take care of updating Melpa and the Emacsmirror.
Thanks for considering!
Jonas
Describe alternatives you've considered.
We can remove cython-mode from Melpa and the Emacsmirror, but I would rather not do that.
Additional context
No response

Hi, I see that I've been explicitly summoned!
For what it is worth, I don't use emacs anymore, and don't have any vested interest in this emacs-lisp code.  If there is anything where I can help regarding permissions let me know.

We can remove cpython-mode from Melpa and the Emacsmirror, but I would rather not do that.

Did you mean to write "cython-mode", but wrote "cpython-mode" as a typo?

I don't think we're particularly set on having this in the main Cython repository - I don't think any of the current Cython maintainers use emacs, so on the rare occasion we do get a PR for it it's hard to know what to do. I'm not sure whether moving them to another repository under github.com/cython solves a huge amount - it'd be the same people (not) maintaining it.
My question would be: is there somewhere useful external that we could hand this off to? (A quick search suggests "not really").

My question would be: is there somewhere useful external that we could hand this off to?

There is the Emacsorphanage, which I happen to maintain. :grin:
I think that would be a good place to move this too. I am certainly qualified to take care of the Elisp side of things, but I am not a C or Python programmer, so there is a possibility that I would have to summon some experts (you) once in a blue moon.

There is the Emacsorphanage, which I happen to maintain. grin
I think that would be a good place to move this too. I am certainly qualified to take care of the Elisp side of things, but I am not a C or Python programmer, so there is a possibility that I would have to summon some experts (you) once in a blue moon.

Was going to suggest emacsorphanage :) I haven't touched C or Cython code in ages, but would be happy to help.

@da-woods let me know if you want to proceed like this. I will then setup to repository on the orphanage and change the mirror and Melpa to get it from there. I'll also give @immerrr access, and can also give you or someone else from the cython organization access.

@scoder do you have any thoughts on this?

I use Cython and I use Emacs. I would be happy to help in taking care of cython-mode. I think making it a new repository in the cython organization makes sense. Commit rights can be delegated for that repository only.

I was always considering the Emacs mode a single file, nothing that really requires a repository checkout to retrieve it. Just download it from the master branch URL and that's it.
That said, moving it to a separate repo seems fine, for exactly the same reason.
What are the trade-offs in moving it to Emacsorphanage vs. our own separate repo?
It definitely lacks a maintainer currently, so any such place will probably be better than its current.

Probably the repository would grow some other files to have a minimum documentation and some basic tests. The Emacsorphanage makes it sound like the code is abandoned and maybe superseded by something else. The cython organization is where someone would most likely look for it. The only drawback I can see in having the repo in the cython organization is that someone with admin privileges on the organization will need to delegate the appropriate permissions on the new project for someone else to take care of it. But it is most likely something that will need to be done just once.

I extracted the file into its own repo under the cython organisation:
https://github.com/cython/emacs-cython-mode
To keep the history, I used:

https://stackoverflow.com/a/37037151
https://stackoverflow.com/a/23606462
https://stackoverflow.com/a/13389977

If you want to help in maintaining that repo, please contact me. Thanks for the input and for bringing up this topic.

Thank you @scoder I normally use git-filter-repo https://github.com/newren/git-filter-repo for this kind of things.

For the Emacsmirror I used something like:
cd /tmp
git clone https://github.com/cython/cython source
git init target
git filter-repo \
    --source source \
    --target target \
    --path Tools/cython-mode.el \
    --path-rename Tools/cython-mode.el:cython-mode.el \
    --prune-empty=always \
    --prune-degenerate=always

I've updated Melpa and the Emacsmirror to point to the new repository.

Closing this issue since the the cython-mode.el was moved to separate repo. Feel free to reopen the issue when still valid.


Åzone Review: Author description error

Both posts read “This is a generic author description”.

Not a bug, maps/author_descriptions.coffee just needs to be updated with copy.

Perhaps if the field is empty we could omit the value? Not sure if a post from Åzone has a description…

It's in the comps, an author has a description. we can also remove it if
it's not going to be used.
On Saturday, October 24, 2015, aarongillett<EMAIL_ADDRESS>wrote:

Perhaps if the field is empty we could omit the value? Not sure if a post
from Åzone has a description…
—
Reply to this email directly or view it on GitHub
https://github.com/AOzone/median/issues/127#issuecomment-150834607.

--
**
http://are.na

Yeah, originally Troy spec’d a description field but maybe for now it’s best to hide it.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1413 ms

Resolved: Bofrost.at performance has improved in 6f2473d after 7 minutes.


Add progress to file uploading

In the CLI code, when we upload a file, the request body is a stream, and so we're able to listen in on the stream and output progress. We should do the same where possible in the UI. Currently in the UI, the request body is FormData.
Reference code for the CLI can be found here: https://github.com/GMOD/Apollo3/blob/2698455c22171c30d14d8f2104d311af05fedf87/packages/apollo-cli/src/utils.ts#L453-L505
This change in the UI will need to happen in packages/jbrowse-plugin-apollo/src/components/AddAssembly.tsx and packages/jbrowse-plugin-apollo/src/components/ImportFeatures.tsx.
To update the progress percentage, call jobsManager.update(job.name, 'message', percent). jobsManager and job already exist in those files, so you won't need to create them.
Unfortunately, currently only Chrome (and other Chromium-based browsers) allow streams in request bodies. So we'll need to do feature detection and fall back to the current method if the browser doesn't support it.
I found some code here that should work to detect if the browser supports streams in request bodies:
https://github.com/web-platform-tests/wpt/blob/d90f52b5215dca9fd334314b7353a4b57b4719c9/fetch/api/basic/request-upload.h2.any.js#L130-L142
If supported is true after running that code, it should use streams, otherwise fall back to FormData.

Since this can only be done on HTTP2, we'll need to see if it's possible for our server to support HTTP2. We have a couple different options to try this.
One option is to use the spdy package to add HTTP2 support to express, as is described here.
The other option is to use fastify instead of express. This is supported natively by NestJS as is described here, but with the http2 option set as new FastifyAdapter({http2: true}).
In either case, we should test this locally to see if it works in a development environment without a key and cert file.


Revert "Utils: Do not expand tilde in writeAsYaml()"

The original change not only removes the expansion of the tilde from
writeAsYaml() but also the conversion of targetFile to an absolute path.
This makes writeAsYaml() run into a NPE in case targetFile is a relative
file in the current working directory which in turn breaks several
helper-cli commands.
This reverts commit e5fbaf94c7d9776288062b38af2d3bb20e81c5aa.

but also the conversion of targetFile to an absolute path

So, if the real goal is to get an absolute path, we should simply call absolutePath IMO.

So, if the real goal is to get an absolute path, we should simply call absoluteFile IMO.

Done.

The commit message still contains "revert" at the bottom, and lacks a sign-off.

Sorry @sschuberth , fixed it.


Support for Adding Workout Events/Sub-Activities to Workouts

Thank you for your efforts in developing and maintaining the @kingstinct/react-native-healthkit package. I have been using this package for tracking workouts and syncing data with Apple HealthKit, and it has been a great experience so far.
However, I noticed that there is no direct support for adding sub-activities or workout events (e.g., segments of a multisport workout like a triathlon) to a workout. In Apple’s HealthKit, it is possible to break down a workout into discrete activities or intervals, such as different phases of interval training or various stages of a triathlon (swim, bike, run). This functionality allows users to more accurately track and analyze their workouts.
For example, during a triathlon, a user might want to record separate segments for the swimming, cycling, and running parts of the workout. It would be helpful to store these segments as events within the same workout session, allowing for easier analysis and better representation of the workout in Apple Health. I am adding a picture of a better understanding of what I want.Please see "workout activities" in the image, i want to add sub-activities to a workout just like this

Best regards,
Fariha Khalid

I'm willing to contribute to adding this feature if someone can point me in the right direction regarding the library's structure.


Dev/dexiang/network may release

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

@number213 Could you please take a look?

All, please ignore this PR, I was asked to do this for some ARM manifest upload requirements

Hi, @dexiang-ms. The PR has be closed for a long time and it's related branch still exist. If no further used for over 14 days, I will delete this related branch. Please tell me if you still need this branch.

Hi, @dexiang-ms. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.


fix error missing

Codecov Report

Merging #20 into master will decrease coverage by 0.55%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master      #20      +/-   ##
==========================================
- Coverage   92.94%   92.38%   -0.56%
==========================================
  Files          14       14
  Lines         935      932       -3
==========================================
- Hits          869      861       -8
- Misses         46       49       +3
- Partials       20       22       +2

Impacted Files
Coverage Δ

policy/daemon.go
86.89% <60%> (-1.63%)
:arrow_down:

pubkey/daemon.go
91.89% <0%> (-1.36%)
:arrow_down:

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 66ed8b1...03bcd1f. Read the comment docs.


refactor: use alloy's BaseFeeParams

first draft on 7530
@mattsse just to see if it is going in the right direction.

@mattsse modified the trait to constants

@mattsse should I open a new pr with a dedicated branch?

that'd would be preferred yes :)


fix: typo for _X_AMZN_TRACE_ID

Motivation and Context
This changes fixes a typo in the name of the X-Ray trace environment variable on Lambda functions. It should be _X_AMZN_TRACE_ID, but is _X_AMZ_TRACE_ID.
See the documentation on custom runtimes for more information.
Description
Replace all occurrences of _X_AMZ_TRACE_ID by _X_AMZN_TRACE_ID.
Testing
Searched for all occurrences of _X_AMZ_TRACE_ID with grep and confirmed none were left.
Checklist

[x] I have updated CHANGELOG.next.toml if I made changes to the smithy-rs codegen or runtime crates
[x] I have updated CHANGELOG.next.toml if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

thanks for catching this!


AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'

Describe the bug
Fresh install of picframe results into this error:
AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS'
Additional context
Pillow 10.0.0 is getting installed. It seems ANTIALIAS has been deprecated in this version. See here.
The error is coming from ninepatch. v0.1.22 is getting installed.
Please help.

Sorry for the late response and thanks for reporting.
Indeed in ninpatch I found  the standard filter defined asrender(self, width, height, img_filter=Image.ANTIALIAS, cache=False).
As a workaround I replaced all render calls with render(image.width, image.height,  Image.Resampling.LANCZOS) and changed the minimum Pillow version to 10.0.0.
I will prepare a new release.

Should be fixed with 2023.07.26

On my test system (Mac) it works, but on the raspberry it seem we have to pin Pillow to release 9.5.0 until a fix for ninepatch is available.
I released 2023.07.26.post1

Thanks @helgeerbe, appreciate your help with this.


Introduce faster streams for REST and Document client setup

Document REST setup
https://docs.factcast.org/setup/client/rest/

First experiments with the multi http structure weren't very promising. So I introduced a second stream for the full facts.
This stream could cause very high loads on the server, due it could not be cached.

I would not be afraid of the load immediate Event transfer introduces. With GRPC, we see that almost alle Events need to be cached client side (infinispan for instance) in order to be faster with a "idOnly" stream, as the fetching of single Events creates most of the perfomance hit.

I would say it strongly depends on the usage and infrastructure. Of course there is absolutely no point in using the Id-Stream, if one does not have a http-cache in front of the REST-API.
But if one has many subscribers, each only interested in few (big) facts, one can consider using the id stream. Getting the benefits of HTTP-Caching on the server side.
So I would leave both options in the API.

Sure. Choice is good – same with the GRPC API.


Terminal session hangs during commands

Steps to reproduce:

Go to a directory where large list of files located. say 2500
do ls on shell $ls , keep repeating it.
Terminal session hangs at somepoint

vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstry914:30276682
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt875:30259475
pythonvsnew554cf:30291488
pythontb:30283811
vspre833cf:30267465
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30276952
pythondataviewer:30285071
vscus158:30286553

This is possible related to https://github.com/microsoft/vscode/issues/120300.


UTF-8 non-ASCII chars

Traceback (most recent call last):
File "/bin/ansible-docgen", line 7, in
cli.run()
File "/usr/lib/python2.7/site-packages/ansibledocgen/cli.py", line 44, in run
self.formatter.write_files()
File "/usr/lib/python2.7/site-packages/ansibledocgen/formatter/markup.py", line 115, in write_files
p.write("%s" % line)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position 34: ordinal not in range(128)

b0676052afc61d955ab9d3ae8c19b0acb6545d20 should solve your issue.  Can you checkout the branch bug/30 and test?

Thank you.
It's work like a charm.


The great PHP-8 migration

Purpose
Getting us on the latest and greatest.
Approach
Update docker images, composer requirements, broken dependencies and finally any broken code.
Checklist

[x] I have performed a self-review of my own code
[ ] ~I have added relevant logging with appropriate levels to my code~
[ ] ~I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant~
[ ] ~I have added tests to prove my work~
[ ] ~I have added welsh translation tags and updated translation files~
[ ] ~I have run an accessibility tool on any pages I have made changes to and fixed any issues found~
[ ] The product team have tested these changes

[x] Actor/Viewer (Front)
[ ] API
[ ] Smoke

Going to have to park this. My local composer choices (--ignore-platform-reqs) were/are masking deeper library compatibility issues.
##Found so far

mezzio/mezzio-authentication-session is locked to PHP ^7.2. Issue to fix is not active (I can get this done reasonably quick)
We need PHPUnit ^9.0 for PHP8 support

jshayes/fake-requests has a hard dependency on PHPUnit ~8.0. This doesn't look particularly hard to fix either but will need an upstream PR


isparta loader is deprecated

https://github.com/deepsweet/isparta-loader#isparta-instrumenter-loader-for-webpack

Feel free to open a PR. With 2.0 update, most packages used will be revised and updated where appropriate.

Closing due to inactivity.


How can I bold a cell?

I'm using this
var ws = XLSX.utils.aoa_to_sheet(list);
To create a sheet. But now I want to bold a cell. I tried things like
var list = [
["data"],
];
but it does not work.
Does anyone know how to do this?
Thanks

They want you to buy the Pro version, that's why no one in the repo will tell you how to style a cell.

Hello,
when coming from google directly to Github, nowhere is mentioned that there is something like Pro plans.
Can you please add a comment to the main README.md that this is the case and also list the features there.

There is a comment at the very top of the README:

This is the community version. We also offer a pro version with performance enhancements, additional features like styling, and dedicated support.

We could probably add a bit more detail, but don't want to leave an impression that the open source software is somehow not fit for data processing tasks.

Yes, true.
But when I search for "font" "bold" "style" I would expect to find at least for one of them the Info that it is not supported.
You could just add the same list like on your website www.sheetjs.com/pro and it would have saved me a hour of searching your code.
And obviously I wasn't the only one who did not find this info

We offer this in the Pro compendium. Since companies have paid for the features already, it would be unfair to them if we turned around and made it available as open source. We have a longer comment in a gist.

I want to use your SheetJS pro version, so how do I get it?
Thanks

When you are not to far in your project, you can also switch to exceljs. This is containing all formatiing for free.
https://github.com/exceljs/exceljs

We offer this in the Pro compendium. Since companies have paid for the features already, it would be unfair to them if we turned around and made it available as open source. We have a longer comment in a gist.

I see that styling is available in the pro version, but how much does it cost? Is it one of those things that if I have to ask it's too much?

One interesting alternative is to use a library such as html-to-xlsx which supports basic formatting (and you might already have code that generates the HTML, so no need to recode this part).
Also as mentioned above https://github.com/exceljs/exceljs might fill your needs.
Lastly, anyone up to forking the repo and adding these basic features?

When you are not to far in your project, you can also switch to exceljs. This is containing all formatiing for free. https://github.com/exceljs/exceljs

Thank you, very lame that they do it this way.
They should throw an error when using these styling methods instead of making them just not work.

This is really frustrating!


MAINT: Added pickle protocol methods into zipline.

For review only. Tests will be added soon.
Added pickle support to many zipline methods. This will enable
them to be serialized.

@CaptainKanuk just wanted to confirm that it's good for review now?

Yes, I'll just be adding unit tests to this.

I ended up adding code to period, tracker and position for consistency. It's not much of a change code-lines wise, so it should be okay to rebase over.

More of a general comment about the state we are saving. Since we are versioning state, we want to keep the state as concise as possible. Values that are temporal like _position_store should not be stored because they don't really reflect the state of the object.
For the most part, it is better to very explicit in what state you save so that you don't grab hanger ons. While they won't break the serialization, they will change the state schema and thus require different versions if/when we clean up or refactor.
type specific data like defaultdict and what not are example of extraneous information. The object needs to know position values from state, it does not need to know how these positions were stored and where on the object they were stored. It already knows this. The __dict__ as state thing is more a quirk and dirty hack for pickling, but too brittle for when you care about versioning.
I bring up the defaultdict specifically because I am going to remove them game of thrones style. They are quite literally the devil.

Inviting the defaultdict to the red wedding?
On Feb 27, 2015 11:32 AM, "Dale Jung"<EMAIL_ADDRESS>wrote:

More of a general comment about the state we are saving. Since we are
versioning state, we want to keep the state as concise as possible. Values
that are temporal like _position_store should not be stored because they
don't really reflect the state of the object.
For the most part, it is better to very explicit in what state you save so
that you don't grab hanger ons. While they won't break the serialization,
they will change the state schema and thus require different versions
if/when we clean up or refactor.
type specific data like defaultdict and what not are example of extraneous
information. The object needs to know position values from state, it does
not need to know how these positions were stored and where on the object
they were stored. It already knows this. The dict as state thing is
more a quirk and dirty hack for pickling, but too brittle for when you care
about versioning.
I bring up the defaultdict specifically because I am going to remove them
game of thrones style. They are quite literally the devil.
—
Reply to this email directly or view it on GitHub
https://github.com/quantopian/zipline/pull/510#issuecomment-76423952.

https://github.com/quantopian/zipline/pull/525 has tests to grab the failures.
======================================================================
FAIL: test_object_serialization_18_Portfolio (tests.test_serialization.SerializationTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/datacaliber/miniconda/envs/qexec/lib/python2.7/site-packages/nose_parameterized/parameterized.py", line 233, in <lambda>
    standalone_func = lambda *a: func(*(a + p.args), **p.kwargs)
  File "/Users/datacaliber/work/quantopian/zipline/tests/test_serialization.py", line 123, in test_object_serialization
    self.assertEqual(len(bad_dicts), 0, msg)
AssertionError: Only support bare dicts. type(positions) == <class 'zipline.protocol.Positions'>

======================================================================
FAIL: test_object_serialization_5_PerformancePeriod (tests.test_serialization.SerializationTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/datacaliber/miniconda/envs/qexec/lib/python2.7/site-packages/nose_parameterized/parameterized.py", line 233, in <lambda>
    standalone_func = lambda *a: func(*(a + p.args), **p.kwargs)
  File "/Users/datacaliber/work/quantopian/zipline/tests/test_serialization.py", line 123, in test_object_serialization
    self.assertEqual(len(bad_dicts), 0, msg)
AssertionError: Only support bare dicts. type(orders_by_id) == <type 'cyordereddict._cyordereddict.OrderedDict'>

----------------------------------------------------------------------

Are the two failures on my machine.

btw, i dunno if you can just merge this PR into your branch. Give it a shot. I'm curious.

What do you mean by merge this PR into my branch?

#525 has tests to merge. I didn't have commit access. I dunno if you can just merge it into a branch.

so it looks like if I create a PR off of a branch, it'll merge into the branch and not master. whee

@dalejung  I'm honestly not sure how to deal with the case of your PR being pulled off my branch.

lol neither do i. If you want to just copy the diff over that’ll work. Is it possible to click the PR interface and merge it? and then just pull from github?
—
Sent from mobile
On Wed, Mar 4, 2015 at 2:19 PM, Delaney Granizo-Mackenzie
<EMAIL_ADDRESS>wrote:

@dalejung  I'm honestly not sure how to deal with the case of your PR being pulled off my branch.
Reply to this email directly or view it on GitHub:
https://github.com/quantopian/zipline/pull/510#issuecomment-77225771

@dalejung I see what you're doing. I'll copy over the diff and incorporate it into my newest code.

cool cool. I think that should be enough to catch the pickle stuff earlier.
—
Sent from mobile
On Wed, Mar 4, 2015 at 2:56 PM, Delaney Granizo-Mackenzie
<EMAIL_ADDRESS>wrote:

@dalejung I see what you're doing. I'll copy over the diff and incorporate it into my newest code.
Reply to this email directly or view it on GitHub:
https://github.com/quantopian/zipline/pull/510#issuecomment-77233630

@dalejung That test helper stuff you wrote is on point.

do you think that it would make sense to archive and compress all of the testing save states?  These files make the repo considerably larger and are only for testing; maybe we should rewrite the tests to unzip and unarchive the tests so that they have a smaller presence on disk

I think that's a good idea. I'll put that on my TODO list.


Update Composer dependencies (2021-09-16-00-07)

Visual regression test passed!
View the visual regression test report


Image Size v1.1.0 not compatible with expo-github-action

Build/Submit details page URL
No response
Summary
The latest version of<EMAIL_ADDRESS>requires a minimum node version of 18 but upgrading to node 18 breaks the<EMAIL_ADDRESS>which requires a node version >=12 <=16
The<EMAIL_ADDRESS>was released 9 hours ago as of 12/28/23 4:22EST
Managed or bare?
Bare
Environment
expo-env-info 1.0.5 environment info:
System:
OS: macOS 14.1.2
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.10.0 - /opt/homebrew/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v14.17.0/bin/yarn
npm: 10.2.3 - /opt/homebrew/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.12.1 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.0, iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.10671973
Xcode: 15.0/15A240d - /usr/bin/xcodebuild
npmPackages:
expo: ^41.0.0 => 41.0.1
react: ^16.14.0 => 16.14.0
react-dom: ^16.14.0 => 16.14.0
react-native: 0.63.5 => 0.63.5
react-native-web: ~0.13.12 => 0.13.18
react-navigation: ^3.9.2 => 3.13.0
npmGlobalPackages:
eas-cli: 5.1.0
Expo Workflow: bare
Error output
[2/4] Fetching packages...
warning<EMAIL_ADDRESS>Invalid bin field for "mini-css-extract-plugin".
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=18.0.0". Got "16.20.2"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
Error: The process '/usr/local/bin/yarn' failed with exit code 1
Reproducible demo or steps to reproduce from a blank project

Run the expo/expo-github-action@v7 or expo/expo-github-action@v8 in a project to reproduce

Hi,
I believe that your GitHub action run fails for you on installing dependencies, it doesn't feel like a bug in the action itself (please correct me if I'm wrong).
You are using really old Expo SDK version (41) the latest one is 49. With SDK 46 the new local Expo CLI was released. You can consider upgrading your SDK version to a more recent one (highly recommended).
Do you have the expo-cli installed as your project dependency? If so, it should be installed globally. Also the newest version of expo-cli is 6.3.10 so you can try to upgrade it and make it support Node 18 by doing so.

@szdziedzic
Hm, maybe I'm in the wrong place I'm looking at this https://github.com/expo/expo-github-action library where you can run a Github Action to build within github and validate that builds are not broken:
        uses: expo/expo-github-action@v8
        with:

This step is failing and I'm not sure how my locally installed versions of expo would be impacting a github action that I don't seem to have direct control over. I filed an incident with that library as well.

To any future readers looks like the image-size library resolved this on their own https://github.com/image-size/image-size/commit/fab15a51f60b47b4cef3a8842d3bbe97213cb2ab


Add Google Drawings as an SVG tool

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@ckduane Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Set the minimum deployment target of the Swift REPL to the Host OS version

Otherwise the minimum deployment target is picked up from the stub,
which may be lower.
rdar://problem/40279463

@swift-ci test and merge

Reimplemented it in a far less invasive fashion.

@swift-ci test and merge


List of some issues

Hi and thank you for a wonderful job.
In general, all seem to be working well. I made a list of some of the problems I encountered.

There is a glitch on the level indicators in light mode, this problem seems to be fixed in dark mode.

There is a really small bug at the bottom of the finder window, in light and drak mode.

A window becomes grey with a strange font in chrome google when you leave the mouse on an information like in the history

The search bar is transparent while the rest is not.

That's all I've met so far, well done for this job.
Will the bar be transparent in the future in dark mode or not?
Thank you and sorry for the mistakes.

Thank you.  This helps track a list of pending issues.
Most of these require analysis before we can determine whether they are "fixable" (we are quickly exhausting what is capable with this kind of patch). But follow and you will be update accordingly.
Temporarily assigned to the v2.0 milestone.

Good luck, count on me;)

@FAdeo0
Many of these have been fixed and scheduled for a v1.3 release. Specifically:

Level Indicators
Browser search bars (not sure about font)

Top menu bar enables transparency for the search only.  We are still working on overall menu bar transparency.
Stay tuned.

WoW it’s cool! Thanks for you effort! ;)

Done.


Web page monitoring agent

How do I create an agent that monitors crypto data on a web page? Can someone share a step by step guide?

there are loads of libraries to do this that can be connected to this find a library that is open source like GitHub and has lots of support to fix errors and post details here and ill look into how to make it a tool addon.


New API for attaching and detaching managed data disks in Control plane

ARM (Control Plane) API Specification Update Pull Request
Context
Control plane is coming up with a newer API, for attaching managed data disks to the virtual machine. Earlier this operation was done using a PUT VM call, where the customer needed to submit the complete state of the VM for attaching disks or detaching disks. With this new API, only disks that needs to be attached or detached must be submitted.
Changes includes

New API endpoint contract specified for single VM
New API endpoint contract for single VMSS VM.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[ ] New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
[x] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

@csassasin , please resolve all the lintDiff issues.
also in the example files, instead of "aaaaaaa", could you place more likely values? Thank you.

and please continue to seek ARM team approval.

Hi @csassasin ,
About the context

Control plane is coming up with a newer API, for attaching managed data disks to the virtual machine. Earlier this operation was done using a PUT VM call, where the customer needed to submit the complete state of the VM for attaching disks or detaching disks. With this new API, only disks that needs to be attached or detached must be submitted.

Is it possible to support attach/detach data disks by PATCH VM/VMSS operations? If so, we don't need to add separate API operations to do it.

@csassasin , please resolve all the lintDiff issues. also in the example files, instead of "aaaaaaa", could you place more likely values? Thank you.

Changes done, changed to sensible naming like "azure-vm".

Swagger Validation Report
✔BreakingChange succeeded [Detail] [Expand]
✔Breaking Change(Cross-Version) succeeded [Detail] [Expand]
❌LintDiff: 3 Errors, 2 Warnings failed [Detail]
compared tags (via openapi-validator v2.1.6)	new version	base version
package-2023-09-01	package-2023-09-01(4bc812a) package-2023-09-01(feature/cplat-2023-09-01)
[must fix]The following errors/warnings are introduced by current PR:
Rule	Message	Related RPC [For API reviewers]
`❌` ResourceNameRestriction	The resource name parameter 'vmName' should be defined with a 'pattern' restriction.
Location: ComputeRP/stable/2023-09-01/virtualMachine.json#L1898	RPC-Uri-V1-05
`❌` LroErrorContent	Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: ComputeRP/stable/2023-09-01/virtualMachine.json#L1954
`❌` LroErrorContent	Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Location: ComputeRP/stable/2023-09-01/virtualMachineScaleSet.json#L3559
⚠ ParameterNotUsingCommonTypes	Not using the common-types defined parameter 'resourceGroupName'.
Location: ComputeRP/stable/2023-09-01/virtualMachine.json#L1905
⚠ ParameterNotUsingCommonTypes	Not using the common-types defined parameter 'resourceGroupName'.
Location: ComputeRP/stable/2023-09-01/virtualMachineScaleSet.json#L3503
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule	Message
`❌` GetCollectionResponseSchema	The response in the GET collection operation 'VirtualMachineRunCommands_List' does not match the response definition in the individual GET operation 'VirtualMachineRunCommands_Get' .
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L36
`❌` OperationsApiResponseSchema	The response schema of operations API '/providers/Microsoft.Compute/operations' does not match the ARM specification. Please standardize the schema.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L52
`❌` OperationsApiSchemaUsesCommonTypes	Operations API path must follow the schema provided in the common types.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L53
`❌` GetCollectionOnlyHasValueAndNextLink	Get endpoints for collections of resources must only have the value and nextLink properties in their model.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L152
`❌` MissingTypeObject	The schema 'ComputeOperationListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L178
`❌` MissingTypeObject	The schema 'ComputeOperationValue' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L194
`❌` MissingTypeObject	The schema 'ComputeOperationValueDisplay' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L213
`❌` MissingTypeObject	The schema 'UsageName' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L238
`❌` MissingTypeObject	The schema 'Usage' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L251
`❌` MissingTypeObject	The schema 'ListUsagesResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L287
`❌` MissingTypeObject	The schema 'SubResourceWithColocationStatus' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L355
`❌` MissingTypeObject	The schema 'VirtualMachineSize' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L369
`❌` MissingTypeObject	The schema 'VirtualMachineSizeListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L403
`❌` MissingTypeObject	The schema 'Plan' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L418
`❌` MissingTypeObject	The schema 'HardwareProfile' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L439
`❌` MissingTypeObject	The schema 'ImageReference' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L640
`❌` MissingTypeObject	The schema 'KeyVaultSecretReference' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L691
`❌` MissingTypeObject	The schema 'KeyVaultKeyReference' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L717
`❌` MissingTypeObject	The schema 'DiskEncryptionSettings' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L734
`❌` MissingTypeObject	The schema 'VirtualHardDisk' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L773
`❌` MissingTypeObject	The schema 'DiffDiskSettings' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L871
`❌` MissingTypeObject	The schema 'ManagedDiskParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L884
`❌` MissingTypeObject	The schema 'OSDisk' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L906
`❌` MissingTypeObject	The schema 'DataDisk' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L971
`❌` MissingTypeObject	The schema 'StorageProfile' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L1052
`❌` MissingTypeObject	The schema 'UefiSettings' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L1079
`❌` MissingTypeObject	The schema 'SecurityProfile' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L1092
`❌` MissingTypeObject	The schema 'AdditionalCapabilities' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L1167
`❌` MissingTypeObject	The schema 'AdditionalUnattendContent' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L1180
`❌` MissingTypeObject	The schema 'WinRMListener' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: ComputeRP/stable/2023-09-01/computeRPCommon.json#L1223
⚠Avocado: 1 Warnings warning [Detail]
✔SwaggerAPIView succeeded [Detail] [Expand]
✔TypeSpecAPIView succeeded [Detail] [Expand]
✔ModelValidation succeeded [Detail] [Expand]
✔SemanticValidation succeeded [Detail] [Expand]
✔PrettierCheck succeeded [Detail] [Expand]
✔SpellCheck succeeded [Detail] [Expand]
✔PR Summary succeeded [Detail] [Expand]
✔Automated merging requirements met succeeded [Detail] [Expand]
Posted by Swagger Pipeline | How to fix these errors?

LroErrorContent - Currently we don't have error in Compute other than v1 version .
ResourceNameRestriction - Its not applicable for all existing API's

@ArcturusZhang the LintDiff issue: Error response content of long running operations must follow the error schema provided in the common types v2 and above.
Can I suppress this for compute folder?  Compute has been using our own defined common-types

/azp run


Pebblo Safe Retriever details in Local UI

We would like to have Safe Retriever Details on the local UI. Here two separate tabs would be shown for loader type and retrieval type applications.
This would include below details on Safe Retrieval App listing page:

[ ] Active Users (with mouse over showing actual "Top" users - cut off at N user-ids, N = 3)
[ ] Retrieve Documents (with mouse over showing "Top" documents retrieved - cut off at N user-ids, N = 3)
[ ] Retrievals (i.e. prompt count, cumulative)
[ ] VectorDB (with mouse over showing first N vector db names, N=3)
[ ] Owner(app owner)

Delivered in v0.1.15. Closing.


Backport "chore: Backport changes from Metals" to LTS

Backports #19410 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-19520.
Reference


[FR] non-interactive mode for running in scripts

as the title suggests, add a --batch, -b switch to proceed without confirmations.
Also useful with the search command, i think.

Added --quiet switch, in #29, new builds will be available in less than 10 minutes.


Color Contrast Example - Build Error

What is wrong?

npm run build fails with slightly modified color contrast example
Where does it happen?

It happens when trying to run npm run build on my Mac running NodeJS LTS.
How do we replicate the issue?

Build script in package.json: "build": "cross-env BABEL_ENV=production babel src --out-dir lib",
src/index.js -> lib/index.js
TypeError: src/neuralNetTest.js: Cannot read property 'contexts' of null

As you can see, I have an index.js that is able to build, but the example code contained in src/neuralNetTest.js shows a TypeError.
How important is this (1-5)?

4-5
Expected behavior (i.e. solution)

Build without errors
Other Comments
const brain = require('brain.js');

const net = new brain.NeuralNetwork();

const trainNN = () => {
  net.train([{
    input: {
      r: 0.03,
      g: 0.7,
      b: 0.5
    },
    output: {
      black: 1
    }
  },
  {
    input: {
      r: 0.16,
      g: 0.09,
      b: 0.2
    },
    output: {
      white: 1
    }
  },
  {
    input: {
      r: 0.5,
      g: 0.5,
      b: 1.0
    },
    output: {
      white: 1
    }
  }
  ]);
};

const runNN = (red, green, blue) => {
  trainNN();

  const output = net.run({
    r: red,
    g: green,
    b: blue
  }); // { white: 0.99, black: 0.002 }

  return output;
};

export { trainNN, runNN };

.babelrc:
{
  "env": {
    "development": {
      "presets": ["env"],
      "plugins": [
        "add-module-exports"
      ]
    },
    "production": {
      "presets": ["env", "minify"],
      "plugins": [
        "add-module-exports"
      ]
    }
  }
}

Temporary fix: remove "minify" from production build preset.

@robertleeplummerjr

This is most likely caused by babel config. Can you please test the pre-built versions provided?
Also please specify nodejs/browser version.

I was using Node version 10.16.3. I updated to 14.1.0, and the error is still happening.
I'm not sure what the point of using pre-built is, since I am trying to build the examples myself.
Here is the full error, again, caused by "minify" option when building using Babel (latest version):

Even without changing the Color Contrast example at all, still fails to build using Babel with "minify" enabled.

Please share babel config and other info. I will try to reproduce this issue asap.

https://github.com/BrainJS/brain.js/issues/524#issuecomment-609465812

babel-preset-env and babel-minify does not seems to be compatible: https://github.com/babel/minify/issues/664
Also since babel-minify in in beta, i would recommend using other tools (parcel, rollup etc) to minify output.


docs: Add GitHub issue template for Bug Report and Feature Request

Overview

This PR fixes #6
This PR does the following: Add GitHub issue template for Bug Report and Feature Request.

Thanks @shricodev

Thanks @shricodev

@devXprite You're welcome. 🤝


Support for Solar LLM and embedding

Feature request about adding llm and embedding provider Solar. It is number one llm provider in APAC. Can be used by their API or aws jumpstart.
Solar shows very nice performance in Korean and Japanese. And Thai is coming soon.
If you agree, I'll work on it and give you a PR.
Additional context
See more about Solar.
https://www.predibase.com/blog/solar-llm-on-predibase-the-best-llm-for-fine-tuning?utm_medium=partner&utm_source=upstage
https://www.linkedin.com/posts/leohp_openai-activity-7205473539208998912-w8-W/

Thanks JuHyung,
We will read up and get back to you. Is solar open sourcing their models or would this be through the API only?

It works through API only.

We are trying to keep the number of integrations in this repository to a minimum. What dependencies would this introduce?

just requests or openai

@emrgnt-cmplxty Any progress?

Also, Layout Analysis which is unstructured data parsing api would be good to add.


Capturing allowances and adjustments

The current and proposed APIs (for levels of granularity) allow you to send one value per-tax year for allowances and adjustments. This is in contrast to income and deductions that are captured as zero or more values per quarter.
Consider these two examples:
PUT /self-assessment/nino/{nino}/allowances/{taxYear}
{
   "allowancesOnSales": 10,
   "annualInvestmentAllowance": 10,
   "businessPremisesRenovationAllowance": 10,
   "capitalAllowanceMainPool": 10,
   "capitalAllowanceSpecialRatePool": 10,
   "captialAllowances": 10,
   "enhancedCapitalAllowance": 10,
   "restrictedCapitalAllowance": 10,
   "allowanceForSmallBalanceOfUnrelievedExpenditure": 10
}

PUT /self-assessment/nino/{nino}/adjustments/{taxYear}
{
   "accountingAdjustment": 10,
   "adjustmentToProfits": 10,
   "averagingAdjustment": 10,
   "basisAdjustment": 10,
   "includedNonTaxableProfits": 10,
   "lossBroughtForward": 10,
   "outstandingBusinessIncome": 10,
   "overlapReliefUsed": 10
 }

Note: not all allowances and adjustments are valid for all sources of income.
This method is suitable if your software captures single values for tax years. If your software captures multiple values (e.g. at a specific point in time) per quarter, then capturing that data as a summary for a period of time might be more suitable.
For example (using an API granularity level 1):
POST /self-assessment/nino/{nino}/periods
{
   "from": "2016-10-01 00:00:00",
   "to": "2016-11-01 00:00:00",
   "adjustments": {
      "accountingAdjustment": 10,
      "adjustmentToProfits": 10,
       "averagingAdjustment": 10,
       ...
   },
   ...
 }

Bearing that in mind, could you please review the above example and let us know how you'd prefer?

@P-Tracy, @bikezilla, @andyws, @PaulOnions - I'm not sure if you get automatic notifications, so I'm mentioning you here so you are aware of this question.

Hi Alex
Not sure I understand the question.  You're just asking what format we want?
In the first one, it takes an explicit tax year in the URL and in the second it takes two random dates.  Ultimately it's of no significance to me whether we go with option 1 or 2.  However, from your perspective the level of validation and error management in option 2 is significantly higher.
HMRC then needs to validate and verify the date ranges provided and ensure they wholly fit into one tax year?
You also need to ensure you don't have any existing allowances or adjustments with dates that overlap the new dates provided?
What is the behaviour if the dates provided only cover a portion of the tax year, so maybe 9 months instead of the full 12?  Is the remaining 3 month assumed to be 0?
At the end of the day, we will conform to the API you ask us to - we have all the data at hand and can massage it into any format.
In my opinion, the contract should be wholly owned, defined and dictated by the level of intelligence and complexity that HMRC are able to accommodate.

Hi Alex,
I may be misunderstanding or over complicating here but...
There is also the issue that the consultation papers suggest you may be able to file adjustments either on a quarterly basis o wholly at the end of the year therefore you will need to cater for periodic filing with date ranges that you check for tax year fit and full tax year as well as the final filing at the end.

Hi,
You'll be able update HMRC of your adjustments and allowances whenever you like, either quarterly or end of year.
By associated them with a tax year, we're saying that you set that value whenever you need to.
By associating them with a period of time, we're saying that they were specifically caused by events that the customer undertook in that period of time, e.g. related to a specify invoice or receipt.
Is that clearer?
Alex

@alexec
Will updates be possible at any time or just once a quarter with a final set of adjustments at the year end?

Hi Andy - the minimum and maximum frequency of updates is a policy decision, so I'll pass your questions to SDST.

Hi Alex
The frequency of the commits or state transitions is policy, but that doesn't necessarily align to the frequency of the submission.
If the state of an income was:
saved -> pending review (optional) - quarterly submitted -> submitted
This would mean we could submit the data to HMRC very regularly and there would be a specific submit where the data has been consciously reviewed and has been deemed ready for assessment or evaluation by HMRC.
Without the states, at the moment it feels like everything is being submitted and set in stone from day one - which is worrying as we are submitting data quarterly that we don't know whether we can amend without causing alarm in HMRC.  It completely changes the behaviour of the consumer when using your APIs.

@P-Tracy
Good question and speaks to my thought about providing a 'real time' view of tax liability given an amenable set of inputs.

@andyws This was what my question about liabilities was relating to....  If none of my data is in submitted state, then the Liability is 'estimated'.  Same with if my data is only in 'Saved' or 'Quarterly submitted' state.
However, if I'm in 'Submitted' my liability would be definitive.
Without these states, given the infinite permutations for what a valid SA submission is, I just don't see how HMRC are going to be able to definitely say if the form has 'enough data' or not.  Without the User dictating the completeness of the data, how can we be sure they're finished.
The states are not correct as you want the Liability prior to submission, but I hope I've got my point across!

Thank you for your feedback. We'll be updated with a new API specification soon.


Improve parallelism / reduce thread blocking

Hey,
We are using DryIoc in web application which is very multi threaded environment. When doing load  testing in our application I noticed DryIoc is locking quite a lot. 19% of threads are blocked.
This report is based on analyzing w3wp process during high load.
I used windows task manager to take memory dump of the process and analysed it using DebugDiagx64 (Microsoft tool)
Here are the results:

Thread 30 - System ID 10676
Entry point   clr!Thread::intermediateThreadProc
Create time   6/12/2019 5:57:28 PM
Time spent in user mode   0 Days 00:00:03.015
Time spent in kernel mode   0 Days 00:00:00.765
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
The largest lock is here, pointing to dryioc
.Net Call Stack
[[PrestubMethodFrame] (.)] DynamicClass.()
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure)+2525
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure)+d3e46
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure, DryIoc.IResolverContext)+13abe
DryIoc.Container.DryIoc.IResolver.Resolve(System.Type, System.Object, DryIoc.IfUnresolved, System.Type, DryIoc.Request, System.Object[])+37a
DryIoc.Container.ResolveAndCacheFactoryDelegate(System.Type, DryIoc.IfUnresolved)+140
Severa.Rest.API.DryIocControllerActivator.Create(System.Net.Http.HttpRequestMessage, System.Web.Http.Controllers.HttpControllerDescriptor, System.Type)+52
System.Web.Http.Dispatcher.HttpControllerDispatcher+d__15.MoveNext()+12d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.Dispatcher.HttpControllerDispatcher+d__15, System.Web.Http]](d__15 ByRef)+7a
System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+257
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
DryIoc.WebApi.RegisterRequestMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+29
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
System.Web.Http.HttpServer+d__24.MoveNext()+1a0
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.HttpServer+d__24, System.Web.Http]](d__24 ByRef)+7a
System.Web.Http.HttpServer.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Owin.HttpMessageHandlerAdapter+d__20.MoveNext()+25a
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.Web.Http.Owin.HttpMessageHandlerAdapter+d__20, System.Web.Http.Owin]](d__20 ByRef)+80
System.Web.Http.Owin.HttpMessageHandlerAdapter.InvokeCore(Microsoft.Owin.IOwinContext, Microsoft.Owin.IOwinRequest, Microsoft.Owin.IOwinResponse)+7b
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+d__5[[System.__Canon, mscorlib]].MoveNext()+229
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+d__5[[System.__Canon, mscorlib]], Microsoft.Owin.Security]](d__5 ByRef)+a4
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1[[System.__Canon, mscorlib]].Invoke(Microsoft.Owin.IOwinContext)+9e
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+d__7.MoveNext()+3d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+d__7, Microsoft.Owin.Host.SystemWeb]](d__7 ByRef)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.RunApp(System.Func`2,System.Threading.Tasks.Task>, System.Collections.Generic.IDictionary`2, System.Threading.Tasks.TaskCompletionSource`1, Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(System.Object, System.EventArgs, System.AsyncCallback, System.Object)+27a
System.Web.HttpApplication+AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+182
System.Web.HttpApplication+<>c__DisplayClass285_0.b__0()+25
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep)+9b
System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)+83
System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+74d
System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, System.AsyncCallback)+83
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)+1e2
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+441
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr, System.Web.RequestNotificationStatus ByRef)+7e
[[InlinedCallFrame] (System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion)] System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatusByRef)
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+504
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
[[ContextTransitionFrame]]

Full Call Stack
ntdll!NtWaitForAlertByThreadId+14
ntdll!RtlpWaitOnAddressWithTimeout+43
ntdll!RtlpWaitOnAddress+b2
ntdll!RtlpWaitOnCriticalSection+db
ntdll!RtlpEnterCriticalSectionContended+cc
ntdll!RtlEnterCriticalSection+40
clr!CrstBase::SpinEnter+ac
clr!CrstBase::Enter+10d
clr!MethodDesc::MakeJitWorker+297
clr!MethodDesc::DoPrestub+94c
clr!PreStubWorker+3cc
clr!ThePreStub+55
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1<System.Object>, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure)+2525
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1<System.Object>, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure)+d3e46
DryIoc.Scope.TryGetOrAdd(ImTools.ImMap`1<System.Object>, Int32, DryIoc.CreateScopedValue, Int32)+f8
DryIoc.Scope.GetOrAdd(Int32, DryIoc.CreateScopedValue, Int32)+67
DynamicClass.(ArrayClosure, DryIoc.IResolverContext)+13abe
DryIoc.Container.DryIoc.IResolver.Resolve(System.Type, System.Object, DryIoc.IfUnresolved, System.Type, DryIoc.Request, System.Object[])+37a
DryIoc.Container.ResolveAndCacheFactoryDelegate(System.Type, DryIoc.IfUnresolved)+140
Severa.Rest.API.DryIocControllerActivator.Create(System.Net.Http.HttpRequestMessage, System.Web.Http.Controllers.HttpControllerDescriptor, System.Type)+52
System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15.MoveNext()+12d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15, System.Web.Http]](<SendAsync>d__15 ByRef)+7a
System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+257
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
DryIoc.WebApi.RegisterRequestMessageHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+29
System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+31
System.Web.Http.HttpServer+<SendAsync>d__24.MoveNext()+1a0
System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib]].Start[[System.Web.Http.HttpServer+<SendAsync>d__24, System.Web.Http]](<SendAsync>d__24 ByRef)+7a
System.Web.Http.HttpServer.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+83
System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)+64
System.Web.Http.Owin.HttpMessageHandlerAdapter+<InvokeCore>d__20.MoveNext()+25a
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[System.Web.Http.Owin.HttpMessageHandlerAdapter+<InvokeCore>d__20, System.Web.Http.Owin]](<InvokeCore>d__20 ByRef)+80
System.Web.Http.Owin.HttpMessageHandlerAdapter.InvokeCore(Microsoft.Owin.IOwinContext, Microsoft.Owin.IOwinRequest, Microsoft.Owin.IOwinResponse)+7b
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+<Invoke>d__5[[System.__Canon, mscorlib]].MoveNext()+229
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1+<Invoke>d__5[[System.__Canon, mscorlib]], Microsoft.Owin.Security]](<Invoke>d__5<System.__Canon> ByRef)+a4
Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1[[System.__Canon, mscorlib]].Invoke(Microsoft.Owin.IOwinContext)+9e
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__7.MoveNext()+3d
System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage+<RunApp>d__7, Microsoft.Owin.Host.SystemWeb]](<RunApp>d__7 ByRef)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.RunApp(System.Func`2<System.Collections.Generic.IDictionary`2<System.String,System.Object>,System.Threading.Tasks.Task>, System.Collections.Generic.IDictionary`2<System.String,System.Object>, System.Threading.Tasks.TaskCompletionSource`1<System.Object>, Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult)+80
Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.BeginEvent(System.Object, System.EventArgs, System.AsyncCallback, System.Object)+27a
System.Web.HttpApplication+AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+182
System.Web.HttpApplication+<>c__DisplayClass285_0.<ExecuteStepImpl>b__0()+25
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep)+9b
System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)+83
System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+74d
System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, System.AsyncCallback)+83
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)+1e2
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+441
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
clr!UMThunkStub+6e
webengine4!W3_MGD_HANDLER::ProcessNotification+8e
webengine4!W3_MGD_HANDLER::DoWork+3a5
webengine4!RequestDoWork+3fc
webengine4!CMgdEngHttpModule::OnAcquireRequestState+1f
iiscore!NOTIFICATION_CONTEXT::RequestDoWork+b9
iiscore!NOTIFICATION_CONTEXT::CallModulesInternal+19c
iiscore!NOTIFICATION_CONTEXT::CallModules+36
iiscore!NOTIFICATION_MAIN::DoWork+1cf
iiscore!W3_CONTEXT_BASE::IndicateCompletion+d6
webengine4!W3_MGD_HANDLER::IndicateCompletion+5d
webengine4!MgdIndicateCompletion+22
DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr, System.Web.RequestNotificationStatus ByRef)+7e
System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)+504
System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)+13
DomainNeutralILStubClass.IL_STUB_ReversePInvoke(Int64, Int64, Int64, Int32)+52
clr!UM2MThunk_WrapperHelper+43
clr!UM2MThunk_Wrapper+60
clr!Thread::DoADCallBack+13d
clr!UM2MDoADCallBack+b3
clr!UMThunkStub+26d
webengine4!W3_MGD_HANDLER::ProcessNotification+8e
webengine4!ProcessNotificationCallback+42
clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+1bc
clr!ThreadpoolMgr::ExecuteWorkRequest+64
clr!ThreadpoolMgr::WorkerThreadStart+f5
clr!Thread::intermediateThreadProc+86
kernel32!BaseThreadInitThunk+14
ntdll!RtlUserThreadStart+21

Hi, thanks for context and for analysis.The only lock DryIoc is using inside the Scope to ensure single creation of Scoped / Singleton services.
Currently there is one locker object per Scope. So probably it need to be scaled.

I don't know much about dryIoc, but I solved similar issue previously by using .Net built-in Concurrent* types. Looks like ImMap is tree structure so I don't know if there is any alternative for that or how to make it concurrent.

It is different. The lock here is used on a purpose. We just need to make it less a bottleneck.

I have been thinking about this issue lately.
Is the lock there because IMTools AVLTree implementation is not thread safe? There are many white papers about non blocking binary search trees. fe:
https://dl.acm.org/citation.cfm?id=1835736
Or is the lock fixing some dryIoc related issue?
I noticed you have done benchmark here:
https://github.com/dadhi/DryIoc/blob/aff9a3531e3ea10eae9f8e4e764225dea4542a71/playground/Playground/ImMapBenchmarks.cs
This benchmark however does not consider DryIoc way of using given data structure. ConcurrentDictionary would not need lock for writing / reading.

Hi, thanks for context and for analysis.The only lock DryIoc is using inside the Scope to ensure single creation of Scoped / Singleton services.

Maybe this is the reason why this lock matters so much web application. DryIoc WebAPI extension registers Controllers with WebRequestScope, and then we have a lot singleton services.
I think new benchmark is needed which tests IoC containers in multi threaded environment.
Maybe it could be something like this:
public void Demo()
{
	// Configs
	// INTEL® XEON® W-3275M PROCESSOR, 28 Cores, 56 Threads
	int threadCount = 56;
	int iterations = 10;
	int i = 0;
	Thread[] threads = new Thread[threadCount];

	// Create threads
	for (i = 0; i < threadCount; i++)
	{
		threads[i] = new Thread(new ThreadStart(delegate ()
		{
			for (int j = 0; j < iterations; j++)
			{
				// Benchmark loop
				// Call method which: Open Scope, Resolve scoped service type with large number of singleton dependencies
			}
		}));
	}

	// Start all
	for (i = 0; i < threadCount; i++)
	{
		threads[i].Start();
	}

	// Join all
	for (i = 0; i < threadCount; i++)
	{
		threads[i].Join();
	}
}

What do you think?

The sample code above could be also used to test thread safety. Inside the loop we would add results into concurrentStack/concurrentDictonary and after test is finished verify it resolved services correctly. Then we change thread count to insanely big number to make sure collisions happen.

Hi @Havunen

Is the lock there because IMTools AVLTree implementation is not thread-safe? There are many white papers about non-blocking binary search trees.

No, ImMap and  ImHashMap are the persistent immutable AVL trees implemented without locks.

Or is the lock fixing some dryIoc related issue?

The lock is by design to prevent the situation when two threads create the same singleton twice.
As far as I know, there are no technics to prevent this situation without using locks (e.g. without using Monitor in .NET or conditional variable generally).  You may insert spin-wait to minimize lock probability or scale the lock from the one to many (which is I wanna try out) - but you can't avoid locking.

This benchmark however does not consider DryIoc way of using given data structure. ConcurrentDictionary would not need lock for writing / reading.

Benchmark is just for comparison of two collections of different nature, the lock here is just to establish artificial common ground.

I think new benchmark is needed which tests IoC containers in multi threaded environment.
Maybe it could be something like this:

I would only appreciate such a benchmark, maybe a PR?
This could be added to playground/Playground project. See for example https://github.com/dadhi/DryIoc/blob/master/playground/Playground/RealisticUnitOfWorkBenchmark.cs

Consider its fixing by splitting Scope to SingletonScope with 16 locks assigned by hash. Scope wil proceed to use a single lock.
In addition, the item storage is also split into 16 buckets in both SingletonScope and Scope.

Working on #139 I found a better way to scale locks, using Ref slots for storing the created value in the ImMap and then locking on the slot itself. So we don't need a separate locker object and instead scaling to lock per service.

Btw, have you seen these videos from Federico Lois. He shares some cool optimization techniques for C#.

https://youtu.be/7GTpwgsmHgU
https://youtu.be/eB_S9lQ4c4I

Yeah, I have saw. Some if them appeared on Ayende's blog first. I think this was brought be development of RavenDB. I have also chat with Federico once regarding DryIoc perf :-)

Cool :)


Authentication

Hi,
it works only on Shares with unauthenticated write access.
Is it possible to add an authentication option: user password domain?

It's likely possible, but the original intent was to exploit unauthenticated and insecure shares. If you already have access to an account you can just run the tool on the compromised machine, or run it against a share you own locally and upload it with smbclient or something else.
I may add the feature in the future.  Closing for now.

Hi there. Just wanted to let you know that I implemented authentication in the most recent update.


Update faq.yml

Adding frequent requests quota optimization

@maud-lv

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@maud-lv
Thanks for reviewing these changes!
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

#sign-off


[FR]: Add example/support for typescript code-generation target dependencies

What is the current behavior?
ts_project does not provide a mechanism to define dependencies on targets that generate typescript-files.
All three common Bazel attributes (srcs, data, deps) for defining dependencies do not seem to support targets that output ts-files.
Describe the feature
I have a typescript project which depends on npm-package cdk8s-cli which is used to generate typescript files for Kubernetes resources. These files can then be used to create yaml files for Kuberenetes objects.
I have managed to generate the files in a manner that I expect.
However, on the ts_project rule I cannot define a dependency on the run_js_binary target that generates the typescript files.
This causes the rules to fail. It is unclear to me how I can define a dependency on that target and I'm looking for an example or support in case this edge-case should be, but is not, supported.

What error are you seeing when you try this?

Well, I am passing the target label to the run_js_binary rule instead of the files that it generates. Since the files themselves may not exist yet. Is this the correct approach? Or do I need to invoke each rule in order instead of assuming that Bazel will resolve the dependency on another rule?
It may be (quite likely) that I do not understand Bazel and it's ecosystem well enough as I am a relatively new and attempting to understand its core tenants.
In any case, thank you for your reply!

Yes, passing the js_run_binary target is correct. It will fail, however, if your js_run_binary is outputting a directory (tree artifact) instead of individual .ts files since an opaque directory cannot be used as an input to ts_project.
What does your js_run_binary look like?

@gregmagolan Hi Greg. The relevant BUILD.bazel file looks like this:
load("@npm//:defs.bzl", "npm_link_all_packages")
load("@aspect_bazel_lib//lib:directory_path.bzl", "directory_path")
load("@aspect_rules_js//js:defs.bzl", "js_binary", "js_test")
load("@aspect_rules_js//js:defs.bzl", "js_run_binary")

npm_link_all_packages(name = "node_modules")

###########################
# import cdk8s constructs #
###########################
directory_path(
    name = "cdk8s_entrypoint",
    directory = ":node_modules/cdk8s-cli/dir",
    path = "lib/cli/index.js",
    visibility = ["//visibility:public"],
)

js_binary(
    name = "cdk8s",
    data = [":node_modules/cdk8s-cli"],
    entry_point = ":cdk8s_entrypoint",
    visibility = ["//visibility:public"],
    chdir = package_name(),
)

js_run_binary(
    name = "cdk8s_import",
    srcs = ["cdk8s.yaml"],
    outs = ["imports/acme.cert-manager.io.ts", "imports/cert-manager.io.ts", "imports/k8s.ts"],
    args = ["import"],
    log_level = "debug",
    tool = ":cdk8s",
    visibility = ["//visibility:public"],
)

#################
# build project #
#################

load("@aspect_rules_ts//ts:defs.bzl", "ts_project")

ts_project(
    name = "ts",
    declaration = True,
    resolve_json_module = True,
    srcs = [":cdk8s_import"],
)

The cdk8s.yaml contains some definitions which will result in the files being written to an "imports".
I tried using the out_dirs attribute with value ["imports"] with the outs attribute elements no longer referencing the imports-folder.  For some reason that caused the rule to fail so I remove the "out_dirs" attribute.

Using out_dirs would fail since ts_project can't accept directories in srcs. Does switching to outs resolve it for you?

I'm sorry, I meant using out_dirs in the js_run_binary rule. Switching to outs resolved the issue there.
However using srcs = [":cdk8s_import"], in ts_project does not work, even-though I absolutely have to run that target before running the ts_project rule.

I think you have to be more specific on what error you're seeing. Log outputs are helpful to see. A minimal repro is usually the best way to get help if you're  hitting something unusual.


If you click on the "Sign up now" I am sure it displays the "Azure Blue" or whichever template you have.

This is a good start but inadequate. If someone wants to customise the UI, I am sure they want to change the "sign up" or "registration" UI as well.
There is not a single straight forward tutorial on here, which tells us how do we configure the "Sign up" or "registration" UI.
Can we please add that information on here?

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

ID: 36c209d9-c15f-87a4-a7ee-bb2bd3416961
Version Independent ID: 2f76d983-a940-fa5f-abe0-4c851e377608
Content: Tutorial: Customize the user interface - Azure AD B2C
Content Source: articles/active-directory-b2c/tutorial-customize-ui.md
Service: active-directory
Sub-service: b2c
GitHub Login: @mmacy
Microsoft Alias: marsma

#reassign:msmimart


Check name of database

We should add some sort of security check to make sure that the user is not allowed to write into any other database

There already is an active issue on this #100. Let's move the discussion there.


Support w3c for latest chrome / chromedriver releases

Background
As of now, I need to disable w3c mode within my passed in chromeOptions in order to avoid errors that occur when I use .send_keys(). It seems that the latest versions of chrome/chromedriver do not support command sendKeysToActiveElement. I'm going to start here: https://chromium.googlesource.com/chromium/src/+/master/docs/chromedriver_status and see if i can submit a PR for this.
Workaround
(not sure how long this will last so I'd like to fix as soon as possible)

When starting hound session, include "w3c" => false option within chromeOptions map.

      Hound.start_session(
        metadata: metadata,
        additional_capabilities: %{
          javascriptEnabled: true,
          chromeOptions: %{
            "args" => [
              "--user-agent=#{
                Hound.Browser.user_agent(:chrome) |> Hound.Metadata.append(metadata)
              }",
              "--headless",
              "--disable-gpu"
            ],
            "w3c" => false
          }
        }
      )

My thought is to make a new method called send_keys_to_element and leave the old method available until it's no longer needed at all.

Last year I was working on adding W3C WebDriver support to Wallaby, and while the work is not merged upstream yet (and I don't work with Wallaby much anymore so it's more likely to be implemented by someone else), I think it could be useful to anyone working on this.

Wallaby issue
Wallaby W3C WebDriver client module

Additionally, I know @aaronrenner is working on web_driver_client which aims to provide clients for all "WebDriver" protocols as well as a common interface to them - this also could be useful.


can you support smc/bos/choch smart money indicator

can you support smc/bos/choch smart money indicator
https://www.tradingview.com/script/CnB3fSph-Smart-Money-Concepts-LuxAlgo/

Hello @phpmac
The quickest way for this to be achieved is for someone to submit a PR based off the development branch of code.

Working on it

Can you merge to development branch

I tried to , got this


Issue # 78 | Feature: Add Email Contact Form Function for Java

(https://github.com/appwrite/templates/issues/78)

What does this PR do?
Add Email Contact Form Function for Java
Test Plan
https://github.com/appwrite/templates/assets/45911913/9c91e210-c307-4616-9d84-0aef735fb6a5

Hi folks, I attempted to include HTML files in a separate static folder, but encountered issues accessing them. After seeking advice on the Discord channel, I learned that due to Java being a compiled language, it cannot directly include static and resource files. However, I made an effort to address this by copying the files to the 'src/main/resources' folder within OpenRuntimes, as per Steven's suggestion. Unfortunately, I encountered challenges while doing this. As a workaround, I have added the html content as constant strings.

Hi @loks0n Thank you so much for taking time to review my PR. I have pushed the recommended changes.

I've added hacktoberfest-accepted we can merge it when the Java runtime has static folder support

Thanks @loks0n

Dicord Name for Hacktoberfest communications : palani_13


HL-706 | NodeJS 14 to 16 upgrade

Description :sparkles:
Upgrade NodeJS 14 to 16.
Some good reasons to this upgrade:

NodeJS 14 is end-of-life in one month

Upgrade old node container in local development & online envs
Upgrade .github actions

Pave the way to yarn and lerna upgrade
Pave the way to nextjs 12-13 upgrade
And last but not least: upgrading has infinite intrinsic value

What could go wrong :godmode:

Codecov Report

Merging #1919 (5ccb440) into develop (646ac7b) will decrease coverage by 52.42%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           develop    #1919       +/-   ##
============================================
- Coverage    78.53%   26.11%   -52.42%
============================================
  Files          639      513      -126
  Lines        21331     9806    -11525
  Branches      1304     2282      +978
============================================
- Hits         16752     2561    -14191
- Misses        4373     6922     +2549
- Partials       206      323      +117

see 894 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


use of the Consul, the configuration of the load is serialized error

fixed#123
use of the Consul, the configuration of the load is serialized error

@hyy829119 which of your two pull requests shall I review? We should close one or are the for different things?

Subject to this

@hyy829119 please forgive me but I am confused by how this PR fixes #123 the only changes seem to be changing the readme and adding ConvertHttpMethodToString / ConvertStringToHttpMethod.
Can you explain a little bit more?
The readme changes I will edit and add to this https://github.com/TomPallister/Ocelot/wiki/Service-discovery.

Well, right, because the original code in the constructor, structure parameters is wrong, lead to can not use the Ocelot Consul, use can lead to abnormal, so I looked at the core of the Ocelot code, and found that there is a problem, so I changed the constructor, increased the two methods at the same time, the new code is now can use the Ocelot, of course, you can also try running the original code to know, just the # 123 error is also the cause of, actually it is a very small change, I wish good

123 the source of the error it is for this reason that there is something wrong with the constructor initializes, just I need to use the Ocelot in project, I also found this problem, so I can fix this problem, at the same time submit to you the code

Failing tests..

Ocelot.UnitTests.DownstreamRouteFinder.DownstreamRouteFinderTests.should_return_correct_route_for_http_verb

Ocelot.UnitTests.DownstreamRouteFinder.DownstreamRouteFinderTests.should_not_return_route_for_http_verb_not_setting_in_upstream_http_method

Ocelot.AcceptanceTests.ConfigurationInConsul.should_return_response_200_with_simple_url

We need to fix these tests before we can merge a PR.

Hi, maybe I made a mistake, I did run your demo first, then I made a small change and now I can run it, and I don't know the rest!Maybe I'll have time for my research. Good luck

@hyy829119 what was the small change? Can you push it to this PR?


Apply clang-tidy modernize fixes

Hey,
I quickly applied clang-tidy modernize-* fixes with clang-tidy 7.0. It would be nice to also call clang-format but there were multiple changes that would obfuscate the PR.

Codecov Report

Merging #1692 into master will increase coverage by 0.14%.
The diff coverage is 38.09%.

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

Thanks. Unfortunately, this will create merge conflicts for lots of PR and then make those more difficult to review once those branches are rebased. We had the same concerns in #1079.
I don't think it is possible to use those clang tools all at once without putting a huge burden on contributors that have open PRs. We should develop a plan on how to do this with as few conflicts as possible. Maybe something like that for every PR, we should run clang-tidy and clang-format on all changed files.


writing cursors should be computed by the writer

The writer should be computing the position of the cursor, not the element being boxed.
Currently the element is responsible for moving the cursor, which means floating is broken. Ideally, the writer would ask the element for pagination to occur and then check the bounds of the object and if it's floating or not.
The cursor also needs to be reset on the x-axis and re-computed each time a new object is being added so that left floats are properly computed without the need of "is our y lower than the last floating element's y?" or some other nasty hack.

Fixed totally in unstable @ 44743569f34a66d4b6f6064a0e81975b02093cd4


Hosted website seems to not work anymore

Describe the bug
The website doesn't work
To Reproduce
Steps to reproduce the behavior:
with TLS

Go to https://ensemble-rpg.hadrienmp.fr/
Observe the error SSL_ERROR_UNRECOGNIZED_NAME_ALERT

without secure connection :

Go to http://ensemble-rpg.onrender.com
Observe the error Application error from Heroku

Expected behavior
The website should work
Desktop (please complete the following information):

OS: NixOS
Browser Firefox
Version 111.0.1

This URL seems to work https://ensemble-rpg.onrender.com (after a long loading period)

Indeed, the heroku one is down. Render.com is the new one.

(Forgot to say I changed the URL on the page)


cannot cashout after upgrade.

Summary
root@Bee3:~# . cashout.sh cashout-all 5
uncashed cheque for b9f11433246b6250d9759b811ea47cb827f38fa484a05478967c189b3ca52f32<PHONE_NUMBER>000 uncashed)
cashing out cheque for b9f11433246b6250d9759b811ea47cb827f38fa484a05478967c189b3ca52f32 in transaction null
i can see bee log below
DEBU[2021-02-25T00:36:38+09:00] debug api: cashout status peer: f74c71b0c5c09aae0bb4e478f249ccf52cbdb3777dcd14748b0ed11c2610d070%!(EXTRA *errors.errorString=no prior cashout)
Steps to reproduce
upgrade bee to 0.5.1 and  bee-clef to 0.4.8
if i downgrade bee to 0.5.0 and bee-clef to 0.4.7, cashout succeeds

This bug was fixed in bee-clef 0.4.9.

bee v0.5.3,bee-clef v0.4.9;


updating hosted deployment and integration services list

Hello :)
Please, could you (1) arrange alphabetically the entry you added and (2) use a normal hyphen instead of a long one?
Thank you!


How can we  create a  window  without  title  bar?

How can we  create a  window  without  title  bar?

Pass decorations: false in Window Settings
https://docs.rs/iced/0.1.1/iced/window/struct.Settings.html

thx


Test unwind features

@serge-sans-paille it is good to be reviewed.
13 & 14 fail because of

Failed Tests (2):
  LLVM regression suite :: lto_and_cfi.c
  LLVM regression suite :: thinlto.c

(unrelated)

ok looks like compatibility with default headers is not great, you can XFAIL this test on Fedora, I'll do the required upstream work to make it work.

Cool, one of the goal of this project: bring fedora and debian at the same level

cc @sylvestre : Fedora f37 has been updated, the test now passes on all supported distrib, but it requires a rebase + a big squash :-)

I just restarted the CI jobs


mybots api update for completed bot

Please match withdraw_type across all bots in mybots API.
Canceled: 1
Profit Taking: 2
Stop Loss: 3
Expired: 4

In the current api result, there are 1,2,4,8, etc of the withdraw_type and these values are different than each bot. So FE is very confusing.

I did not design these.. I just put them in the database. discuss with @verabehr @wc117  if you need them changed

Not all bots use these, it's not clear why some bots have withdraw type 8, like this one https://etherscan.io/tx/0xb905893aaedcb24b9d77debfd36a235fa9431bb176adff0b3c60a186ba996979. Closing as won't fix


No database download when showing/editing history

The script should not start downloading of the database when the command is history.

The script will only do this if the '--refresh-after' (by default 3h) time is passed or the script mtime was changed. This is expected.


Added ability to overwrite svn command

I'm packaging up a local svn cli with my application and this allows me to redirect svn-interface to it.

Thanks for the contribution. I'll get this up onto npm soon.

It's now on npm (svn-interface@0.4.5).

Thank you. This is very helpful.


feat: clear TODO in code

Description
Currently, we have lots of TODOs in the codebase. Some of them are already done. Others may not have related issues.
We can track them in issues with descriptions so others can follow them up quickly.

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.

SGTM.


Support image upload

Fixes #18

Coverage remained the same at 100.0% when pulling 0ae0e96b16d621a51a2137848069d10ee92781e1 on br.image-upload into 7c18b49a7a8dbb92154042a29a8cbdfd266a6338 on master.


⚠ Site ANTS has degraded performance

In 9712824, Site ANTS (https://ants.gouv.fr) experienced degraded performance:

HTTP code: 200
Response time: 4713 ms

Resolved: Site ANTS performance has improved in 39288c8 after 4 minutes.


Text Input cell and datepicker cell also goes white? plus UseNativeDriver is not defined.

How is it possible to prevent this? I cannot find a way to fix this. I attach screenshots taken from the simulator (same errors happen in the physical device).

Haven't looked at it but try to disable dark mode and see if that works.
For the useNativeDriver issue, uncomment this line:
https://github.com/lodev09/react-native-cell-components/blob/52f168a59a1f748d7844e411a87aa578ac87f5cb/components/ActionSheet.js#L76

It works if I disable dark mode, but I cannot rely on the users for them to disable dark mode just to use my app... is it possible to somehow add some support to prevent this from happening if the dark mode is activated?

@danslabs there is a way in your app config to not support dark mode. Regarding the component support of it, I don't have time to do it yet -- you could give it a try and submit a PR :)

I'll try to add the support for darkmode and proceed with the PR. But on the mean time, how is it possible to not allow dark mode on the app?

@danslabs Did a quick google and found this: https://stackoverflow.com/a/56546554/3685987

Thank you :)


Add pg 16 support

Getting the following when trying to build pg_later against pg 16:
#31 2.557 Build pg_later
#31 2.599 error: unexpected argument '--pg16' found
#31 2.599
#31 2.599   tip: a similar argument exists: '--pg15'
#31 2.599
#31 2.599 Usage: cargo pgrx init <--pg11 <PG11>|--pg12 <PG12>|--pg13 <PG13>|--pg14 <PG14>|--pg15 <PG15>|--base-port <BASE_PORT>|--base-testing-port <BASE_TESTING_PORT>|--configure-flag <CONFIGURE_FLAG>>

Adding the pg 16 pgrs configuration. Note, I haven't tried running pg_later in pg 16 to verify everything.

This is related to https://github.com/tembo-io/pg_later/issues/32

Awesome, thanks for the help! I think we will need to update pgrx in order to compile for pg16.
https://github.com/tembo-io/pg_later/blob/96612c102d9518a3205868b34f70c4b7b03d67c8/Cargo.toml#L22C1-L22C1

I will upgrade the pgrx version over in https://github.com/tembo-io/pg_later/pull/39. Then we can pull those changes into your PR and build should work.