Adopt strict batch shape semantics for distributions

See Design Doc | Blocking #780
This PR adds checks for stricter use of batch dimensions in Pyro. This is only recently possible since it relies on PyTorch support for scalars.
Why?
Pyro 0.2 will be able to automatically introduce batch dimensions for parallelizing enum_discrete and num_particles. To give Pyro space to create new batch dimensions, we need to restrict how dimensions are introduced by user code.
How?
The new requirements are:

users must declare non-batch dimensions using .reshape(extra_event_dims=n)
batch dimensions will only be allowed inside iarange (and maybe irange?)
to use auto-parallelization, users must request dims via SVI(..., max_iarange_nesting=n)

These requirements are checked by the new helper check_site_shape which uses the new .size field in cond_indep_stack frames.
Tasks

[x] check sites in Trace_ELBO
[x] check sites in TraceGraph_ELBO
[x] update tests/infer/test_valid_models.py
[ ] update other tests
[ ] update examples
[ ] update tutorials
[ ] document new batching semantics

@neerajprad I've merged dev with your #824 into this PR. Lots of tests still fail. Feel free to push commits to this branch. I'll chat you if I start working on it again (at earliest Wednesday).

The times for integration tests seem to have substantially increased with either the checks or the iarange/reshaping operations.

@neeraj, is this ready to merge?

@martinjankowiak - could you take a look at this PR? It will be nice to get this merged soon before we accumulate merge conflicts.

yeah i'll take a look now


renamed all SQL_XXX envvar to POSTGRES_XXX in docker-compose&py files

Task linked: QF-3726 Avoid renaming of envvars in .env and docker-compose files


Error in  gpt_scores_as_features.py

In gpt_scores_as_features.py, line80.
ValueError: Must provide a LangChainLLM.

Please provide a dump of the complete error log. Line number 80 is empty in the code.

Please check if you have installed all packages with the correct versions: https://github.com/UditGupta10/GPT-InvestAR/blob/main/requirements.txt
I would suggest using anaconda.
I am able to run the code at my end. In absence of a complete error log, it's tricky to help.

In line 82, he said TypeError: eval() arg 1 must be a string, bytes or code object

@jmyissb I'll advise you to run these step by step in a Jupyter notebook.
The error you are facing here is because the response from the LLM cannot be converted to int type or isn't in the desired format.

why my feature is always 0

how to extract text when we ask gpt in gpt_scores_as_features.py I want to know what you send to chatgpt

By the way, how to see the context information in the template

https://github.com/UditGupta10/GPT-InvestAR/issues/5#issuecomment-1722777289

I mean what part of the pdf of financial report we use

I ask the question and send a part of the financial report to gpt. how can I see the part of the report

The original issue is resolved. Marking it closed.

You can see the template, I want to know what the context is.


@ionic/react Conditional rendering of IonTabButton throws exception

Bug Report
Ionic version:
[x] 4.x (@ionic/react: 0.0.5)
If you add anything other than an IonTabButton within a IonTabBar you'll get an exception.
Even simple conditional stuff like this....
{false && (
  <IonTabButton tab="schedule" href="/schedule">
    <IonIcon name="calendar" />
    <IonLabel>Schedule</IonLabel>
  </IonTabButton>
)}

... will result in the exception:
TypeError: Cannot read property 'type' of null

@ionic/react/dist/components/navigation/IonTabBar.js
  38 |
  39 | var tabActiveUrls = {};
  40 | React.Children.forEach(_this.props.children, function (child) {
> 41 |   if (typeof child === 'object' && child.type === IonTabButton) {
  42 | ^   tabActiveUrls[child.props.tab] = {
  43 |       originalHref: child.props.href,
  44 |       currentHref: child.props.href

Will be available in the next release.


Refactor Utils

There are a lot of utils that need to be there for each transaction type so I figure its a good idea to bunch utils for each of them together.

Yeah I will make relevant changes in upstream too.


Error from vcpkg.cmake: 'CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".' WSL Arch

Describe the bug
When running "cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake" I get an error "CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".". I have make installed, so the actual generator does not matter, the issue still appears if I use -G'Ninja' (I also have ninja installed).
Environment

OS: Windows 10, WSL Arch Linux (https://github.com/yuk7/ArchWSL)
Compiler: GCC 14.2.1

To Reproduce
Steps to reproduce the behavior:

Execute following shell commands:

mkdir test && cd test
git clone --depth=1 https://github.com/microsoft/vcpkg
echo '{"dependencies":["fmt"]}' >vcpkg.json
echo 'int main() {}' >main.c
{
  echo "cmake_minimum_required(VERSION 3.10)"
  echo "project(test)"
  echo "find_package(fmt CONFIG REQUIRED)"
  echo "add_executable(main main.c)"
} >CMakeLists.txt
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake

Expected behavior
No error
Failure logs
I couldn't find any failure logs

What the full error log? I suspect that the path to the toolchain is wrong.

@Osyotr the path to the toolchain isn't wrong. I tried to specify path prefixed with ${HOME}/test/ and it made no difference. And error message says that the error occured in .../buildsystems/vcpkg.cmake so it's not that.

Ok but what is the full output? The message you mentioned is usually a result of some previous error.

I'm sorry I have reinstalled windows for different reasons, and installed WSL with openSUSE tumbleweed distro this time, so I cannot provide full error output.

Then this issue can be closed,


Update memcached.c to allow stats cachedump on slab 63

It's returning an error when we try to cachedump the slab 63

merged, thanks


Updates to ensure more configurability for users of the library

Update .env.default to have correct format
Update reader Dockerfile for use with ECS instead of Lambda
Update to have separate Redis clients for readers and writers (this takes advantage of the fact that ElastiCache gives you a read-only endpoint which is built to scale and be faster than using the primary endpoint for reads)
Uses port environment variables instead of hardcoding the ports
Now can pass a build argument to Docker to specify the port you want the container to expose.


No tests that use the main program

So, if/when its hosed, we won't know...

As indicated in the comments for #67, The actual code for the main script should remain part of the library and the installed version of "bin/ctypesgen" should come from the auto-generated entry point from the setup.py script.
The "run.py" script is a decent work-alike that does call the same entry point [ctypesgen.main.main()] and could be run as a test of that entry point.  Would not be a bad idea to at least execute this function directly as a part of the testsuite, or perhaps call this function as a separate process.  Maybe it would be sufficient to simply pass in a few simple arguments, like "--version" for instance.


Drop Django 2.2 support.

Django 2.2 is still supported until the end of the month (April 2022) :p. Maybe we can wait until May 2022. (A new patch for Django 2.2 is scheduled for April 11, 2022)

Yes, This is just for preparation. we can wait until May 2022 and then merge it.

@Linkid I think we can merge this one now and prepare a new release soon.
What do you think?

It is ok for me, yes. But could you add to the changelog that django_jsonfield_backport is not required anymore, please?

Good idea, yes. But could you add to the changelog that django_jsonfield_backport is not required anymore, please?

Sorry, I forgot about it :man_facepalming:. Done!

I've just closed some related issues. Thanks for this important PR!


fix: homoglyphs status profile

Summary
Provide a brief overview of the changes and the issue being addressed.
Explain the rationale and any background necessary for understanding the changes.
List dependencies required by this change, if any.
Fixes #(related issue)
This fixes the issue where the homoglyphs profile was not updated based on violations found.
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.

Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[x] Checked that related changes are merged.

coverage: 47.014% (-0.06%) from 47.07%
when pulling bc09d0b01a7efe79bb640fd94d480e0927b4270a on fix-homoglyphs-proofile-status
into 5f6bcbdb2464cac6594bf63741c1b45cf18cd0a8 on main.


Loading fields and other custom slices for structured arrays

After discussion in issue ( https://github.com/alimanfoo/zarr/issues/110 ), a particular interesting case of slicing structured arrays stored in Zarr came up. In particular, it would be great to be able to slice particular field(s) (e.g. z[:, 'foo']). Related to this, it would be great if a particular range or index could be used (e.g. z[:5, 'foo'] or z[1, 'foo']).

Thanks for raising, I think this would be a nice add.
On Friday, February 10, 2017, jakirkham<EMAIL_ADDRESS>wrote:

After discussion in issue ( #110
https://github.com/alimanfoo/zarr/issues/110 ), a particular
interesting case of slicing structured arrays stored in Zarr came up. In
particular, it would be great to be able to slice particular field(s) (e.g. z[:,
'foo']). Related to this, it would be great if a particular range or
index could be used (e.g. z[:5, 'foo'] or z[1, 'foo']).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/zarr/issues/112, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAq8QidMXHZD5qEVjhiwwIehEBbF5bUbks5rbIO5gaJpZM4L9guh
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Email<EMAIL_ADDRESS>Web: http://purl.org/net/aliman
Twitter: https://twitter.com/alimanfoo
Tel: +44 (0)1865 287721

Of course.
An interesting extension to this would be handling slicing of the record too (e.g. z[:5, 'foo', 1]) once issue ( https://github.com/alimanfoo/zarr/issues/111 ) is fixed.


Optimize space supporter filter for v2 calls

UPDATE: I've completely changed this optimization since first opening the PR so this description is out of date (I'm leaving it as a record of how this has progressed) - see comments below for latest details
A short explanation of the proposed change:
Optimizes the checks that prevent users with only a space supporter role from accessing the v2 API, cutting around 7% off the overall querytime when there are large tables.
This PR uses Sequel's any? method instead of the existing check, which retrieves .all of a given user's roles and then, in the CC's ruby code, counts them to see whether the user has exactly 1 space supporter role and zero of all other role types.
The method will also now return false right away, without querying the space supporters table, if the user has any non-supporter role.
An explanation of the use cases your change solves
The existing check currently adds a pretty significant delay to every v2 call on large foundations, and this change slightly mitigates that.
I've run the old and the new queries in postgres with EXPLAIN ANALYZE 100 times each on a foundation with about 75k users and 646k roles. Averages from the results are presented in the table below (times in ms):

Old
New

Planning time
1.50904
1.06917

Execution time
36.42587
34.286

Overall time
37.93491
35.35517

If the user lacks any non-supporter role, we then have to separately check the supporters table. That little query has a planning time of 0.186ms, and execution 1.366ms. So we're still a smidgen faster even for the minority of requests that also need to execute that.
So it's a pretty modest improvement, but given that this is middleware that gets executed for all v2 calls, I think cumulatively it should be a useful saving.
Links to any other associated PRs
n/a

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[x] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

I don't think that .all vs. .any? makes a huge difference here, as the returned list from the old query consists of 0 to 7 type strings. That's why I would be in favor of keeping the original single query instead of having (up to) two queries.

So I think the difference is that with .any? you get a SELECT 1 - i.e. check whether the row exists, don't retrieve any values - which is cheaper than the SELECT * of .all. I do agree it's a teeny tiny thing, and admittedly only at the top level, though it still seems we might as well take it. But I could improve it by getting rid of those unnecessary selects at the lower level.
But the main thing is that while space supporter roles can apparently be quite common (almost 10% of all roles on this foundation), users who only  have a space supporter role seem to be very rare. In fact, this foundation has just one space supporter role (out of 60k) that belongs to a user who has no other role (not counting organization users here, since any user with a space role has that too). That means in, like, 99% of cases we'll avoid that separate scan of the space supporters table. And the numbers show that when we actually do run both queries the combined querytime is about the same as it is for a single, bigger query scanning every role table. So we don't seem to lose even then.

@philippthun Your feedback made me ponder this a bit more deeply, and I think I've come up with a much better solution which I hope will turn your frown upside down. Although it still retains the separate query for space supporters.
My latest commit produces a SQL query that looks like this:
EXPLAIN ANALYZE SELECT 1 AS "one"
FROM   "users"
WHERE  ( ( ( EXISTS (SELECT 1
                     FROM   "spaces_developers"
                     WHERE  ( "user_id" = 2023961 )) ) IS TRUE )
          OR ( ( EXISTS (SELECT 1
                         FROM   "organizations_managers"
                         WHERE  ( "user_id" = 2023961 )) ) IS TRUE )
          OR ( ( EXISTS (SELECT 1
                         FROM   "spaces_managers"
                         WHERE  ( "user_id" = 2023961 )) ) IS TRUE )
          OR ( ( EXISTS (SELECT 1
                         FROM   "spaces_auditors"
                         WHERE  ( "user_id" = 2023961 )) ) IS TRUE )
          OR ( ( EXISTS (SELECT 1
                         FROM   "organizations_auditors"
                         WHERE  ( "user_id" = 2023961 )) ) IS TRUE )
          OR ( ( EXISTS (SELECT 1
                         FROM   "organizations_billing_managers"
                         WHERE  ( "user_id" = 2023961 )) ) IS TRUE ) )
LIMIT  1;

The cool thing about it is that, unlike with a UNION, it will short-circuit as soon as a match is found. That makes it almost 20x faster if the user has a role in the first table checked, about 2x faster if they're in the second, and for the others it's comparable to the old query (slightly faster even for those). I made space developers first and org managers second because they're the first and second most-used roles on a lot of foundations I've seen, though we've no way of knowing if they make the most requests.
For each of the tables below, I retrieved a sample user_id for a user who had that role only (except OrganizationUser) and then ran the query 100 times for that user id. So the numbers are all averages.
Here's for the old query:

Old
Rows count
Planning
Execution
Total

Space Developer
174774
1.45321
20.2723
21.72551

Org Manager
118982
1.50626
32.64812
34.15438

Space Manager
100263
1.48238
33.85913
35.34151

Space Auditor
105297
1.54372
26.27451
27.81823

Org Auditor
53303
1.55326
35.10541
36.65867

Org Billing Manager
175
1.51813
33.70744
35.22557

And here's for the new one that I committed in 2db8b34a59bcb2a2e7f76fc1dd7debdaddec0a35:

New
Rows count
Planning
Execution
Total
% speed of the old

Space Developer
174774
1.25895
0.10354
1.36249
6.27%

Org Manager
118982
1.26675
14.28919
15.55594
45.55%

Space Manager
100263
1.25602
32.60624
33.86226
95.81%

Space Auditor
105297
1.28501
23.51924
24.80425
89.17%

Org Auditor
53303
1.25375
33.34759
34.60134
94.39%

Org Billing Manager
175
1.32794
32.54151
33.86945
96.15%

It looks like there is something that old MySQL servers don't like:
--- Caused by: ---
Mysql2::Error:
  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (((EXISTS (SELECT 1 FROM `spaces_developers` WHERE (`user_id` = 489) LIMIT' at line 1

I hope you have the correct manual at hand ;-)

It looks like there is something that old MySQL servers don't like:
--- Caused by: ---
Mysql2::Error:
  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (((EXISTS (SELECT 1 FROM `spaces_developers` WHERE (`user_id` = 489) LIMIT' at line 1

I hope you have the correct manual at hand ;-)

Whaaaat

Alright this seems to be a bug in Sequel, which generates a query that is invalid for mysql 5.7. Though the reference manuals for mysql 5.7 and 8.0 don't hint at any such change in behaviour, the former will explode if you use a WHERE without a FROM:
mysql> SELECT
    ->   1
    -> WHERE
    ->   (
    ->     EXISTS (
    ->       SELECT
    ->         1
    ->       FROM
    ->         spaces_developers
    ->       WHERE
    ->         'user_id' = 1
    ->       LIMIT
    ->         1
    ->     )
    ->   );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE
  (
    EXISTS (
      SELECT
        1
      FROM
        spaces_deve' at line 3
mysql> SELECT
    ->   1 FROM users
    -> WHERE
    ->   (
    ->     EXISTS (
    ->       SELECT
    ->         1
    ->       FROM
    ->         spaces_developers
    ->       WHERE
    ->         'user_id' = 1
    ->       LIMIT
    ->         1
    ->     )
    ->   );
ERROR 1046 (3D000): No database selected

With this added it's happy:
mysql> SELECT
    ->   1 FROM users
    -> WHERE
    ->   (
    ->     EXISTS (
    ->       SELECT
    ->         1
    ->       FROM
    ->         spaces_developers
    ->       WHERE
    ->         'user_id' = 1
    ->       LIMIT
    ->         1
    ->     )
    ->   );
Empty set, 1 warning (0.00 sec)

@philippthun I'll open an issue with jeremyevans/sequel, but perhaps we can just merge this with my original SELECT 1 FROM users WHERE..., which is still quite a bit faster than the status quo?

Perhaps we could revert to my original SELECT 1 FROM users WHERE..., given that that's still quite a bit faster than the status quo?

Yes, let's do this.


Discord Sever invite link in Readme file is Expired

Describe the bug
A clear and concise description of what the bug is.
Discord Server link in Readme.md is expired.
To Reproduce
Steps to reproduce the behavior:

Click the discord server link in the top of Readme.md
Expected behavior
After clicking the link should take me to the desired Server giving me an option to join it.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: Windows
Browser: Microsoft Edge
Version: 89

@Tejas1510 Should we create our own Athavani Discord Server?

@sanjay270899 ya sure we can create our own server

@sanjay270899 @Tejas1510 Then after creating the server please update it in the readme file

@soumalyatheking22012001 Updated the Discord Link in README.md.

@sanjay270899 @Tejas1510 Thank you

I'm closing the issue


UI Router

Love the project! However, I think it's missing the ability to use uirouter instead of ngRoute. I'm sure others would agree.
I can contribute if it's not already being worked on
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/angular-ui-router/angular-ui-router.d.ts

Hi @eknowles, I already started on enabling ui-router support a couple of months ago. Maybe we can continue on my fork to complete it together (https://github.com/Boosten/generator-cg-angular15)

I think I saw that @cgross left some code for the ui-router option from the old generator in this new one. You can check cg-angular to get inspired for your fork.

actually I was thinking of importing the new Angular 1.5 component router in my fork (not published) but the component router became deprecated and was awaiting for some changes in the Angular 2 router. It fits much better in a component architecture than the good ol' ui-router but I don't know if it's available yet.


between/3

I tried implementing between/3: https://github.com/guregu/predicates/blob/master/between.go
Would you be interested in adding it here? I imagine this could be implemented in Prolog instead of natively pretty easily 😇.
I wanted to make it lazily create the choice points so I tried using engine.Repeat, but I'm not sure if I did it right.
I also added a check for overflowing but I'm not sure if we want that.
P.S. @ichiban, thank you very much for this project. I am having a lot of fun using it. It has led me down the Prolog rabbit-hole and changed my perspective on programming.

I strongly recommend to use the interface of between/3 as implemented in SICStus Prolog and Scryer Prolog:
https://sicstus.sics.se/sicstus/docs/4.6.0/html/sicstus/lib_002dbetween.html
Note that (regarded as types) all arguments must be integers. This ensures the following important property:

between/3 always terminates.

This property is very valuable when you are doing termination analysis of Prolog programs.

Thank you for the tip @triska, I've updated my implementation to require that all arguments be integers. This way feels much cleaner 🙂

Great work, @guregu!
between/3 is a common predicate this library lacks and it should be implemented in Go for a better performance!
I'll be very happy if you could make a PR for it.
I second that between/3 should follow the Prologue for Prolog as @triska pointed out. I think this library should be minimal yet ISO / de facto standard compliant, and also open to extension!
the infinite extension should be outside of this library and I'll happily point to your project in README.
Also, I think the same thing can be done within ISO standard like this:
current_prolog_flag(max_integer, Max), between(Lower, Max, X).

Some points I found in your code:
engine.typeErrorInteger() should've been exposed. My bad 🙇
https://github.com/guregu/predicates/blob/9978b67b8741c7f1dbe39fceaf1fbb04f0438ed8/between.go#L23
I'm currently working on refactoring arithmetic operators and about to include engine.ErrIntOverflow.
https://github.com/guregu/predicates/blob/9978b67b8741c7f1dbe39fceaf1fbb04f0438ed8/between.go#L48
While working on built-in predicates, I've rarely used engine.Bool(true) since it means "succeeded and no need to execute the rest of the body." Perhaps k(env), "succeeded and keep on the rest of the body?"
https://github.com/guregu/predicates/blob/9978b67b8741c7f1dbe39fceaf1fbb04f0438ed8/between.go#L50
P.S. The hole you went down is the same hole I accidentally fell into a few minutes before. Where are we now? Let's look around and enjoy together!

Thank you, @ichiban!
I will make a PR soon 👍
About engine.Bool(true), my intention there was to 'break out' of the Repeat loop. I'm attempting to lazily iterate through the successive integers instead of creating N continuations ahead of time and passing them to Delay. Is there a better way to do this? If I return Bool(false) or call k(env) there it loops forever.
I imagine I'm probably abusing Repeat here. Let me know the proper way and I'll fix it for the PR 🙇

Note that max_integer is only defined if bounded is true:

<IP_ADDRESS> Flag: max_integer

...

Description: If the value of flag bounded is true then
the value of this flag is the largest integer such that
integer arithmetic is performed correctly if the operands
and mathematically correct result all lie in the closed
interval (min_integer, max_integer).

To reliably and portably obtain the sequence 0, 1, 2, ..., length/2 is very useful:

?- length(_, N).

An implementation can implement this very efficiently, by avoiding the generation of list skeletons if the first argument is an anonymous variable.

@guregu Control flow is really hard! I pulled my hair out so many times. I can't tell if your implementation with engine.Repeat() does it right or not just by looking at the code!
After struggling with control flow so many times, I realized that recursion is the best way to iterate.
Go doesn't optimize recursions so tell the caller (which does .Force() ) to do the recursion call with engine.Delay().
https://go.dev/play/p/YIvnQDQKd29
package main

import (
	"context"
	"fmt"

	"github.com/ichiban/prolog/engine"
)

func main() {
	_, _ = iter(10)
	_, _ = iterPromise(10).Force(context.Background())
}

// Simple recursion. This leads to a stack overflow for a large enough count.
func iter(count int) (bool, error) {
	// Termination condition.
	if count <= 0 {
		return true, nil
	}

	// First, print the counter.
	fmt.Printf("count = %d\n", count)

	// Then, proceed to the next step.
	return iter(count - 1)
}

// Recursion with trampolines. This won't cause a stack overflow.
func iterPromise(count int) *engine.Promise {
	// Termination condition.
	if count <= 0 {
		return engine.Bool(true)
	}

	// Tell the caller there're 2 choices.
	return engine.Delay(func(context.Context) *engine.Promise {
		// Print the counter.
		fmt.Printf("count = %d\n", count)

		// Then, tell the caller this branch led to a dead end and try another.
		return engine.Bool(false)
	}, func(context.Context) *engine.Promise {
		// Tell the caller this branch leads to the next step.
		return iterPromise(count - 1)
	})
}

Awesome release! Thanks for the shoutout.


Rename endpoint for consistent endpoint names

In line 126 the endpoint url is api_token. Therefore it should be the same in line 178.

Good catch, much appreciated!


npm install throws an error while installing a packages

When I install Bootstrap trough NPM and try to install the dependencies in the package.json (for grunt-sed)
I get an error.
These are the steps I take,
Download and extract bootstrap-3.3.5 zip to a local directory.
Navigate to the directory and hit npm install.
It is trying to resolve all packages inside package.json. At grunt-sed it will ask you to enter GitHub credential or directly throws below error.
 C:\Program Files\Git\cmd\git.EXE ls-remote -h -t<EMAIL_ADDRESS>Warning: Permanently added 'github.com,***.***.***.***' (RSA) to the list of known hosts. npm ERR<EMAIL_ADDRESS>Permission denied (publickey). npm ERR! fatal: Could not read from remote repository. npm ERR! npm ERR! Please make sure you have the correct access rights npm ERR! and the repository exists. npm ERR! npm ERR! exited with error code: 128.
Is this repository removed? Or moved to another location?

This doesn't appear to be a Bootstrap problem so much as a problem with your local setup. Also, v3.3.5 is very old and no longer maintained.

Apparently the grunt-sed repo was removed from the twbs (aka Bootstrap's ) available repositories.
So you basically broke the build possibility of old (3.x) versions. I understand that it is not maintained, fixed or improved, but at least you should keep the dependencies up.


Clarification regarding verbose output added

Hi @AlekseiPolkovnikov, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@AlekseiPolkovnikov : Thanks for your contribution to the Azure documentation! The author, @georgewallace, has been notified to review your proposed change.

@AlekseiPolkovnikov I submitted a PR to your fork.  I removed the verbose message from the output and left the text in the step alone, the verbose output should not have been there in the first place. Great catch.

Agree, no need in verbose output in this place.

Hi @AlekseiPolkovnikov, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

Re-opened, was closed by accident.


modfied for RD andrey-ivashentsev

Docs Build status updates of commit 9e516c8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/andrey-ivashentsev.yml
:white_check_mark:Succeeded
View

rd/index.yml
:white_check_mark:Succeeded
View

rd/media/profiles/andrey-ivashentsev.jpg
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Duplicate Events

New Issue Checklist

[x] Use the latest version of CalendarKit
[x] I've read the Contribution Guidelines
[x] I've searched for existing GitHub issues

Issue Description
Hi, I have added only one event and when you go to the next date, the same event is showing up and also the event is placed in wrong time.
Code I'm using with CalendarKit

[INSERT CODE HERE]
func eventsForDate(_ date: Date) -> [EventDescriptor] {

        let dateFormatterGet = DateFormatter()
        dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
        dateFormatterGet.timeZone = TimeZone(identifier: "GMT")
        if let date = dateFormatterGet.date(from: "2019-12-12 6:00:00") {
            print(dateFormatterGet.string(from: date))
        } else {
            print("There was an error decoding the string")
        }
        var events = [Event]()
        let newEvent = Event()
        newEvent.startDate = date
        newEvent.endDate = date.addingTimeInterval(1800)
        print(newEvent.endDate)
        newEvent.isAllDay = false
        newEvent.color = .red
        newEvent.backgroundColor = .purple
        newEvent.text = "Sample event"
        newEvent.textColor = .white

        events.append(newEvent)

        return events
    }

Result I am trying to achieve

[INSERT API OR UI MOCKUPS HERE]

Hi, thank you for the example. I've tried to run it and figured out that there is an error in the code. In particular, the date requested by the DayView is assigned to the Event. Please, take a look at my comments:
func eventsForDate(_ date: Date) -> [EventDescriptor] {

        let dateFormatterGet = DateFormatter()
        dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
        dateFormatterGet.timeZone = TimeZone(identifier: "GMT")
        if let date = dateFormatterGet.date(from: "2019-12-12 6:00:00") {
            // The date is just printed out, it's scope ends after this if-let-else statement
            print(dateFormatterGet.string(from: date))
        } else {
            print("There was an error decoding the string")
        }
        var events = [Event]()
        let newEvent = Event()
        newEvent.startDate = date // Instead, the date requested by the `DayView` is always assigned to the newEvent
        // As the result, the event appears at the very top of every view, since it's a valid event
        newEvent.endDate = date.addingTimeInterval(1800)
        print(newEvent.endDate)
        newEvent.isAllDay = false
        newEvent.color = .red
        newEvent.backgroundColor = .purple
        newEvent.text = "Sample event"
        newEvent.textColor = .white

        events.append(newEvent)

        return events
    }

Here is the corrected code that works as expected, showing the event just on the one page of the calendar:
  // MARK: EventDataSource

  override func eventsForDate(_ date: Date) -> [EventDescriptor] {
    var events = [Event]()
    let dateFormatterGet = DateFormatter()
    dateFormatterGet.dateFormat = "yyyy-MM-dd HH:mm:ss"
    dateFormatterGet.timeZone = TimeZone(identifier: "GMT")
    if let parsedDate = dateFormatterGet.date(from: "2020-01-08 6:00:00") {
        print(dateFormatterGet.string(from: parsedDate))
      let newEvent = Event()
      newEvent.startDate = parsedDate
      newEvent.endDate = parsedDate.addingTimeInterval(1800)
      print(newEvent.endDate)
      newEvent.isAllDay = false
      newEvent.color = .red
      newEvent.backgroundColor = .purple
      newEvent.text = "Sample event"
      newEvent.textColor = .white
      events.append(newEvent)
      return events
    } else {
        print("There was an error decoding the string")
    }

    return []
  }


How set new user is_active  False?

Hi all. Can u help me how create new user with is_active = False? And set is to True when he is come to verification email?

This portion of activation/verification process is handled by allauth, and it doesn't look like there is a trivial way of sending verification emails to inactive users. You'd need to override the call to complete_signup here:
https://github.com/Tivix/django-rest-auth/blob/624ad01afbc86fa15b4e652406f3bdcd01f36e00/rest_auth/registration/views.py#L72-L82
complete_signup calls perform_login, which makes the final check to is_active here.
In short, you're probably better off not trying to register new users as inactive.


VM should pause or cancel at a yield if the listener pauses or cancels in response to that event.

The current specification of async* states that for yield value, the implementation must deliver the value (meaning the stream's subscription's onData handler must be called) before it continues after the yield. If the subscription has been paused or cancelled immediately by that call (synchronously), then the implementation should pause or cancel, respectively, and not continue with the following code.
The VM does continue.
Example:
Stream<int> foo() async* {
  try {
    print("a1");
    yield 1;
    print("a2");
    yield 2;
    print("a3");
    yield 3;
  } finally {
    print("af");
  }
}

void main() {
  var s = foo().listen(null);
  s.onData((int v) {
    print("e$v");
    if (v == 1) {
      var delay = Future.delayed(Duration(seconds: 1)).whenComplete(() {
        print("resume");
      });
      print("pause");
      s.pause(delay);
    } else if (v == 2) {
      s.cancel().whenComplete(() {
        print("ef");
      });
    }
  });
}

This should print in the following order: a1, e1, pause, resume, a2, e2, af, ef
It actually prints: a1, e1, pause, a2, resume, e2, a3, af, ef
That is, neither pause nor cancel is respected until the next yield is reached.
(Dart2js gets half if this right - it does pause in the correct place, but does not cancel at the second yield).

@lrhn
Out of curiosity, is this being addressed anytime soon?  :)

Please note that this issue exists for dartk, dartdevk and dartkp as well

Can this issue be closed ?

The VM now behaves correctly on the original example, so LGTM.


Add finish and sign button

This PR address jira 813.
Added sign note button to the bottom of the text editor. The button only shows up when the editor is in editing mode. When the editor is in read only mode (when an existing note clicked) the button is not rendered.
Styled the button so that it looks like the mockups and the text does not overflow into the sign button component (thanks @Dtphelan1 for the styling tips).
Added UI tests to check that the sign note button only renders when in an in progress note
Known issues:

When the browser is resized so that the width and height are small, the editor text flows into the sign button component.

A jira issue was added for this: https://jira.mitre.org/browse/ASCODCP-930

It would be ideal for users to have to scroll to the bottom of an in progress note before the sign button is displayed, forcing users to verify the note content before signing it. This is not currently implemented. A jira issue was added for this: https://jira.mitre.org/browse/ASCODCP-931

Pull requests into Flux require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable (N/A) and :white_check_mark:.
Submitter:
Running the Application

[x] Manually tested in Chrome
[x] Manually tested in IE

Documentation

[x] This pull request describes why these changes were made
[x] Recognizes any potential shortcomings/bugs in the description
N/A Cheat sheet is updated
N/A Demo script is updated
N/A Documentation on Wiki has been updated
N/A Additional technical components and libraries are documented and added to wiki as needed

NoteParser

N/A Note parser has been updated if structured phrases change

Code Quality

[x] 4-space indents - convert any tabs to spaces
[x] Use public class field syntax for binding functions - ex. handleChange = () => { ... };
[x] Code is commented

Tests

[x] Existing tests passed
N/A Added UI tests for slim mode
[x] Added UI tests for full mode
N/A Added backend tests for fluxNotes code
N/A Added note parser examples to test new functionality

Reviewer 1: Name

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Reviewer 2: Name

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Rebased on master

This looks good to me! All the tests pass. The new tests are testing whether the button is rendered or not correctly. I don't see any styling issues besides the ones you pointed out and made jira items for.


positive and negative sample data for LoRA training

Hello, I am very interested in your work and I am trying to reproduce your results. Would it be possible for you to share positive and negative sample data you used for LoRA training? @tgxs002

Sure, but it will also be uploaded to onedrive.

@huxian0402 Try it out: link.
You may need to subsample half of the negative images to reproduce.
Looking forward to your feedback!

@huxian0402 Try it out: link. You may need to subsample half of the negative images to reproduce. Looking forward to your feedback!

Thank you for providing the training data. It was successfully downloaded. However, could you please clarify why this step was necessary? "need to subsample half of the negative images". I see that you used 37k positive samples and 27k negative samples for training. Are you suggesting that sampling should be done according to this ratio for better results?

No, I used 37k positive samples and 21k negative samples. My experience is that using all negative samples will lead to worse results.


Add subscription helpers

It would be feasible to automatically publish an event when an insert, update or delete operation takes place, potentially reducing the boilerplate required to set up subscriptions. A PubSub implementation would need to be provided when creating the client instance.

I can propose an API for this.

Subscription Thoughts
In the current documentation, it is suggested that the client would subscribe to specific table_action events, like CUSTOMER_CREATED, which is fine-grained interface with stongly typed return values. However, with 100 tables and 3 subscription topics per table, that would suggest that a fully-informed subscriber would need to monitor to 300 separate topics.
For argument's sake, a simpler API would have three subscription topice (create, update, delete) and return a generic column:value array result for all data mutation operations. The values in the array would be strings, meaning that the the client would not have type information unless it otherwise encoded in the array values ,e.g. [{"firstName": ["Jeff", "String"]}, ...]. Though lack of type safety is a big drawback, the API would be much simpler, using mutation operation types (create, update, delete) as the subscription topics, and table name(s) as parameters:
subscription {
  inserts ( tables: ["Customer", "Order", "Invoice"] ){
    tableName
    columnValues {
      name
      value
    }
  }

  # wildcard option
  inserts ( tables: ["*"] except: ["Invoice", "Order] ) {...}
}

Similar API would be used for UPDATE and DELETE operation subscription topics.

Is there an in-between approach?
The sqlmancer generator could generate an INSERT subscription topic, taking table names as parameters, then return a union type of all possible table-specific INSERT event return types.
schema:
  union InsertResult = Customer | Order | Invoice | ...
  enum TABLES { CUSTOMER, ORDER, INVOICE, ... }

  subscription {
    insert(tables: TABLES!) : InsertResult!
  }

client:
subscription {
  inserts( tables: [CUSTOMER, ORDER, INVOICE] ) {
    ...on Customer {...}
    ...on Order {...}
    ...on Invoice {...}
}

In this implementation, the union and enum types would be generated by sqlmancer. The client would be responsible for correctly anticipating the InsertResult structure based on what it has subscribed to. So you wind up with type safety and a simple API. The drawback is that all those ...on statements that the client has to support is verbose, but probably can't be helped if the client wants to ensure that the return data is of the type it assumes.

@danielrearden, you had mentioned one problem with mutation operations is that some databases only return the id of the created/updated/deleted row. Why not just return the original input to the GraphQL mutation call? For CREATE operations, sqlmancer would throw in the (newly generated?) primary key as well. It may be better to do it that way, rather than rely on secondary query to fetch data that was just inserted, since the row could conceivably change between the mutation and the refetch of the row data to build a return value.

@JeffML  Thanks for your input. Aggregating events like you've described is very clever, and it also conveniently gets around GraphQL limiting subscriptions to only one root field.
By necessity, Sqlmancer is already pretty opinionated about how queries should look because of how it maps selection sets to database projections. Mutations, on the other hand, are intentionally very flexible -- you can still do anything you want inside your resolver and return data in whatever shape is appropriate for your API. Ideally, I'd like to maintain that same sort of flexibility for subscriptions and avoid the library dictating a particular schema pattern.
If individual create/update/delete operations published events like shown in the documentation (i.e. model_action), these could still be combined into a single AsyncIterator inside the subscribe function to allow the sort of pattern you illustrated. There are libraries out there for merging AsyncIterators, but we could maybe expose a small utility for that as part of this library.
import { mergeAsyncIterators } from 'sqlmancer'

const resolvers = {
  Subscription: {
    inserts: {
      subscribe: () => mergeAsyncIterators([
        pubSub.asyncIterator('USER_CREATED'),
        pubSub.asyncIterator('POST_CREATED'),
        ...
      ])
    }
  }
}

I think adding a publish method to the existing Create/Update/Delete builders would be a good start. If a PubSub instance is passed to createSqlmancerClient, it could then be passed down to any builder instances that are initialized when calling individual model methods like createOne. So the API could be as simple as
Post.createOne({ ... }).publish().execute()

Then on the subscription side of things, something like this could return the appropriate AsyncIterator instance:
Post.subscribe('CREATE')

What do you think?

A simple implementation of subscriptions is better than nothing, though I feel safe in assuming that what will be generally be desired is a return value that includes the mutation input data on success, and error on failure.
Whether the subscription event returns GraphQL input types or some array of key-value pairs of table column values, I don't know. Feature requests will determine what is needed. I agree that dictating a schema is not desirable, but convenience functions might be useful for helping users build mutation/subscription responses, though it would be too early in the game to attempt to implement those.
Aggregating async operations hadn't occurred to me, but it seems like nice idea for grouping subscription events under one topic, as determined by the client implementor.  I suspect the implentation of mergeAsyncIterator() is simple, but I might be surprised.
So it seems the first order of business is to write a mechanism for generating publish methods, as you suggest, so I'll start looking deeper into it.


Fixed the problem that child components cannot be detected by AnimatePresence

For customized effects, the inner component will become too complex when closed. It should behave naturally and rely on AnimatePresence to animate triggering to leave and then close.

test done branch: test/no-motion-div-without-child/imagine10255_v3

release test to<EMAIL_ADDRESS>


Add colors to output

Even if they are not visible by everyone, colors help to read a diff.
It would be nice to add green and red background colors to the added and removed lines, in the output.

hello i'm an outreachy applicant and i would love to work on this task i already have the repo running on my local machine

Hi, I have a fork of the machine on locally and would love to implement this feature. Here is the screenshot as requested:

Hi @ademolaomosanya,
Thanks for your enthusiasm and congrat for having everything setup :)
The issue is your's. Hunks are currently printed using the Patch library's printing function, called from here.
To be able to add colors, you might need to rewrite this function, in interactive_viewer.ml, and then add the colors.
Modifying the Patch library for this is not the best solution as the library is intended to be used for other purpose, while colors are only useful in this project.

Hi @yokurang,
This issue have been assigned just before you requested it. Is here an other issue that would interest you ?
I can suggest this one, for improving the status bar: https://github.com/panglesd/diffcessible/issues/18

can you suggest me another issue other than this one please?

Hi @ademolaomosanya! I noticed you have been inactive for a while, so are you still working on this issue?

@Julow, I've completed the implementation for issue #17 "Compute and display number of added and removed lines in status bar" , if @ademolaomosanya is unavailable, could you assign this issue to me for further enhancements?

@Siddhi-agg @JeanFelixHAKIZIMANA Sorry, the project was more popular than we expected and are running out of issues. Unfortunately, we are not assigning new contributors :/
@maha-sachin I do not wish to unassign an issue so fast. Let's review #17 and see what's the next best step.

@Siddhi-agg @JeanFelixHAKIZIMANA Sorry, the project was more popular than we expected and are running out of issues. Unfortunately, we are not assigning new contributors :/
@maha-sachin I do not wish to unassign an issue so fast. Let's review #17 and see what's the next best step.

@Julow,  I appreciate your input. I agree that

Hi @Julow @panglesd, If @ademolaomosanya becomes unavailable, could you please consider assigning me to this issue? I'm keen to contribute and would be happy to take on the task.

@ademolaomosanya Are you still interested in this issue ?

@ademolaomosanya are you still interested in this issue? If yes, please open a PR by Wednesday (or reach out to us!), otherwise we will assign this issue to someone else. However, we will only assign good first issues (such as this one) to new contributors.

@panglesd i am ready whenever this issue becomes available, please assign it to me!

@ademolaomosanya are you still interested in this issue? If yes, please open a PR by Wednesday (or reach out to us!), otherwise we will assign this issue to someone else. However, we will only assign good first issues (such as this one) to new contributors.

thanks @panglesd i'm very much interested in the issue i would raise a pr before wednesday

@JeanFelixHAKIZIMANA I have opened #44 which is very similar, feel free to request it (with a screenshot showing that you can build the project!)

@Julow @panglesd Please see https://github.com/panglesd/diffcessible/pull/57

#57 is merged!


Letter case issue

Page title "implica-te" is currently set to capitalize each word and needs to be changed to sentence case.

We currently have Apel Pentru Voluntari for the HAI IN ECHIPA  page title.
That will now become Apel pentru voluntari. Is that intended?
No other pages will be affected.

We currently have Apel Pentru Voluntari for the HAI IN ECHIPA  page title.
That will now become Apel pentru voluntari. Is that intended?
No other pages will be affected.


Use more recent monogdb bindings

Versions >= 2.12 use the new bulk API. So there might be a big performance difference.

combining with #221


Send systemd notifications for both server and agent

Proposed Changes

Move the code for when the agent signals systemd to to be the last thing it does before waiting on the blocked context channel.
Types of Changes

Verification

Verify that kubelet is up and processing before systemctl start k3s returns on an agent node.
Linked Issues

https://github.com/rancher/rke2/issues/989
Further Comments

Seems to be timed out again and hung. I think it needs to be moved back.

Seems to be timed out again and hung. I think it needs to be moved back. @brandond

Disregard.


Service discovery index.json for DEV environment

Currently we don't have service discovery index.json for DEV environment. We should create one and make it deploy through octopus.

We do have this for DEV, being auto-deployed and verified on the CI.

Yep, but i believe it is pointing to PROD resources now. The following should be done

Update Dev-Index.json to point to Dev resources (Search Service for example)
Update Dev gallery to use Dev service discovery URI
Create a Dev Lucene container
Run all the jobs on Dev-jobs VM
Make search service use the new container

If this is fixed with your changes from yesterday can you comment and close.


Remove old HMRC webchat

For: https://trello.com/c/hWTtb0OZ/253-remove-old-instance-of-webchat
This implementation of webchat uses the old HMRC webchat so we want to get
rid of it.  There is a newer implementation included in
government-frontend that we could replace this one with, but we realised
that most of the pages the older webchat version is active on link to an
HMRC contact page.  All the HMRC contact pages have the new webchat
implementation on it so there's no need to have the old webchat.  For those
that don't link to an HMRC contact page we decided it wasn't a problem to
not have webchat.

We have an ongoing dialogue with HMRC on this, lets hold off until that's finished.

I checked your trello card, it's not clear if this work is included with that conversation...

@nickcolley - on the 21st Sept. we told HMRC we'd be removing this version of webchat in the next couple of weeks so they are aware this is happening and haven't told us not to.

@nickcolley @h-lame Yep. I've been in touch with HMRC and made the decision to remove the old webchat. We're confident the legacy webchat is no longer in use and they are aware of the content pages it was used on.


Async job entities

The AsyncJobEntities type allows easier access to the job entities. E.g.:
job = conn.imsv1.get_async_job(job_id)
job.entities.image_id

recheck


dependabot docker

hey @ArloL assign it to me

Sure. The goal would be to extend
https://github.com/ArloL/chorito/blob/main/src/main/java/io/github/arlol/chorito/chores/DependabotChore.java
with a logic that detects a Dockerfile in the root of the project and then adds a section to the dependabot configuration


Confusing error message for invalid Cargo.toml file

This Cargo.toml file:
[package]

name = "matches"
version = "0.0.1"
authors = ["Simon Sapin<EMAIL_ADDRESS>
[lib]
path = "lib.rs"

Gives a confusing error message:
matches/Cargo.toml is not a valid manifest

expected a value of type `array`, but found a value of type `table` for the key `lib`

Adding a lib.name key fixes it, but the error message was not helpful in finding that out.
[package]

name = "matches"
version = "0.0.1"
authors = ["Simon Sapin<EMAIL_ADDRESS>
[lib]
name = "matches"
path = "lib.rs"

Also, since omitting the [lib] section entirely works, overriding just lib.path should work as well, keeping the default name.

Just ran into this as well. I appears that the bug is that you need more than one key-value pair in the [lib]-section.

I think this is fixed. The error is now expected a value of type `string` for the key `lib.name`

Thanks @oli-obk!


[workspace] uv run --with=git+workspace fails with Build backend failed to determine requirements

See the error below.
I'm unsure what the error means
❯ uv run --with git+https://github.com/PhilipVinc/uvtest2 python
 Updated https://github.com/PhilipVinc/uvtest2 (d5efb81)
   Built netket @ git+https://github.com/PhilipVinc/uvtest2@d5efb812fbf0dd2a1c7cc23802a003bdc1b08409#subdirectory=external/netket
   Built netket-checkpoint @ git+https://github.com/PhilipVinc/uvtest2@d5efb812fbf0dd2a1c7cc23802a003bdc1b08409#subdirectory=packages/netket_checkpoint
   Built deepnets @ git+https://github.com/PhilipVinc/uvtest2@d5efb812fbf0dd2a1c7cc23802a003bdc1b08409#subdirectory=packages/deepnets
   Built netket-pro @ git+https://github.com/PhilipVinc/uvtest2@d5efb812fbf0dd2a1c7cc23802a003bdc1b08409#subdirectory=packages/netket_pro
  × Failed to download and build `omnia @ git+https://github.com/PhilipVinc/uvtest2@d5efb812fbf0dd2a1c7cc23802a003bdc1b08409`
  ╰─▶ Build backend failed to determine requirements with `build_wheel()` (exit status: 1)

      [stderr]
      error: Multiple top-level packages discovered in a flat-layout: ['config', 'packages', 'external', 'containers'].

      To avoid accidental inclusion of unwanted files or directories,
      setuptools will not proceed with this build.

      If you are trying to create a single distribution with multiple packages
      on purpose, you should not rely on automatic discovery.
      Instead, consider the following options:

      1. set up custom discovery (`find` directive with `include` or `exclude`)
      2. use a `src-layout`
      3. explicitly set `py_modules` or `packages` with a list of names

      To find more information, look for "package discovery" on setuptools docs.

This appears to be a setuptools error. It's not specific to uv. Is your project structured properly? Can you build it with python -m build?

I am trying to add a workspace as a dependency to a project. This works locally, but it does not work if I add it from git.
Compare
# This works
git clone https://github.com/PhilipVinc/uvtest2
mkdir test && cd test
uv init
uv add ../uvtest2

against
mkdir test2 && cd test2
uv init
uv add git+https://github.com/PhilipVinc/uvtest2

which fails with the error above

Yeah, I don't know if this should work. We respect "virtual projects" (or non-package projects) locally, in workspaces, but I don't think we can treat arbitrary dependencies that way. It would break any (real) package that relies on an implicit build backend.

I'm not sure I understand what an implicit build backend is...
Overall, I think it's confusing that you can add a local workspace but you cannot add it from git as a dependency. And off the top of my head I see no reason why that should not work.
Is there some way I could convince you that this is reasonable? Could you elaborate on what makes you doubt this could work? A uv workspace cannot be built (does not declare a build-system in pyproject.toml). If there is no setup.py, there is no way this project can be built, so if uv.project is dexlared I see no other way that this could be treated?
The reason I wanted to use this is because if we have a workspace which we use as a workspace for ML projects, when using it in production we want to declare the dependency on it. This bypasses the need to package it or to setup containers (which in HPC we cannot use).
uv would make it very easy to run a file in the workspace as uv run --with git+https://ourrepo/ file.py or more generally just add it as a dependency.


Switch border brush in HC

Description

In HC, the focused element of a NavigationView is not easy to distinguish. This was due to the NavigationViewItem having a border already applied when unfocused. This border is now removed as suggested by @YuliKl in #1727
Motivation and Context

Fixes #1727
How Has This Been Tested?

Tested manually in HC using MUXControlsTestApp
Screenshots (if appropriate):

/azp run

/azp run


Not able to use Advanced margin_padding control multiple times ?

Problem Description
There is no option to use advanced margin padding control to use multiple times as other controls are easy to use multiple times.
Steps To Reproduce

$advanced_fields['margin_padding']['part2'] = [
'css'             => [
'main'    => [
'margin' => "%%order_class%% .bpd-st-transform-text-title .bpd-st-rest-text",
'padding' => "%%order_class%% .bpd-st-transform-text-title .bpd-st-rest-text",
],
],
'hide_text_align' => true,
'tab_slug'        => 'advanced',
'toggle_slug'     => 'part2',
];

QA Checklist
Reporter

[ ] Helpful title used

Helpful title format: Scope(s) :: One Sentence To Describe The Issue
Example: VB :: Floating Toolbar :: Jumps To Top Of Page

[ ] Detailed description

Description should usually be 150+ characters.

[ ] Steps to reproduce included
[ ] Support Ticket URL included
[ ] Image and/or gif

Developer

[ ] Steps to reproduce proven solved
[ ] Test included and coverage acceptable and all Tests passing?
[ ] PR description has layman's description of problem and solution and "Areas Affected" listed/explained?
[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Estimated points on issue
[ ] Proper code documentation and conventions?
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Peer Review

[ ] PR branch includes latest commits from master branch (at the time of checking)?
[ ] Steps to reproduce proven solved
[ ] Affected areas are tested and ok
[ ] Proper code documentation and conventions
[ ] Proper RTL appearance
[ ] i18n used if applicable
[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?

Quality Assurance

[ ] All tests passed on CircleCI.
[ ] Steps to reproduce passed, the fix works.
[ ] No errors in console or output
[ ] Affected areas are tested and ok
[ ] The fix does not change a customer's website in any surprising or unintended way

[ ] If Divi's design is adjusted, settings are migrated gracefully and invisibly

Design Review

[ ] UI is to spec
[ ] UX is to spec
[ ] Design is to spec
[ ] No surprising visual changes to a customer's website will be experienced after updating

[ ] Any/all visual changes are migrated gracefully

Dev Review

[ ] Test(s) included and coverage acceptable
[ ] Ajax/Form used? Nonce used? Perms checked? All user input sanitized and validated? Intentional unsanitized/unescaped functions used?
[ ] Database saved/updated? Data sanitized and validated?
[ ] Variable output properly escaped and validated?
[ ] i18n used if applicable
[ ] Implementation acceptable, DRY, Scaleable, future safe
[ ] Best practices used, cleverness and grokage, ES6 use, etc.

Use custom_margin and custom_padding controls instead, you can use them multiple times in a module.

Yes i can use that but if i use advanced margin_padding then its easy to use and custom_margin or custom_padding issue in render.

I believe the advanced field for margin/padding can only be added once and by default it is used for the whole module (the module wrapper). You can add as many fields of type "custom_margin" and use them for margins and paddings as you desire. It's quiet easy to implement it and you can even get mobile_options "for free". Sure it is a slight effort to implement the function to set the CSS in react and php but thats a one time thing and not too hard to do.
The best advice I can give you when doing this is to use separate top, right, bottm and left settings in ET_Builder_Element::set_style (or static css(props)) because if you just use "margin: %1$s %2$s..." and a value is not set, you end up with wrong values. Instead use "margin-top: %1$s; margin-right: %2$s;...".

yes i have used that but if advanced field for margin/padding can be use multiple times then it will be good and less code to write for css.

yes, absolutely. Ideally you could place the selector for the margin/padding inside the field declaration. That would be so much more convenient. Like
'field' => [
    'label' => 'My Margin',
    'type' => 'custom_margin',
    'selector' => '%%order_class%% .my_selector',
    ...
],

yes @xxtesaxx and it will help to work efficiently

Use custom_margin and custom_padding controls instead, you can use them multiple times in a module.

How to do you get the value?


Allocate memory on demand

What is the advantage of this?
You still do Vec::with_capacity which allocates, no?

benches looks nice
 bench_regex_redux  7,109,347                           5,979,126                              -1,130,221  -15.90%   x 1.19
 bench_rev_comp     8,504,604                           8,291,579                                -213,025   -2.50%   x 1.03
 bench_tiny_keccak  4,880,091                           4,453,374                                -426,717   -8.74%   x 1.10
 fac_opt            50,128                              44,756                                     -5,372  -10.72%   x 1.12
 fac_recursive      53,466                              46,933                                     -6,533  -12.22%   x 1.14
 recursive_ok       1,363,597                           1,278,726                                 -84,871   -6.22%   x 1.07
 recursive_trap     177,061                             158,144                                   -18,917  -10.68%   x 1.12

Nice!


What does Breaking Changes mean?

We commonly include a Breaking Changes section in release notes. What does the terminology actually mean?
I used to think it is similar to breakages in binary backward compatibility in C++ or Java. However, we don't have a binary release form of a library.
If it means breakage at the source level backward compatibility, it could be too sensitive, and we might have missed many breaking changes.
For example, we used to assume changing a function from the defaults capabilities to pure capability is a backward compatible change. However the assumption is not true if we take the type checker into account:
Given a library including the following function:
function method1(): void {
}

When changing it to
function method1()[]: void {
}

The following user code, which could type check originally, will be failed to type check any more:
function method2(): void {
}

function infer<T>(
  (function()[T]: void) $_,
): (function ((function()[T]: void)):void) {
  return $_ ==> {};
}

function broken(): void {
  $f = infer(method1<>);

  // Typing[4403] Invalid argumentHack(4403)
  // Expected a function that requires the capability set {}
  // But got a function that requires the capability set {AccessGlobals, IO, ImplicitPolicyLocal, RxLocal, System, WriteProperty}
  $f(method2<>);
}

Similarly, changing the return type of a function into a more specific type is also backward incompatible at source level, even though similar changes are usually considered binary backward compatible in other languages.
Key takeaways

We might want to change the structure of our release notes.
I think currently it is not a big deal because any way we don't promise backward compatibility. However, if we want to create a stable language in the future, we will have to define a stable ABI for distributing libraries, not just the source code. Essentially, any statically typed languages that have the ability of type inference, would need a stable ABI in order to create reusable libraries that would not arbitrarily break the library users.

(copy from internal post)
The goal of keeping binary backward compatibility in other language is to allow for upgrading a transitive dependencies. For example, given application A depending on library B depending on library C, if library B is updating to a binary backward compatible and source level backward incompatible version, application A must be migrated upon the new version to pass type check. However, if library C is updating to a binary backward compatible and source level backward incompatible version, application A does not have to migrate upon the new version.
In Hack, the maintainer of the application A cannot simply update library C, unless the developer of library B migrate first.
Something similar to binary backward compatibility in Hack is "runtime backward compatibility", if we could exclude vendor directory from type checking.

I think "runtime backward compatibility" is more realistic, because currently all inferred type parameters do not change runtime behavior. Reified type parameters do change runtime behavior. Fortunately it cannot be inferred.

I'd go with variance rules when documenting signature changes. Non-final methods are invariant on their parameters, return type, and coeffects.
Yes, there are indeed ways the typechecker can emit errors where it previously did not. These callsites can be restored by explicitly typing out the previously inferred types. If that type is not denotable, maybe mention it in the blog.

Yes, there are indeed ways the typechecker can emit errors where it previously did not. These callsites can be restored by explicitly typing out the previously inferred types. If that type is not denotable, maybe mention it in the blog.

It is trivial to fix errors like this in a monorepo if all the source files of all dependencies are in the same monorepo. However, it is not easy to fix an even trivial typing error in composer based projects where errors are commonly found in the vendor directory.

Would you happen to be able to give an example where project B and project C are both independently compatible with hhvm version (next). Project A depends on B, which depends on C. The error only shows up in project A, but not in a source file controlled by A? From my understanding, if C typecheck and B typechecks, wouldn't all new type errors have their primary error location in A?

Yes. The problem is not only about changes introduced by HHVM, but also changes introduced by third party libraries, for users who don't use a monorepo.


Move API calls on community page to client side

Right now on community we fetch data from APIs inside getInitialProps it locks page render until we get all responses and also prevents us from caching renders results for this page as static html.
This PR moves these requests to the client side.

@fabiosantoscode PTAL :)

@fabiosantoscode Rewrote with hooks, please check.

p.s. sanity check on https://dvc-landing-async-commu-rmgs1p.herokuapp.com/community also looks good. I can see the blog, discourse, and github calls in Network tab.

Looks good.
The fact that we have to write so much code for this makes me sad we can't inspect promises from the outside. We would be able to read the result, error and whether it's resolved.

@fabiosantoscode

The fact that we have to write so much code for this makes me sad we can't inspect promises from the outside. We would be able to read the result, error and whether it's resolved.

could you elaborate please?

@shcheklein
Just an aside. But you can't inspect a promise's completion state from the outside, like promise.isFullfilled or promise.isRejected, or get its value. If that was the case, we could use that as a standard object and pass it around.


Project Feedback!

Congrats on completing the third project!
I have provided a detailed Project 3 Feedback Guide here which covers the most common issues with this submitted project. Read through the feedback guide point-by-point to determine how you could improve your submission.
Let us know if you have any other thoughts or questions about this assignment. Hopefully by now you feel pretty comfortable with all the major pieces to basic Android apps (Views, Controllers, Models, Authentication, API Communication, Preferences, ActionBar, et al) and see how they all fit together.

Looks like you are missing the following required user stories:

User can then enter a new tweet and post this to twitter (half)
User is taken back to home timeline with new tweet visible in timeline (1pt)
Newly created tweet should be manually inserted into the timeline and not rely on a full refresh (1pt)

Your assignment is incomplete until all the required user stories are complete. Once completed, please push your updates, update your README, update your gif and submit your assignment again using the submit button on the appropriate assignment page so we can regrade it.
Whenever you make updates to your project that require re-grading, you need to re-submit your project using the submit button on the associated assignment page in the course portal. This will flag your project as “updated” on our end and we know to re-grade.
You should re-submit your assignment anytime you:

Update a previously incomplete assignment
Add optional and additional features to an already completed assignment
/cc @codepathreview


Branch : Quicklogic : In symbiflow, AssertionError reported

In symbiflow, AssertionError reported:
make camif-ql-chandalar_jlink
Following error reported:
AssertionError: ('gpmc_ad(0)', 'FBIO_20')
make[3]: *** [quicklogic/tests/quicklogic_testsuite/camif/camif-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top_iomux.jlink] Error 1
make[3]: *** Deleting file `quicklogic/tests/quicklogic_testsuite/camif/camif-ql-chandalar/ql-s3-ql-eos-s3-virt-ql-eos-s3-wlcsp/top_iomux.jlink'
make[2]: *** [quicklogic/tests/quicklogic_testsuite/camif/CMakeFiles/camif-ql-chandalar_jlink.dir/all] Error 2
make[1]: *** [quicklogic/tests/quicklogic_testsuite/camif/CMakeFiles/camif-ql-chandalar_jlink.dir/rule] Error 2
make: *** [quicklogic/tests/quicklogic_testsuite/camif/CMakeFiles/camif-ql-chandalar_jlink.dir/rule] Error 2
rtl.zip

this is an assert in the jlink script generator. The bitstream itself is generated correctly. We'll take a look on the script

@rakeshm75 this is now fixed with https://github.com/antmicro/symbiflow-arch-defs/commit/c15f616aa9284e4ae4ed6d8de84af741063942ed

@kgugala , Thanks for providing this fix. While reviewing this script, we noticed that you are using the "mode" setting to set bit 5 and bit 11 on Pad config register. Actually for IOs used by FPGA, there is no need to set bit 5 and bit 11. They are only applicable when IO is not used by FPGA. In case of FPGA, OEN and REN are directly routed to FPGA interface. @rakeshm75  will send you a document to explain this. So you can skip setting these bits if ctrl_sel is Fabric.

This issue is resolved, so closing the issue.


Is it possible to do multimesh releases

We currently have 4 k8s cluster deployed with prod settings. Is it possible to fail all of them if any of the deployments in any of those clusters fails?

With the current implementation multi-cluster rollout/rollback is not supported. Maybe when Kubernetes federation v2 becomes stable Flagger could use FederatedDeployment kind instead of Deployment.


Need to explicitly specify x and y instead of using a generator when the model has two inputs.

tf.version: '2.17.0'
tf.keras.version: '3.5.0'
for a image caption model, one input is vector representation of images, another is caption of encoder.
def batch_generator(batch_size, tokens_train, transfer_values_train, is_random_caption=False):
       # ...
        x_data = \
        {
            'transfer_values_input': transfer_values, #transfer_values
            'decoder_input': decoder_input_data # decoder_input_data

        }

        y_data = \
        {
            'decoder_output': decoder_output_data
        }

        yield (x_data, y_data)

then train on this is not work, it mistake the "decoder_input"  or "decoder_output" as the "transfer_values_input" for the model, even with right parameters name in the model.
decoder_model.fit(x=flick_generator,
                  steps_per_epoch=flick_steps_per_epoch,
                  epochs=20,
                  callbacks=flick_callbacks)

only explicitly specify x and y will work.
from tqdm import tqdm
for epoch in tqdm(range(2)):
    for step in range(flick_steps_per_epoch):
        x_data, y_data = next(flick_generator)

        decoder_model.fit(
            x=x_data,
            y=y_data,
            batch_size=len(x_data[0]),
            verbose=0,
        )

    print(f"Epoch {epoch+1} completed.")

Hi @danica-zhu,
Thanks for reporting this. It seems like your batch_generator is yielding a tuple of dictionaries, which is being incorrectly interpreted by model.fit. Could you please share the standalone code along with the error message you're receiving to reproduce the issue? Thanks!


Fix a nonsensical dispatch.

This is a first try to fix the TLS HTTP hangers we observed in arangobench.

http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/7797/

Tests blue.


Fix #76,#71

Hey, this is my first take on implementing the #76 pull schema functionality.
I also included support to read from .graphql and .gql #71 as schemaPath, because i was already on that topic.
Im open for any suggestions and changes, i don't really know how to write tests for this or if you have any tests for commands currently.

Thanks for opening this up @pixelmund - just a few changes but we should be able to get this in quickly

Just deployed this as 0.5.1 and took the opportunity to remove the @kit version tag.
Thanks again!

Happy to help!


LittleFS sd mmc card configuration settings

Hello,
I'm trying to implement littlefs for using this on sd cards. I have used littlefs on spi nor devices before and still works perfectly. Currently, I'm accessing raw sd card sectors over esp32 sd spi MMC host interface file creation is okay but the file append method is not working and the file is corrupted. I believe my configuration file is wrong for the sd card. Are there any default settings for sd cards?
thanks.
const struct lfs_config cfg =
{
.read  = lfs_deskio_read,
.prog  = lfs_deskio_prog,
.erase = lfs_deskio_erase,
.sync  = lfs_deskio_sync,
.read_size = 512,
.prog_size = 512,
.block_size = 512,
.block_count = 2048,
.block_cycles = 500,
.cache_size = 512,
.lookahead_size = 512,
.read_buffer = read_buffer,
.prog_buffer = prog_buffer,
.lookahead_buffer = lookahead_buffer
};

[15:34:58:188] <0x1b>[0;32mI (362) cpu_start: Starting scheduler on PRO CPU.<0x1b>[0m␍␊
[15:34:58:231] <0x1b>[0;32mI (0) cpu_start: Starting scheduler on APP CPU.<0x1b>[0m␍␊
[15:34:58:231] <0x1b>[0;32mI (373) gpio: GPIO[0]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 <0x1b>[0m␍␊
[15:34:58:231] ESP host init ok␍␊
[15:34:58:231] <0x1b>[0;32mI (383) sdspi_transaction: cmd=52, R1 response: command not supported<0x1b>[0m␍␊
[15:34:58:247] <0x1b>[0;32mI (433) sdspi_transaction: cmd=5, R1 response: command not supported<0x1b>[0m␍␊
[15:34:58:324] Name: SD01G␍␊
[15:34:58:324] Type: SDSC␍␊
[15:34:58:324] Speed: 20 MHz␍␊
[15:34:58:324] Size: 922MB␍␊
[15:34:58:324] CSD: ver=1, sector_size=512, capacity=1888256 read_bl_len=9␍␊
[15:34:58:324] SSR: bus_width=1␍␊

const struct lfs_config cfg =
{
.read  = lfs_deskio_read,
.prog  = lfs_deskio_prog,
.erase = lfs_deskio_erase,
.sync  = lfs_deskio_sync,
.read_size = 512,
.prog_size = 512,
.block_size = 512,
.block_count = 30560256,
.block_cycles = 500,
.cache_size = 512,
.lookahead_size = 512,
.read_buffer = read_buffer,
.prog_buffer = prog_buffer,
.lookahead_buffer = lookahead_buffer
	};


[libyuv] Update libyuv

Update port libyuv
Better solution of #28454.
This port will use clang-cl to compile when using MSVC and not UWP. Because many acceleration inline assembly cannot be compiled by x64 MSVC, and the speed will be too slow.

@JonLiu1993 Ready for review :D

I wonder why this port only support static linkage when it has rules for a shared lib. Maybe the problem is just symbol export for DLLs, i.e. WIN32?

Yes, it seems nothing got exported when building shared library.

Sorry! I accidentally deleted the remote branch. 😔 Reopen this in #29032


Accessing form error array using form.useStore and destructuring can cause react update depth issue

Describe the bug
When using destructuring, the form.useStore hook returns an error array that appears to change on every render. This then causes a react update depth issue.
Your minimal, reproducible example
https://stackblitz.com/edit/tanstack-form-oryfsj?file=README.md
Steps to reproduce

Access the errors array using destructuring, like so:

 const {errors}: {errors: ValidationError[]} = form.useStore(state => ({
    errors: state.errors
  }))

Use the errors array as a dependency to a react hook, such as useEffect or useMemo
Observe that this react hook is perpetually called.

Please see the provided repro.
Expected behavior
As a user, I want the error array to be updated only when the error array changes.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

OS: MacOS
Browser: Chrome/Safari
Typescript/React

TanStack Form adapter
react-form
TanStack Form version
v0.29.1
TypeScript version
5.5.4
Additional context
No response

I also get this, almost all the time I use form.useStore((state) => state.values)  really not ideal.

did u find a fix or any way around it, its causing issues for me and I'm on a deadline lol

I believe I used form.useField() for each prop

I'm sorry but const errors = form.useStore((state) => state.errors) seems to be working fine, I think I don't understand where's the problem.
What feature are you trying to implement?

@Balastrong It's been a bit, but what I was trying to achieve was to have 1 hook that would return the errors and other properties, i.e.
// My one hook to rule them all
const {isValid, isPristine, isSubmitted, isSubmitting,errors} = form.useStore(
        state => ({
            canSubmit: state.canSubmit,
            isPristine: state.isPristine,
            isSubmitted: state.isSubmitted,
            isSubmitting: state.isSubmitting,
            errors: state.errors
        })
    )

Because of this bug (and after a extended debugging session) I had to split it into 2 different hook calls so that it would work:
// The main hook
const {isValid, isPristine, isSubmitted, isSubmitting} = form.useStore(
        state => ({
            canSubmit: state.canSubmit,
            isPristine: state.isPristine,
            isSubmitted: state.isSubmitted,
            isSubmitting: state.isSubmitting
        })
    )
// The separate error hook to bypass the bug
const errors = form.useStore(state => state.errors)

Ok! I don't have a ready answer sadly, but I understood the issue, thanks :D

This is a complex issue that is understandably a major headache for our users.
While researching a fix, we've also found an issue with how we handle derived state: #1036
Needless to say, we're working on a broader scope fix to this problem rather than a band-aid. This starts with:
https://github.com/TanStack/store/pull/40
And #1038 (via dogfooding https://github.com/TanStack/store/pull/40 )
This might be a larger body of work than anticipated, so please standby while we work hard on making this a reality

Happy to report that we've achieved a fix in the #1038 branch 🎉
We'll work on having this fix out soon

This should be resolved as of v0.41.0: https://github.com/TanStack/form/releases/tag/v0.41.0


Lift "Depth of nested values" to a higher level

Currently this section is under "Numbers" which seems to be wrong.

Coverage decreased (-0.2%) to 95.41% when pulling d9c5b1d4dff8aae8cf59e36849fbccfdac6118f7 on i-ky:patch-1 into a154389827eef0edaa714e910857738bbdaf6131 on akheron:master.

Merged, thanks!


Added string code

Added string code to calculate the sum of two large numbers. In case of using int data type, there will be an overflow so string approach.

@all-contributors please add @nitigya-joshi02 for his code


Adding state to to WaiterError exception

Improving WaiterError exception message with failure state. Addressing https://github.com/aws/aws-cli/issues/2918

Codecov Report

Merging #2224 (ab6c73e) into develop (5e1bffa) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop    #2224   +/-   ##
========================================
  Coverage    98.23%   98.24%
========================================
  Files           58       58
  Lines        10852    10853    +1
========================================
+ Hits         10661    10662    +1
  Misses         191      191

Impacted Files
Coverage Δ

botocore/waiter.py
98.68% <ø> (ø)

botocore/exceptions.py
99.49% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

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


Allow regular expressions in proxies definition

Wished behavior
I would like to be able to tell Karma to serve a file whatever the sub-path is.
I could also want to transform the URL to something completely different.
For instance, something like this (but it won't work with the object syntax):
proxies: {
    /\/images\/.*/: "/base/test/assets/placeholder.png",
    /\/books/(\d+)\/pages\/(\d+)/: "http://external.host/get_book_page.php?book_id=$1&page_id=$2"
}

Proposed syntax
proxies could accept an object, as it is currently the case, or an array of arrays, which is still readable, and accepts regular expressions as "keys":
proxies: [
    [/\/images\/.*/, "/base/test/assets/placeholder.png"],
    [/\/books/(\d+)\/pages\/(\d+)/, "http://external.host/get_book_page.php?book_id=$1&page_id=$2"]
]

Support for regular expressions would be great.
Maybe Karma could support same confix syntax as Webpack does: https://github.com/webpack/webpack-dev-server/pull/127#issuecomment-89819809 (This change has been merged in https://github.com/webpack/webpack-dev-server/pull/187)

Any plans on this ?


Can not save files (csv/excel/pdf) in incognito mode

This can easily be reproduced by visiting the main TableTools web page in Chrome's Incognito mode, and trying to save a file: https://www.datatables.net/extensions/tabletools/
It will appear to work (the save dialog comes up), but no file is saved in the destination folder.

Seems to work okay for me - Chrome 42.0.2311.135 Mac.

Ah, indeed, this is specific to Chrome 43 (and newer?). Sorry, I missed that, but yes, I can verify that the issue (whether we call it a "regression" or "new privacy feature") does not affect version 42, it only appears on 43.

How frustrating. I can't see why it would be a feature, but it seems like an odd thing to break unintentionally. Possibly one for the Chrome bug list. If you beat me to it, could you post a link to the bug here?

@DataTables any progress on this?

TableTools is no longer being developed. Buttons is its replacement and it seems to work just fine in Chrome's Incognito mode: https://datatables.net/extensions/buttons/examples/html5/simple.html

@DataTables thanks for the feedback.


Replace local fs logstore with raft-engine

What type of enhancement is this?
Refactor
What does the enhancement do?
Replace LocalFileLogStore with raft-engine, for:

In early version, LogStore allocates sequence number internally, which guarantees that sequence numbers across different regions are monotonic. But during following refactor work, sequence number is generated by regions themselves. That makes the entry id in log file name useless and garbage collection of log store is hard to implement correctly.
Also, in bunshin project, we still need a local file storage that optimized for append. We considered an embedded rocksdb, but I believe that is an overkill and the binary size of librocksdb.a is way too large.

raft-engine is an append-friendly local file storage just like rocksdb, written in pure rust. Replace local file logstore can help to

improve wal performance
validate some ideas that maybe usefull in bunshin project.

Implementation challenges
No response

For rocksdb, tidb provided a comparison between vanilla (rocksdb based log store) and raft-engine in this article

The key is, raft-engine stores logs in file queue without full dumping, and the write path is much leaner.


Reset $dirty when creating new object for validation

I'm trying to reset the $dirty flag (all the $dirty flags?) each time I create a new object for validation.
I guess I'm doing it wrong.
I've created a jsfiddle to show what I'm trying to do.
https://jsfiddle.net/aasuw7yn/3/

This should work and look's like a potential bug to me. I'll take a closer look soon.

I believe it works with v0.5.0 now. :)


[icons] Clarity Icons API

Select one ...  (check one with "x")
[ ] bug
[ ] feature request
[X] enhancement

Expected behavior
Users need an API to Clarity Icons so that they can manage icons for themselves.
We need the API to meet the following requirements:

It needs to be accessible outside of Angular because not everyone using Icons will be using Angular.

It would be preferable if it were importable.

It needs to be importable from within the Icons deliverable as well, such that it can be imported into define-clarity-icons.ts instead of importing [SVG_ICONS_TEMPLATES]

...see additional features under this epic.

Duplicate. Tried doing an epic...


Is put non-blocking?

I have some code like this:
function* mainSaga () {
  yield takeLatest('some-action', function* () {
    yield put({ type: 'trigger-async-calls' })
    yield call(api.thirdCall)
  })
}

function* anotherSaga () {
  while (yield take('trigger-async-calls') {
    yield put({ type: 'trigger-saga-a' })
  }
}

function* sagaA () {
  yield takeLatest('trigger-saga-a', function* () {
    yield call(api.firstCall)
    yield call(api.secondCall)
  }
}

When I dispatch 'some-action', api.thirdCall goes out first. I expected to see api.firstCall then api.secondCall then api.thirdCall after everything triggered by the puts had been settled. What am I doing wrong? Or am I misunderstanding how saga handles this? I would like to be able to have my outermost saga (mainSaga here) use takeLatest so it can be arbitrarily cancelled/restarted, and same with sagaA, and still get my desired behavior of having api.firstCall happen first, then api.secondCall then api.thirdCall. The only thing I can think of that might be throwing this off is that sagaA uses takeLatest which forks the processes. Maybe this is causing control to return to mainSaga before the first and second calls happen?

I'm not sure if I'm understanding correctly. Maybe I'm missing what you're trying to achieve since this is a barebones example. put simply dispatches and then immediately gives back control. So api.thirdCall gets called right away. You should be able to achieve the same by simply doing:
function* mainSaga () {
  yield takeLatest('some-action', function* () {
    yield call(anotherSaga)
    yield call(api.thirdCall)
  })
}

function* anotherSaga () {
    yield call(sagaA)
}

function* sagaA () {
    yield call(api.firstCall)
    yield call(api.secondCall)
}

You could also use yield* but it would make testing less pleasant. In this case, if you cancel mainSaga, the cancellation propagates downward and all the sagas get cancelled.

Oh, OK, so put is meant to be give back control immediately in all cases?
I can't do what exactly what you suggest due to other requirements of the app, but this clears things up completely. I had assumed that if a put triggers other sagas, those sagas will be settled before control is returned to the saga that called put.

The case is kinda tricky, I'll try to explain what's happening and why. put is kinda 'synchronously' blocking.
What I mean by that that its not just a simple wrapper around dispatch. Its effect runner (the function executing put effect) is wrapping a function making a dispatch in asap queue. asap can handle 2 scenarios:

If queue is suspended its pushing a task (dispatching one) to the end of the queue and the queue will get executed when flushed
If queue is not suspended its suspending it immediately, adding to the queue AND flush. So the queued task is the first to happen (action dispatched etc). But if this dispatched action now triggers some takes during being emitted to the redux-saga and other puts come into play because of that they will meet the 1st scenario, cause this 1st put has suspended the queue, but as they get pushed to the queue they will be executed by the same flushing loop. isSuspending lock is lifted on the end of the flush, when all queued tasks finish.

That being said, once a task is executed it will resume effectively dispatch and resume your saga.
However you are meeting the other asap fatigue. takeLatest is consisted of such logical steps:

yield take(pattern) - 'take(some-action)' here
when action is taken it checks if there is already a previous task, if it is - yield cancel(prevTask)
prevTask = yield fork(worker), go back to the 1st step

While looking at the fork effect runner we could see such thing
asap.suspend()
const task = proc(taskIterator, subscribe, dispatch, getState, options, effectId, fn.name, (detached ? null : noop))
// ...
asap.flush()

Effectively that's what happening in your case:

running fork, cause of your takeLatest
therefore suspending the asap
running your worker, geting to yield put({ type: 'trigger-async-calls' })
executing this put, trying to asap dispatching, but as its suspended, its geting to the queue instead of dispatching right away
geting to the asap.flush(), executing the queued dispatch({ type: 'trigger-async-calls' })
the action is emitted back to the saga by the middleware where there is already a listener waiting for it (take('trigger-async-calls'))
resuming that generator and meeting yield put({ type: 'trigger-saga-a' }), trying to asap it, but we are in the middle of the flush (step 5), so its queued up
finishing dispatching trigger-async-calls (step 5) so resuming your worker and hence api.thirdCall happens
flush geting next item from the queue - and therefore dispatching your trigger-saga-a now

Wow! Thank you for the detailed explanation :-) 👍 👍 👍
I decided to just yield put a success action at the end of sagaA and yield take it right after the put in mainSaga. I'm going to have to read your reply a few times to fully understand it.
Thanks again :-)

Well, truth to be told - i dont even even know if its 100% correct and if
it holds up in the future. Scheduling is a really complex situation and it
needs to be addressed accordingly
On Fri, 28 Oct 2016 at 16:58, Matt Granmoe<EMAIL_ADDRESS>wrote:

Wow! Thank you for the detailed explanation :-) 👍 👍 👍
I decided to just yield put a success action at the end of sagaA and yield
take it right after the put in mainSaga. I'm going to have to read your
reply a few times to fully understand it.
Thanks again :-)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/yelouafi/redux-saga/issues/604#issuecomment-256943612,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJWMkgECGQkEcmeLd_9hj09BV6TbaHGnks5q4g2JgaJpZM4KjAUR
.


Create data staleness system to detect out of date FrontEnds working with old data.

We currently have no way to prevent an older frontend from manipulating data that has already been changed elsewhere.
A simple example of this is that if an Admin has the program list open in two tabs and starts a draft with "new version" in one tab, the other tab will never know that happened. If a "new version" is created in the second tab the modifications are then lost from the first.  Likewise if you're editing a program in two tabs you'll like overwrite edits, as well the underlying dependency model between questions and programs and it's upkeep, can lead to odd effects with the data changing underneath you without realizing.  See #2179 for a concrete example
A simple mechanism would be to save modification timestamps in the Program and Question tables, send those to the FE, and then back with edit requests.  The server could then verify that the modification timestamp is still at that time before doing the update.

#2237 likely a task for support this


ErrorException in Voyager.php line 88: bread/edit-add.blade.php

Laravel Version: 5.4.*
Voyager Version: #.11.1
PHP Version: 7.0.14
Database Driver & Version:

Description:
I have created a new DB table, and when i want to edit a record i get the following error:
ErrorException in Voyager.php line 88:
Undefined index: PRI (View: /vendor/tcg/voyager/resources/views/bread/edit-add.blade.php)
Is there anything that i am missing from the table for it to break?
CREATE TABLE fixtures (
id int(11) NOT NULL AUTO_INCREMENT,
home_team varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
home_team_score int(11) DEFAULT NULL,
away_team varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
away_team_score int(11) DEFAULT NULL,
game_day_details varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
buy_tickets varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
match_info varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
created_at date DEFAULT NULL,
updated_at date DEFAULT NULL,
round int(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Steps To Reproduce:
Install New Laravel project
Install Voyager
Create New Database
Enter information
then edit it breaks.

I will be working to fix this.
In the mean time, please go to: Tools > Database > Click on Edit BREAD for your table.
Uncheck all Visibility check boxes for the Primary Key. Hit Submit.
That should fix it for now.


Support for Construct's Armory

Could you make InfiniTiC support the addon Construct's Armory?
https://minecraft.curseforge.com/projects/constructs-armory
It's a mod which adds armor for TiC and custom armor would be a nice addition to your mod. Btw. really like your mod.

I'm going to investigate whether we can make this work, next.

I know it's been a while, sorry for bugging you about it, but I'd also love to know if this was looked into and/or discarded. Love the mod regardless! Cheers.


Compiling

Whenever I try to build my modified source of BootNTR I get this... http://prnt.sc/ah2i9e

Post the full output. What you posted was just a warning not an error.

Ok, I will give me a second.

it should


Files with non-english characters are trait as binary files

Files with non-english characters are trait as binary files. Test data set:
test
тест

Put this two lines in a file and search for "test".

Windows 7, ag 2.2.0 (downloaded here)
File hello.txt inside folder Test.
Contents of hello.txt is 'Привет, мир!'
ag мир -> nothing :-1:
rg мир -> hello.txt 1:Привет, мир! :+1:

just don't use ruzzian.