Toggle editline build and include option to build a shared library

Commit aa086188f1464e81f2d74b2bb1fca29a31d11d95 allows building a shared library per the request of https://github.com/Homebrew/homebrew-core/pull/17230#pullrequestreview-58672467 (closes #48)
Commit 47b639d47ac0a379b5483e2b29d251d247b9ea27 should close issue https://github.com/fabianishere/brainfuck/issues/43.

Awesome! Will take a look at it as soon as I have access to my computer.

I have separated both changes. #49 will allow building a shared library. Waiting on your feedback for the other change.

Sorry, I had  unintentionally left my debugging flags on in the commit.

#51 adds the option to toggle building with editline support.


Upload to coveralls takes ages

In my smartparens builds on travis, having undercover enabled time outs the builds.  This started happening some 20 days ago.  When I disable undercover it goes through fine.  I suspected evm but it seems this here is the culprit.  Any ideas?
At least we should probably add some sort of timeouts to not kill the builds unnecessarily (travis kills the job after 10 minutes of no output).
You can see the builds here https://travis-ci.org/Fuco1/smartparens/jobs/173349781

Sorry for the long response, I was away on previous week.

You can see the builds here https://travis-ci.org/Fuco1/smartparens/jobs/173349781

I can see Elapsed time 1 min 3 sec for this build... Is this problem still exists? Maybe it was something with coveralls API. If it's true we can add some curl option like --connect-timeout or --max-time.

Oh, based on this build https://travis-ci.org/Fuco1/smartparens/jobs/173346044 I can say that it's not coveralls API. Probably it's something with edebug. I will take a look.

Dang, I linked the wrong build :blush: However the one you found is the problem, it just waits for 10 minutes for no input then drops the build.

I think the problem is with the undercover macro.
(defmacro undercover (&rest configuration)
  "Enable test coverage for files matched by CONFIGURATION.
Example of CONFIGURATION: (\"*.el\" \"subdir/*.el\" (:exclude \"exclude-*.el\")).
If running under Travic CI automatically generate report
on `kill-emacs' and send it to coveralls.io."
  `(undercover--setup
    (list
     ,@(--map (if (atom it) it `(list ,@it))
              configuration))))

Replacing the --map with -map and explicit lambda should work better.
(defmacro undercover (&rest configuration)
  "Enable test coverage for files matched by CONFIGURATION.
Example of CONFIGURATION: (\"*.el\" \"subdir/*.el\" (:exclude \"exclude-*.el\")).
If running under Travic CI automatically generate report
on `kill-emacs' and send it to coveralls.io."
  `(undercover--setup
    (list
     ,@(-map (lambda (it)
               (if (atom it) it `(list ,@it)))
             configuration))))

The issue might be with byte compilation and load order of the anaphoras... if they get loaded in wrong order they are not compiled as macros and the compiler thinks --map is a function and then it is undefined.

I did some debugging and it looks like undercover.el (or edebug most likely) has some problems with this function:
(defun sp--strict-regexp-opt (strings &optional ignored)
  "Like regexp-opt, but with extra boundary conditions to ensure
that the strings are not matched in-symbol."
  (if strings
      (with-syntax-table
          ;; HACK: this is a terrible hack to make ' be treated as a
          ;; punctuation.  Many text modes set it as word character which
          ;; messes up the regexps
          (let ((table (make-syntax-table (syntax-table))))
            (modify-syntax-entry ?' "." table)
            table)
        (--> strings
             (-group-by (lambda (string)
                          (list (and (string-match-p "\\`\\<" string) t)
                                (and (string-match-p "\\>\\'" string) t)))
                        it)
             (mapconcat (lambda (g) (apply 'sp--regexp-for-group g)) it "\\|")
             (concat "\\(?:" it "\\)")))
    ""))

If you want to reproduce it locally:

Re-enable undercover.

Add this code to the end of test-helper.el:
(when (s-contains? "--win" (getenv "ERT_RUNNER_ARGS"))
  (defun ert-runner/run-tests-batch-and-exit (selector)
    (ert-run-tests-interactively selector)))

Run TRAVIS=true cask exec ert-runner --win from a terminal.

Will continue my investigation.

Something really strange going on here:)
For test purposes I defined simple function:
(defun test123 (x) (--> x (+ it 2)))

And then I passed it to edebug in my regular Emacs window and window that I got with TRAVIS=true cask exec ert-runner --win command. And result was different. In first case everything was okay, but in second case --> macro was not expanded properly. Function definition was changed to (with edebug and undercover code removed):
(defun test123 (x) (+ it 2))

Indeed, undercover will change function definitions. But it just adds new code to the definition without looking into it. It's done here:
(setf (symbol-function 'undercover--stop-point-after)
      (cons 'macro
        (lambda (before-index after-index form)
          "Increase number of times that stop point at AFTER-INDEX was covered."
         `(let ((before-index ,before-index)
                (after-index ,after-index))
            (unwind-protect ,form
              (when (boundp 'edebug-freq-count)
                (aset edebug-freq-count after-index (+ 1 (aref edebug-freq-count after-index)))
                (undercover--align-counts-between-stop-points before-index after-index)))))))

So, it looks like this form argument is incorrect in this environment for some reason (it comes from edebug). Do you have any ideas why it can happen?
P.S. Just FYI:

Correctly expanded version: http://pastebin.com/nRpY4DNs.
Incorrectly expanded version: http://pastebin.com/N2ffrqRy.

Okay, I found a problem. I can see that definition of --> is different in this environments. The only difference is (declare (debug ->)) statement. Will dig more into it.

Yeah, it's definitely some edebug error (or maybe incorrect --> debug specification). I just tried to debug test123 without undercover:
ELISP> (symbol-function 'test123)
(lambda
  (x)
  (edebug-enter 'test123
                (list x)
                #'(lambda nil
                    (edebug-after
                     (edebug-before 0)
                     3
                     (+
                      (edebug-after 0 2 it)
                      2)))))

As you can see it wasn't expanded properly.

Your research points to this commit we merged into dash about at the time things went south: https://github.com/magnars/dash.el/pull/188

@Wilfred any idea what's going on here?

Notice that --> as the only one of the family has different argument list: (x form &rest more) instead of (x &optional form &rest more) ! I guess that's the problem?

Sorry for the delay.
I did a small experiment. I replaced debug definition for -> from
  (declare (debug (&rest form &rest [&or symbolp (sexp &rest form)])))

to
  (declare (debug (&rest sexp &rest [&or symbolp (sexp &rest sexp)])))

and it fixed "Symbol's value as variable is void: it" issue for me. But I'm not 100% sure that it's correct way of doing it.
But unfortunately it didn't fixed your initial issue with low performance. I will investigate it more.

No, I think this was the source of the problem.  Edebug or something errored and then emacs simply stopped responding.  I will put the above debug declaration in dash and we'll see if it starts working.

Worryingly, -> was using the same debug declaration as thread-first. We can fix ->, but fixing upstream Emacs is harder (and wouldn't affect the current release).

No, I think this was the source of the problem. Edebug or something errored and then emacs simply stopped responding. I will put the above debug declaration in dash and we'll see if it starts working.

Well, I tried it locally and I saw that even with fixed error there is no response from Emacs.

I came up with this
(declare (debug (form &rest [&or symbolp (sexp &rest [&or "it" form])])))

We just need to tell it that it is a valid token in and of itself.

I came up with this

Yep, just tested it, works fine for me.

Worryingly, -> was using the same debug declaration as thread-first. We can fix ->, but fixing upstream Emacs is harder (and wouldn't affect the current release).

I tried to edebug this function:
(defun test123 (x)
  (thread-first x (+ 2)))

It works for me, maybe it's because of arguments definition: (thread-first &rest FORMS). Not 100% sure. But anyway it works.

So, these are my results
>% cask exec ert-runner

Rewrap with:
.............................................................................................................................................................................................

Ran 189 tests in 19.515 seconds

[14:47:27]+matus@herakleitos:~/.emacs.d/projects/smartparens
>% TRAVIS=true cask exec ert-runner

Rewrap with:
.............................................................................................................................................................................................

Ran 189 tests in 246.080 seconds

Wrote /tmp/undercover_coveralls_report
Sending: report to coveralls.io
Sending: OK

So at least it works.  The it issue was caused by dash and I think I've fixed it with the above.  The slowness is tiresome but I can work with that.


Adding ability for quadratic optimizer to use Stan parameters

Continuing this from the discussion on the Stan forums at https://discourse.mc-stan.org/t/quadratic-optimizier/4405/47.
We want to merge the quadprog code from the test quadprog repo and update the solve_quadprog C++ template to work with stan::math::var. It currently uses Eigen::MatrixXd everywhere and we need to make sure those accept vars.

Ok, let me start a branch later today and set everything up and we can work on it. I will give you push permissions.

Had some other stan release matters to deal with yesterday, will get on this today.

So, I have a version that compiles now at https://github.com/rok-cesnovar/math/tree/solve_quadprog
Its ultimately wrong most likely as I just brute-forced all vars to doubles, so the gradient w.r.t. to G will be wrong. But its a start.

I will make a cmdstan branch with the added signature for the function tomorrow morning CET time. If you have some (Fake) data we could test this with that would also be great.

Great, thanks! I'm up early EST and I can test with some fake data.

Clone with git clone --branch solve_quadporg https://github.com/stan-dev/cmdstan.git --recursive

One minor typo that caused me some consternation, haha, in solve_quadprog you have solve_quadpORg.

Oh, sorry :)

@spinkney  Oh, nevermind, I forgot to append the correct stan compiler version. Just a second.

If you already cloned, just do a git pull on cmdstan. No need to update the submodules. Your model should then compile but I am expecting wrong values for at least the G parameter matrix.

If I remove the functions block, assuming that it's in the stan/math folder, I get

scratch that...I did a make clean-all and rebuild. The quadprog_example_two compiles

well, it worked!

As in "doesnt crash" or "actually gives seemingly correct result"? I would be surprised if the latter.

Yes, it doesn't crash but it doesn't give the right result because it has to be an unconstrained variable.
I want a lower=0 constraint on the variable that gets passed to G as in.
parameters {
    real<lower=0> sigma;
    vector[K] v_weights;
}
transformed parameters {
    row_vector[J] weight;
    vector[K] X_weight;
    matrix[K, K] G = diag_matrix(2 * v_weights/sum(v_weights) );

    X_weight = solve_quadprog(G, g0, CE, ce0, CI, ci0);
}

But I get the following error:

I am not sure I completely follow. The constraint is on sigma?

Yes, I didn't have the constraint in the post above--updated. Also do the updates allow g0 to be passed in as a parameter too?

Yes, I didn't have the constraint in the post above--updated.

Ok, let me see why that would be problem. Do you have any data (or subsets) you can share?

Also do the updates allow g0 to have parameters too?

Not currently. I am now trying to rework this so that any of the arguments can be parameters. Will push the changes once I finish.

So far I'm not convinced this simulation creates my situation but it gives you an idea
set.seed(12345)

K <- 8
J <- 3

true_v <- c(0.2, 0.5, 0.3, rep(0, K - 3))
true_w <- c(0.7, 0.3, rep(0, J - 2))

X0 <- matrix(rnorm(K * J, 0, sd = 1), J, K)
X1 <- apply(X0, 2, function(x) t(true_w) %*% (x ))
X1 <- true_v * X1 + rnorm(K, 0, 0.001)

Y0 <- rnorm(J, 10, sd = 3)
Y1 <- true_w %*% Y0 + rnorm(1)

stan_data <- list(K = K,
                  J = J,
                  X1 = X1,
                  X0 = X0,
                  CE = matrix(1, nrow = K, ncol = 1),
                  ce0 = sum(X1),
                  CI =  cbind(diag(K), -diag(K)),
                  ci0 = c(rep(0.0, K), -X1))

K = K
J = J
X1 = X1
X0 = X0
Y0 = Y0
Y1 = as.vector(Y1)
CE = matrix(1, nrow = K, ncol = 1)
ce0 = array(sum(X1))
CI =  cbind(diag(K), -diag(K))
ci0 = c(rep(0.0, K), -X1)

stan_rdump(c('K', 'J', 'X1', 'X0','Y0', 'Y1',  'CE',
             'ce0', 'CI', 'ci0'), file = "quadprog_data.R")

data {
    int<lower=1> K;             // num predictors
    int<lower=0> J;
    vector[K] X1;
    matrix[J, K] X0;
    vector[J] Y0;
    real Y1;
    matrix[K, 1] CE;
    vector[1] ce0;
    matrix[K, 2 * K] CI;
    vector[2 * K] ci0;
}
transformed data {
  vector[K] g0 = -2 * X1;
}
parameters {
    real<lower=0> sigma;
    vector[K] v_weights;
}
transformed parameters {
    row_vector[J] weight;
    vector[K] X_weight;
    matrix[K, K] G = diag_matrix(2 * v_weights/sum(v_weights) );

    X_weight = solve_quadprog(G, g0, CE, ce0, CI, ci0);
}
model {
  sigma ~ normal(0.01, 0.05);
  X1 ~ normal(X_weight, sigma);
}

Thanks! Will update once I dig through.

You can use this to test to get parameter values working and what not. But it's not going to return the simulated values even if you get that to work. The issue is this program will just set X0W = X1 since it doesn't know anything about X0 yet. I'll work on updating that.

Ok, the function now accepts any of the 6 args as a parameter. And I am fairly certain the gradients are now working fine.
I ran the model with
vector<lower=0>[K] v_weights;

and the sampling finished. There were however a bunch of divergences:
975 of 1000 (98%) transitions ended with a divergence.
Run git pull on cmdstan and make stan-update to update the submodules.

Great, I will try to test this weekend. I did find the issue with the code and I have it partially rewritten. I've also tested with quadprogpp and recover the weights when I set v_weights to diagonal (though this is the simple case that is not needed for Stan). Will test on the simple case with the stan model and then try the harder case with estimating v_weights. In the rewritten case, both G and g0 will be parameters. Thanks for your quick work on this! I must apologize that I may need a few days to test since I have two small kids and this shelter-at-home has made me a part-time preschool teacher and stay-at-home dad.

I completely understand. No rush on my side.
Let me know if it works when you test or if we need to dig a bit deeper. I will add some more tests on the C++ level. Make sure to pull the latest version and update the submodules.

My rewritten model works and the tests I've done all show this to work out.
G and g0 are parameters and I tested v_weights as a simplex and positive_ordered vector, both work.

Do you think this is something that can be pushed into Stan for the next release?

That is going to be difficult for two reasons. The largest being the licensing. The quadprog++ code from which this work was derived is GPL licensed and that license (as far as I know) does not play well with the BSD license of cmdstan/stan math.
The other reason is that the function as it's written in the original and in our modification may be performant but the style is pretty "dangerous", especially due to the goto statements. But this isn't as large of an issue, or at least one we can work around by throwing out the gotos.
The solution for the first issue would be to write the solve_quadprog cpp code from scratch (or derived from BSD licensed R code) or use a BSD licensed C++ code.
Now that this seems to work ok, I am going to add that to the original example (using external cpp file). That should now also work and we can use this without having to clone a fork of math and use a special version of the compiler. We can then make post if you agree.

Cool sounds good. I would love for the work you and Charles have done to be included as well as thinking that this opens up a lot modeling possibilities. Not just the algebra solver stuff that Charles had in mind. Like the possibility of adding generalized method of moments to Stan
(something like https://web.hku.hk/~gyin/materials/2009YinBA.pdf) and the nested optimization stuff I'm doing.
What about Eclipse Public License? I found Ipopt C++ code at https://github.com/ampl/coin/tree/master/Ipopt/Ipopt

I don't think the Eclipse license works with maintaining BSD. However, I did find a python library under BSD license that has a number of solvers including quadratic. These could probably be ported to C++ pretty easily.
https://github.com/Pyomo/pyomo

Nice! That seems promising.


Suppress automatic migrations for pre-existing wallet databases.

Issue Number
#1279 (wallet shows balance of zero after upgrade from older version)
In particular, see the following comments:

https://github.com/input-output-hk/cardano-wallet/issues/1279#issuecomment-577213679
https://github.com/input-output-hk/cardano-wallet/issues/1279#issuecomment-578242895

Overview
This PR:

[x] reverts the changes introduced in PR #1290.
[x] suppresses automatic migrations for pre-existing file-based wallet databases, so that we rely entirely on the manual migration mechanism.

However, we still allow automatic migrations when creating new wallet databases. This is necessary, because persistent relies on the automatic migration mechanism in order to build new databases from scratch.
Reproduction steps

Start with the v2020-01-14 build (or earlier) of the wallet backend (cardano-wallet).
Create a Jörmungandr wallet with a non-zero balance b. (For example, create a wallet with the passphrase vintage poem topic machine hazard cement dune glimpse fix brief account badge mass silly business.)
Stop the wallet backend, but do not delete the database files created by step 2.
Start with the v2020-01-21 build (or later) of cardano-wallet.
Observe the new balance of the wallet.

Behaviour before application of this PR
The balance is 0.
Behaviour after application of this PR
The balance is b.

@jonathanknowles  I have tried manually testing on the branch, for instance:
v2020-01-14 -> jonathanknowles/restrict-auto-migration
There is NO 0 balance issue, I.e. funds are there on byron faucet wallet after migration.
One thing that is bothering me is that in the log there is No database migrations were necessary.:
[cardano-wallet.pools-db:Notice:20] [2020-02-10 10:19:51.35 UTC] No database migrations were necessary.
[cardano-wallet.application:Info:20] [2020-02-10 10:19:51.35 UTC] Found existing wallet: aa129a07d1ce083e67597348f1788747a034686e
[cardano-wallet.pools-engine:Info:27] [2020-02-10 10:19:51.35 UTC] Monitoring stake pools. Currently at 754cebd6-[1256396.3#41]
[cardano-wallet.wallet-db:Notice:28] [2020-02-10 10:19:51.35 UTC] No database migrations were necessary.
[cardano-wallet.application:Info:20] [2020-02-10 10:19:51.36 UTC] Found existing wallet: 2d4cc31a4b3116ab86bfe529d30d9c362acd0b44
[cardano-wallet.wallet-db:Notice:31] [2020-02-10 10:19:51.37 UTC] No database migrations were necessary.

Whereas when migrating: v2020-01-14 -> v2020-01-27 in the log there is:
[cardano-wallet.wallet-db:Notice:28] [2020-02-10 10:57:56.94 UTC] 48 migrations were applied to the database.
[cardano-wallet.wallet-db:Notice:28] [2020-02-10 10:57:56.94 UTC] Some automated database migrations happened. Forced to roll back to genesis.

@piotr-iohk wrote:

One thing that is bothering me is that in the log there is No database migrations were necessary.:

Well spotted! That's the result of a deliberate change: https://github.com/input-output-hk/cardano-wallet/pull/1334/commits/72ce159701e1fc98afe8108b05b0ee16a2fc9a83
Reasoning: unless I'm mistaken (please correct me if I am mistaken), items with the Debug log severity level are not (by default) included in user-supplied logs.
But given the difficulty of debugging database migration failures in the field, it seems to me that it would be rather useful to be able to see clear evidence that no migrations were applied on a particular startup.
What do you think?

That's the result of a deliberate change. Unless I'm mistaken (please correct me if I am mistaken), items with the Debug log severity level are (by default) not included in user-supplied logs.

I agree with your statement here. Although, I disagree about putting this log line to Notice. The fact that no migration were applied is not something that should catch our attention. It's actually the opposite, hence the 'Debug' level in the past.

@KtorZ wrote:

I disagree about putting this log line to Notice. The fact that no migration were applied is not something that should catch our attention. It's actually the opposite, hence the 'Debug' level in the past.

Fair enough! I've removed this particular change. (Originally change 72ce159701e1fc98afe8108b05b0ee16a2fc9a83)
My motivation here was really to lower the cognitive burden of a future developer who is attempting to debug something that has gone wrong in the field. It could be useful to see positive evidence that the database was loaded without performing migrations.
Of course, it's possible to deduce this by noticing the absence of "n migrations performed" in the log, but it's (arguably) more work to determine this.
On the other hand, I can sympathize with the desire to keep logs as quiet as possible (by default).

Closing, as the solution provided in PR #1304 supercedes this one.


fix: Missing fmt.Sprintf() in debug logging statement

Signed-off-by: Bryon Nevis<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit subject follows the Conventional Commits spec
[x] The commit message follows the EdgeX Contributor Guide
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[x] make test has completed successfully

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number:
Fixes #2539
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Are there any specific instructions or things that should be known prior to reviewing?
Other information

Testing instructions:
Modify security-secrets-setup configuration.toml as follows:
 [Writable]
-LogLevel = 'INFO'
+LogLevel = 'DEBUG'

Modify docker-compose script as follows:
   security-secrets-setup:
-    image: nexus3.edgexfoundry.org:10004/docker-edgex-secrets-setup-go:master
+    image: edgexfoundry/docker-edgex-secrets-setup-go:1.2.0-dev

make docker_security_secrets_setup
docker-compose up security-secrets-setup
Observe properly formatted log message.

Codecov Report

Merging #2565 into master will decrease coverage by 0.22%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2565      +/-   ##
==========================================
- Coverage   39.11%   38.89%   -0.23%
==========================================
  Files         145      145
  Lines       12794    12728      -66
==========================================
- Hits         5005     4951      -54
+ Misses       7515     7504      -11
+ Partials      274      273       -1

Impacted Files
Coverage Δ

internal/support/scheduler/router.go
0.00% <0.00%> (ø)

...nal/support/scheduler/operators/interval/delete.go
100.00% <0.00%> (+1.23%)
:arrow_up:

internal/support/scheduler/rest_interval.go
100.00% <0.00%> (+4.00%)
: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 077fc95...4b30bbc. Read the comment docs.


Fix documentation in quinn-proto and quinn-h3

Fix some documentation links in quinn-proto and quinn-h3 that cargo doc was complaining about.
quinn-proto had some links that did not point to the correct locations, so these were updated to point to enum variants as well.
quinn-h3 made references to structs that no longer seem to exist so this was updated too.

Thanks!


Version 1.0: North Atlantic Update - Tides, Curved Boundaries, Config, and More!😀🤯🥳

Description:
Major Features:

[ ] Accepting curved boundary supergrids and bathymetry
[ ] Tides from TPXO
[ ] Import from Config Files
[ ] Major bathymetry fixes for land-sea mask
[ ] Moving experiment specific changes to MOM_override (Boundary parameters and others) and out of MOM_input
[ ] New GLORYS downloader (that can account for curved boundaries)
[ ] Additional tests (tides specific)
[ ] Changing function names to verb beginnings (initial_condition -> setup_initial_condition)
[ ] Add properties (i.e. more functional object variables) and dataset plotting

Minor Features:

[ ] Ability to code without greek letters
[ ] Removed unintentional machine-specific code
[ ] Increased print statements

Breaking Changes (for backwards compatibility):

[ ] Practically Everything. Functions changed to verb starts!

Documentation Changes (TBD):

[ ] Update README and Docs

Co-authored-by: @ashjbarnes

Hi @manishvenu
T H A N K S !
This is a huge PR. Is there any chance we break it into a few smaller ones? Otherwise reviewing will be hard.
Btw,

Functions changed to verb starts!

what does "verb starts" mean?

Hi @manishvenu
T H A N K S !
This is a huge PR. Is there any chance we break it into a few smaller ones? Otherwise reviewing will be hard.
~Btw,~ ~> Functions changed to verb starts!~ ~what does "verb starts" mean?~ (got it!)

Yes it's a huge PR! We did have this broken down into smaller PRs on the CROCODILE fork, which we reviewed and merged one by one over the last couple of months. Unfortunately these PRs might not be useful for us to break up this big one any more, because we did need to do a lot of merging given that @manishvenu and I were working in parallel on several changes.
It's still in draft state for now while we polish it (build on the properties for each input which is WIP, add more comments, remove commented out code, review the demos etc) but thought it could be good to get the ball rolling on the review.
Is there a way you suggest that we break up the PR? Since we did a huge overhaul of the entire codebase, it's kind of hard to separate some of the changes!

BTW this PR closes #184 , #168 , and also #55 in a roundabout way since user now specifies which boundaries they want, and the MOM inputs are adjusted accordingly.

BTW this PR closes #184 , #168 , and also #55 in a roundabout way since user now specifies which boundaries they want, and the MOM inputs are adjusted accordingly.

the closes #XYZ either needs to be in the first comment of the PR or we need to manually link the issues with the PR

Yes it's a huge PR! We did have this broken down into smaller PRs on the CROCODILE fork, which we reviewed and merged one by one over the last couple of months. Unfortunately these PRs might not be useful for us to break up this big one any more, because we did need to do a lot of merging given that @manishvenu and I were working in parallel on several changes.
It's still in draft state for now while we polish it (build on the properties for each input which is WIP, add more comments, remove commented out code, review the demos etc) but thought it could be good to get the ball rolling on the review.

OK, when is ready to review we can talk again? Huge PRs are harder to review though and take longer...

Is there a way you suggest that we break up the PR?

Each of the major features mentioned in the first comment sounds like could be a PR? Just a suggestion..

Ability to code without greek letters

haha, sorry if I introduced this difficulty to devs

Is this still being verified? I can't wait

Thanks for prompting!
I am close to having an example notebook that goes through the new features.
@navidcy  – I have something to run by you. The new features we want to demonstrate in an example notebook are a) tides, b) rotated grids and c) user can input own grid
Using the existing Tasman example, we can add a couple of lines to generate the tidal forcing to tick off a. To tick off b and c I am creating an example rotated grid for the user to input.  There is only one small difference between a user-inputted grid and a grid generated by this toolbox – so we are suggesting that we include a comment to explain this on the existing notebook rather than creating 2 separate example notebooks.
Will this work for you? When I have it, I will upload the example notebook for everyone to comment.

谢谢你的提示！ 我马上就要有一本介绍新功能的示例笔记本了。
@navidcy – 我有事要跟你讲。我们想在示例笔记本中演示的新功能是 a) 潮汐、b) 旋转网格和 c) 用户可以输入自己的网格
使用现有的 Tasman 示例，我们可以添加几行来生成潮汐力以单击 a。要单击 b 和 c，我正在创建一个示例旋转网格供用户输入。用户输入的网格和生成此工具箱网格之间只有一个小差异 - 因此我们在现有笔记本中添加一条注释建议来解释这一点，而不是创建 2 个单独的笔记本笔记本。
这对你有用吗？当我有的时候，我会上传笔记本供大家评论。

Yes, thank you, this should be very useful, I urgently need a tidal boundary to run a model

Is this still being verified? I can't wait

Hi, you can use branch of the code as it currently is. It's stable for domains with boundaries parallel to lines of constant lat and lon, but has had issues on curved boundaries so far. That's what is holding up the merge, but if you need tides right now then no reason to wait for this


lambda.invoke throws InvalidSignatureException if invocation / log type is set

Describe the bug
Doing this:
let request = Lambda.InvocationRequest(functionName: lambdaFunctionName, invocationType: .event, payload: payload)
// OR:
let request = Lambda.InvocationRequest(functionName: lambdaFunctionName, logType: .tail, payload: payload)

lambda.invoke(request)

Fails every time with InvalidSignatureException: , The operation couldn’t be completed. (AWSSDKSwiftCore.AWSResponseError error 1.).
If I leave the logType or invocationType as the default (nil), the operation succeeds. I can see that these two parameters are being added internally as a header to the request to AWS. It appears they will be signed alongside the payload and other request headers. I can only imagine that something is being including in the signature that should be left unsigned, but I must admit I have no idea how this signing normally works.
Invoking the function as an event via the CLI or other APIs succeeds.
To Reproduce
See above. All lambda functions fail when specifying invocation or log type. I've tried different lambda functions all in the eu-central-1 region.
Expected behavior
I need to be able to specify the event invocation type for asynchronous operations.
Setup (please complete the following information):

OS: mac OS Catalina 15.2
Version of aws-sdk-swift: .package(url: "https://github.com/swift-aws/Lambda.git", .upToNextMajor(from: "4.0.0"))
Authentication mechanism: credentials from the CLI as stored with aws configure. I do have two sets of credentials stored, but the SDK seems to be using the correct credentials (the default)

Additional context
I tried adding the logging middleware but it didn't really help:
Request:
  Invoke
  POST https://lambda.eu-central-1.amazonaws.com/2015-03-31/functions/---MY-FUNCTION---/invocations
  Headers: [
    X-Amz-Log-Type : Tail
  ]
  Body: data (260 bytes)

I updated to 4.2.1 (which seems to be the latest) and I get a more detailed error reponse, but still the same error:

Request:
Invoke
POST https://lambda.eu-central-1.amazonaws.com/2015-03-31/functions/----/invocations
Headers: [
X-Amz-Log-Type : Tail
]
Body: data (260 bytes)
Response:
Status : 403
Headers: [
Connection : close
Date : Fri, 20 Mar 2020 00:17:11 GMT
Content-Type : application/json
x-amzn-ErrorType : InvalidSignatureException
Content-Length : 192
x-amzn-RequestId : a03f0d4b-0418-407f-b590-2cdf8da4e087
]
Body:
{"message":"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details."}
InvalidSignatureException: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
The operation couldn’t be completed. (AWSSDKSwiftCore.AWSResponseError error 1.)
InvalidSignatureException: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
InvalidSignatureException
InvalidSignatureException: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
Optional("The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.")

@ephemer Thanks for posting this. I'll have to investigate but your comments about removing certain headers do make sense.
Could you add the headers X-Amz-Log-Type and X-Amz-Invocation-Type to the following array in the 4.x.x branch of aws-sdk-swift-core https://github.com/swift-aws/aws-sdk-swift-core/blob/ce148f908d84c582debacae8c5433e9c79031a2c/Sources/AWSSDKSwiftCore/Signers/V4.swift#L34 and see if that fixes it.

If you could also test InvocationRequest.clientContext along with header X-Amz-Client-Context that'd be great.

Hi @adam-fowler, thanks for your quick response here!
I will happily give that a try, I need to figure out how to get this building locally though so I can make the change. I remember SwiftPM had a feature for this but I haven’t used it in years..

I will happily give that a try, I need to figure out how to get this building locally though so I can make the change. I remember SwiftPM had a feature for this but I haven’t used it in years..

.package(path: “path-to-local-repo)

@ephemer looks like this might be an issue with the actual signer. The lambda calls work fine on the master branch which has a new signing code. The 4.x.x release branch is broken. Given I have a working signer I should be able to fix the 4.x.x version as well.

@adam-fowler awesome! What do you need from me for this?

I think I can take it from here.

The issue was the signer needs to create a canonical request string which include the requests headers listed in two different places. These both have to be in the same order. One of these was being ordered before all the strings were lowercased and one was being ordered after all the strings were lowercased. I'm rather surprised this has never come up before.
This fix is on the 4.x.x branch at the moment. I'll do a release in the next few days

This is now released in https://github.com/swift-aws/aws-sdk-swift-core/releases/tag/4.2.4

@adam-fowler thanks so much for figuring this out! We ended up not calling any lambda functions at all (it was quicker to just process our work locally) but I'm sure I'll revisit this some day and am glad to see this fixed


Design: Missed the required form description because the input box was not visible (collapsed).

We recently collapsed that field, but did not updated the published page to show it is NOT required anymore.
If this persists:
We will have to bring back the text fields
Participant 5 (French flow) - Form file in slack

We could re-label this one to "Remove  string from the Publish page"

We can wait to learn if more people run into the same issue


60fps large lists scrolling

In polymer there is a core-list component ( https://www.polymer-project.org/0.5/docs/elements/core-list.html ) which can render only small subset of actual template elements (enough to fill the viewport) and reuse them as the user scrolls. In result there is 60fps large lists scrolling.
Is it possible to make something like this with riot? (render small subset of tags to fill viewport & reuse them as user scrolls)

Everything is possible. Adding the feature to the core of Riot – I don't think so. Maybe someone will write a plugin..

This component is great. One of the best I've seem.I wish that it would be available directly in the browser. I remember chrome was trying to create something like that. But we are far away from using it without the need of frameworks. So, a plugin would be nice.

One possibility would be positioning all the elements absolutely and show/hide the ones that are visible in the viewport or not. Could speed things up quite a bit,

I also do not think this will ever be part of the riot core. I will close this issue for now


treeless clone for performance and space (Github only)

I compared performance and disk space for treeless and blobless clones as described here:
https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/
Treeless clones performed slightly better and could be smaller.
Note this DOES NOT do anything with gitbox.apache.org served repositories.
Github vs gitbox full clones are twice as fast from GitHub.

#3 is better due to gitbox performance.


Automate docs with eslint-doc-generator

I built this CLI tool eslint-doc-generator for automating the generation of the README rules list table and rule doc title/notices for ESLint plugins. It follows common documentation conventions from this and other top ESLint plugins and will help us standardize documentation across ESLint plugins (and generally improve the usability of custom rules through better documentation and streamline the process of adding new rules). It has 100% test coverage. It's already used in other popular plugins like eslint-plugin-react.
Notable changes:

Moved rule categories from README to common meta.docs.category property and used eslint-doc-generator --split-by meta.docs.category to continue displaying multiple lists in the README
Moved rule descriptions from README to standard meta.docs.description property which is consumable by tooling
Enabled eslint-plugin/require-meta-docs-description for ensuring we have consistent descriptions defined in all rules

Rule doc headers now have consistent titles and helpful notices about autofixers and what configs the rules are enabled/disabled/warn in. The README rules list now has an attractive table containing much more information about the rules.

@ljharb based on my research, it's not possible to add alt text / tooltips on emojis in GitHub markdown. It could be nice but hopefully it won't be needed anyway.

Seems like there's an unrelated failure on CI with continuous-integration/appveyor/pr — AppVeyor build failed? I'd recommend merging and addressing that separately.
  1) dynamic imports no-unused-modules valid
        import App from './App';
      :
     Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

@bmish i'll rerun it til it passes :-)


[MRG] Minor adjustments to 04

Uses SimpleImputer. (Also updates the slides with SimpleImputer)
Uses plt.cm.tab10 because Vega10 was removed in matplotlib 2.2: https://matplotlib.org/api/prev_api_changes/api_changes_2.0.1.html?highlight=vega

and yeah the tab10/vega10 is everywhere. I blame matplotlib for misnaming it when they introduced it in 2.0


.github/workflows: let renovate update kind

Add required renovate annotations such that kind_version will be updated automatically in GH action workflows.

Nice! partying_face Is it difficult to add the same here?

We'd need to set up renovate for that repo but then it should be too difficult to add.

/test


TensorFlow 2 Support for DQN

Are there any plans to add TF2 support for the DQN algorithm? TF1 lacks support for a wide array of complex functions like AdamW.

Hi @rajfly,
Not by us, but this would make a very welcome contribution. I assume it would be fairly straight-forward to update the current version.
If this is something that would benefit you, please submit a PR because we will soon have to deprecate all the TF1 implementations, and it could become the new default DQN.

Closing due to inactivity. Please re-open if you want to keep discussing!


Add onExpand and onCollapse callbacks

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

43 of 43 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 98.011%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
1330

Relevant Lines:
1357

💛  - Coveralls


An issue on Resume Training

Hi,
I have a question on resuming training on previous trained models. As my GPU server constrains the running time for each job, I have to resume the training process to get the desired epoch (40). I set the 'resume' parameter to the model path of previous epoch.
Under this circumstance, I wonder is there other parameters I should change for the taining? (i.e. the learning rate? I wish to use the learning rate set for the previous epoch. ) Should I change the parameter 'total_epochs ' ? Should the number '1' in 'workflow = [('train', 1)]' be reset to the number of the next epoch?
Thank you very much!

In the resume mode, the settings will be kept the same with the previous settings saved in ckpt, so any change in the cfg will not work.
If you want to use new settings, you can use finetune mode, any change in the cfg will work.

Yes, the resume mode is exactly what I want, so I just need to set
'resume_from = ' to the model path, and keep 'finetune=' to None?
sconly<EMAIL_ADDRESS>于2021年2月18日周四 上午11:07写道：

In the resume mode, the settings will be kept the same with the previous
settings saved in ckpt, so any change in the cfg will not work.
If you want to use new settings, you can use finetune mode, any change in
the cfg will work.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sconlyshootery/FeatDepth/issues/36#issuecomment-781011946,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFL64657B6TENIQQQWLW3B3S7SAAPANCNFSM4XTIB4BA
.

Yes, that is right.


Visual studio python debugger error

This issue has been moved from a ticket on Developer Community.

[severity:I'm unable to use this version]
I followed the steps to install visual studio, and installed the python package, however, whenever I attempt to run any code whatsoever, an error pops up saying
"

"
and it gives me the error code "The program 'python.exe' has exited with code<PHONE_NUMBER> (0xffffffff)"
How can I fix this?

Original Comments
Feedback Bot on 12/20/2022, 06:12 PM:
(private comment, text removed)

Original Solutions
(no solutions)

Screenshot from the feedback ticket:

Hi there, are you using Python 3.6 or lower? Could you try with python 3.9? Thanks!

This works on Python version 3.7 and higher. The older versions of Python are not supported in PTVS.


Moved the subspace parent trigger outside the if condition

Should fix Ran's problem with the subspace children view in the UI

Amend the commit message + add tests to ResourcePool to make sure the required behavior does not break in the future

/lgtm
/approve


Support OIDC login

Is your feature request related to a problem? Please describe.
The Teckids community would like to host Manyfold for its community, which includes minors as young as 7 years. A self-hosted solution, in contrast to Thingiverse or other commercial offers, generally allows access for young people, and Teckids as an organisation has the capacities and compentences to provide services for children. Hence, Manyfold is a perfect match to get children equally involved ind 3D modelling, printing and re-using/sharing.
However, for safety reasons, Teckids also requires tight identity management and consent tracking, which we do through our central IdM and SSO platform. Hence, all platforms we host must support SSO logins.
Describe the solution you'd like
Manyfold should provide support for OIDC logins, probably through the Omniauth library.
Additional context
Teckids might be able to sponsor the implementation in Manyfold.

I'm having a go at this with autodiscovery and Auth0; I'll let you know when there's something to try!

So, I've got a draft PR in https://github.com/manyfold3d/manyfold/pull/2946 that works locally! Bit more tidying up to do, and edge cases to handle, but then I'll merge it in and if you like, you could try an experiment with the edge docker tag, see if it works for you?

Great! Let me know once the image is tagged.

I have added a preliminary review of the PR.

Thanks for the review, it was really helpful! Don't often get those working on my own :)
The PR is merged now, so the edge build has OIDC support ready to test. See the PR for details of the new environment variables you'll need to set to enable it. Let me know how it goes!


Tsylia / Fix block/unblock service provider by admins

made the SendNotification method in the ProviderService asynchronous to ensure proper functionality of the ServiceProvider\Block endpoint;
in the previous pullrequests the Provider\StatusUpdate endpoint was moved to a new one PublicProviderController\StatusUpdate for the state providers (to approve or send it for editing) and to a new one PrivateProviderController\LicenseStatusUpdate for the private providers.

See no issues with the code, but please improve test coverage


ng-change triggers when picker is opened first time (just open not change) (AngularJS)

Setting defaultDate property resolves it.
Though it was already set via ng-model binding


Create event set time and date issues

When creating a new event, some actions around the time and date of the event will cause the date to jump back to the current date, or the time to jump back to midnight. This is a big issue because if the user saves the event with the wrong date, the email notifying all users of the event will be wrong, and the user won't get notified that the date or time has changed unless they register for the event. Fix the date changing behavior, then also fix it so that people not signed up for the event get notifications for it as well

Looks like the Events request is being submitted with the incorrect date/time info as well:


Code quality/static analysis/etc tool integration

Codacy is a top candidate.
Before configuring Codacy (or any similar tool), it is necessary first to configure Jacoco in Mocca.
Jacoco configuration was actually already present in the original version of Mocca.
However, it had to be removed (see this commit) during a Gradle upgrade because it was incompatible with Gradle 7.1.

A few useful notes:

Before integrating with Codacy, we need to enable Jacoco first. Mocca used to have Jacoco configuration, but that got removed when we upgraded version from version 5 to 7 (see commit in the description).
Here you can see how to enable Codacy during Travis CI builds (Codacy CODACY_PROJECT_TOKEN auth token environment variable also needs to be added in Travis CI).

@fabiocarvalho777 If easy, are you willing to do this?  I have some reasons why I don't want to do this right now:)

@crankydillo I am too busy working with https://github.com/OpenFeign/feign/issues/1448.
@abhijith-prabhakar could you work on this issue?


Image Pull Secret Not Wroking

If I use private registry for the image and use Kubernetes secret to access the image. It is giving no basic auth error while getting image manifest.

Which image of Spark are you using? The config property for specifying image pull secret is only available in the master branch of Spark.

Closing this. If you find a different cause please reopen it.


Drivers/PCIE: read/write 8/16/32 bit word to an endpoint's configuration space

Is your enhancement proposal related to a problem? Please describe.
Right now there are only the functions pcie_conf_read/pcie_conf_write to read/write a 32 bit word to an endpoints configuration space. It would be good to have similar functions for 8 and 16 bit words aswell.
What should be the meaning of unsigned int reg for these functions. There are the following two options:

same index for all functions, so the same index for each version of the function uses the same base address and only reads different lengths of data (for 16 bit words the provided index has to be 16 bit aligned and for 32 bit words 32 bit aligned). This is how similar functions e.g. in Linux work (pci_read_config_byte, pci_read_config_word, pci_read_config_dword)
Base this index on the word size, like it is currently done for pcie_conf_read/pcie_conf_write. So the index 4 for 8 bit words is the same as the index 2 for 16 bit words, which is the same as the index 1 for 32 bit words.

Should all functions return error codes (e.g. for misaligned data or wrong indexes). The current behaviour for pcie_conf_read is that it will read ~0x0U when there is an error, while pcie_conf_write would simply not write the data into the register without returning an error.
What should happen with the current functions pcie_conf_read/pcie_conf_write. It implements the same function that would be implemented by pcie_conf_read_32/pcie_conf_write_32. However in case option one is used for the indexes, they would have a different meaning for pcie_conf_read/pcie_conf_write and pcie_conf_read_32/pcie_conf_write_32. So when we want to use the current defines for the config registers with the new api they would have to be changed (multiplied with 4), which would break the current API.
Describe the solution you'd like
Add the functions:

uint8_t pcie_conf_read_8(pcie_bdf_t bdf, unsigned int reg);
uint16_t pcie_conf_read_16(pcie_bdf_t bdf, unsigned int reg);
uint32_t pcie_conf_read_32(pcie_bdf_t bdf, unsigned int reg);
void pcie_conf_write_8(pcie_bdf_t bdf, unsigned int reg, uint8_t data);
void pcie_conf_write_16(pcie_bdf_t bdf, unsigned int reg, uint16_t data);
void pcie_conf_write_32(pcie_bdf_t bdf, unsigned int reg, uint32_t data);

As an alternative in case we want to return error codes (e.g. when a misaligned reg is passed to the function)

int pcie_conf_read_8(pcie_bdf_t bdf, unsigned int reg, uint8_t *data);
int pcie_conf_read_16(pcie_bdf_t bdf, unsigned int reg, uint16_t *data);
int pcie_conf_read_32(pcie_bdf_t bdf, unsigned int reg, uint32_t *data);
int pcie_conf_write_8(pcie_bdf_t bdf, unsigned int reg, uint8_t data);
int pcie_conf_write_16(pcie_bdf_t bdf, unsigned int reg, uint16_t data);
int pcie_conf_write_32(pcie_bdf_t bdf, unsigned int reg, uint32_t data);

Describe alternatives you've considered
Pass the size to pcie_conf_read/pcie_conf_write as additional argument

It would be good to have similar functions for 8 and 16 bit words aswell.

To change an existing API, you'll need to explain a bit better the reason for it.
In earlier versions of Zephyr we used to have such size r/w functions (it was PCI only though, not PCIe), if I remember well.
And so far, moving away of these in the new API did not prove to be problematic. It means users have to use mask/shift. It's a different approach.

Your right with the current API it is already possible to access smaller areas by reading 32 bit and then using mask/shift to access the correct area. I prefer this api for the following reasons:

I personally find it more straightforward to read the correct register config directly instead of reading the whole register and then extracting the value. Even though that might just be a personal preference. An advantage is, that the user can choose his prefered way of accessing them, since he can still use pcie_conf_read_32 and extract the contents using mask/shift aswell.
Writing areas of less than 32 bit currently requires to read the register, change it and then to write it back.


You have reached your pull rate limit

Describe the Bug
The image pull limit reach sometimes restrict users from running ray notebooks. Need to update the image in the basice-template to use quay.
Codeflare Stack Component Versions
Please specify the component versions in which you have encountered this bug.
Codeflare SDK:
MCAD:
Instascale:
Codeflare Operator:
Other:
Steps to Reproduce the Bug
Ran notebok https://github.com/project-codeflare/codeflare-sdk/blob/main/demo-notebooks/guided-demos/2_basic_jobs.ipynb
Failed to pull image "busybox:1.28": rpc error: code = Unknown desc = reading manifest 1.28 in docker.io/library/busybox: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
What Have You Already Tried to Debug the Issue?
Yes
Expected Behavior
A clear and concise description of what you expected to happen instead.
Screenshots, Console Output, Logs, etc.
The ray cluster failed to start
oc get pods                                 api.jimmed.cp.fyre.ibm.com: Fri Aug 25 15:27:16 2023

NAME                    READY  STATUS         RESTARTS  AGE
jobtest-head-h57v2             1/1   Running         0	   4m24s
jobtest-worker-small-group-jobtest-gzztj  0/1   Init:ImagePullBackOff  0	   4m24s
jobtest-worker-small-group-jobtest-wft9m  0/1   Init:ImagePullBackOff  0	   4m24s

Affected Releases
List any release versions, git commit hashes, or git tags, etc. that you know show the bug. If it is the latest HEAD on main, just put that.
Additional Context
Add as applicable and when known:

OS: 1) MacOS, 2) Linux, 3) Windows: [1 - 3]
OS Version: [e.g. RedHat Linux X.Y.Z, MacOS Monterey, ...]
Browser (UI issues): 1) Chrome, 2) Safari, 3) Firefox, 4) Other (describe):  [1 - 4 + description?]
Browser Version (UI issues): [e.g. Firefix 97.0]
Cloud: 1) AWS, 2) IBM Cloud, 3) Other (describe), or 4) on-premise: [1 - 4 + description?]
Kubernetes: 1) OpenShift, 2) Other K8s [1 - 2 + description]
OpenShift or K8s version: [e.g. 1.23.1]
Other relevant info

Add any other information you think might be useful here.

OK - I think that would do it - if we modify all the image: busybox:1.28 to quay.io/quay/busybox:latest in https://github.com/project-codeflare/codeflare-sdk, then pulling and using the codeflare-sdk, won't run into this docker rate limit issue.

Have created PR 330 to address the issue - testing now.

I found it easier to just start brand new with PR 402 - testing is looking good - ready for review.

Completed


[Docs]: Using HTTP scheme instead of HTTPS in the Appsmith Community Edition installation guide using Docker

Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
https://docs.appsmith.com/getting-started/setup/installation-guides/docker
Discord/slack/intercom Link
No response
Describe the problem and improvement.
During the installation and run of Appsmith Community Edition locally using Docker, In the last step (3rd), when we want to open the Appsmith in the browser, the link with the HTTPS scheme (https://localhost) does not work, and it should be the HTTP scheme (http://localhost).
This improvement provides a better experience for those who want to install and run Appsmith Community Edition locally using Docker for the first time.

closed by https://github.com/appsmithorg/appsmith-docs/pull/1753


Help me

I code in terminal:
dotnet new webapp -o MyWebApp --no-https -f net7.0
Error:
A fatal error occurred. The folder [/usr/lib/dotnet/host/fxr] does not exist.
Please, so me what I should do!
Thanks a lot!
Note: version Linux

Hello @HODUCVU - Did you make sure to install the .NET SDK and not the runtime?

sudo apt remove dotnet-sdk* dotnet-host* dotnet* aspnetcore* netstandard*
sudo apt remove aspnetcore*
sudo apt remove netstandard*
sudo apt remove dotnet-host8*
sudo apt purge dotnet-sdk* dotnet-host* dotnet* aspnetcore* netstandard*
sudo rm -f /etc/apt/sources.list.d/mssql-release.list
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo rm /etc/apt/sources.list.d/microsoft-prod.list.save
sudo apt update
Instal by App Center: .Net Core SDK, Stable 8.0.101
there is no need for other installations!
(sudo snap install dotnet-sdk #Installed by App Center
sudo apt install dotnet-sdk-8.0 #Installed by App Center
sudo apt install dotnet-host-8.0 #Installed by dotnet-sdk-8.0)
dotnet workload update
source ~/.bashrc
dotnet sdk check
.NET SDKs:
Version      Status
8.0.100      Patch 8.0.101 is available.
dotnet --info
.NET SDK:
Version:           8.0.100
Commit:            57efcf1350
Workload version:  8.0.100-manifests.6c33ef20
OS Platform: Linux
RID:         linux-x64
Base Path:   /snap/dotnet-sdk/233/sdk/8.0.100/
Host:
Version:      8.0.0
Architecture: x64
dotnet --list-sdks
8.0.100 [/snap/dotnet-sdk/233/sdk]
dotnet --version
8.0.100


face_recognition.py crashes when calling compute_face_descriptor

Version: 19.21, 19.22, 19.23
Where did you get dlib: pip install dlib with python 3.8 in PyCharm
Platform: Windows 10 x64
Compiler: Visual Studio 2019 v142
CUDA: 10.2, 11.6

When running the face_recognition.py example, the program crashes after some seconds (5-10) on the function compute_face_descriptor
Here is the output:
Processing file: C:/Projects/dlib_test/images\image.jpg
Number of faces detected: 1
Detection 0: Left: 123 Top: 430 Right: 1503 Bottom: 1810
About to call facerec.compute_face_descriptor(img, shape)

Process finished with exit code -1073740791 (0xC0000409)

I added printouts before the function call and also stepped in debug to verify that it does not go past the compute_face_descriptor function.
I have tried with several different versions of CUDA and dlib and they all fail the same way.
Edit
I might add this only happens when dlib is built with CUDA enabled (which is the default build).
Built without CUDA enabled it runs without any errors.

I tried this again, but now using Anaconda and anaconda's own cudatoolkit and cdnn libaries, and now everything runs fine.
Might be some issue with the Windows CUDA libraries.


Update README.md

Added my name to readme file

Thanks for your contribution 😊. Don't forget to ✨ our Repository.
If you want to contribute to our new Ideas Project -https://github.com/KapilKumar7/CreativeAppIdeas


Update Modules

アップデートくそ大変だった。たぶん動くんじゃないかな～?

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4bcac0c). Click here to learn what that means.
The diff coverage is 69.04%.

@@            Coverage Diff            @@
##             master      #15   +/-   ##
=========================================
  Coverage          ?   45.43%
=========================================
  Files             ?       14
  Lines             ?     1237
  Branches          ?      231
=========================================
  Hits              ?      562
  Misses            ?      537
  Partials          ?      138

Impacted Files
Coverage Δ

lib/slackMock.js
100% <100%> (ø)

mahjong/index.js
31.66% <100%> (ø)

pocky/index.js
76.27% <100%> (ø)

emoji-notifier/index.js
100% <100%> (ø)

tiobot/index.js
95.65% <100%> (ø)

checkin/index.js
91.66% <100%> (ø)

sushi-bot/index.js
70% <28.57%> (ø)

math/index.js
64.06% <40%> (ø)

shogi/index.js
17.81% <40%> (ø)

tahoiya/index.js
32.46% <66.66%> (ø)

... and 1 more

Continue to review full report at Codecov.

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


Fixed failed parent setting children to NS/ Failed not remaining PBC

Merged with VG master

Solved by #40


:recycle: Chore: Update example app to use config file

Description
Use tevm.json in vite config
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #761   👈

This stack of pull requests is managed by Graphite.


Remote Desktop new version not removing old version

[Enter feedback here]
Deploying via SCCM we noticed that the new msi will not remove the old Remote Desktop client.
is there a switch option on the msi for this?

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

ID: b56197c8-e490-f6fe-a494-a8aa584a8faa
Version Independent ID: 46d1a544-517b-a4eb-68a2-cd7194aca44b
Content: Windows Desktop client for admins
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/windowsdesktop-admin.md
Product: windows-server
Technology: remote-desktop-services
GitHub Login: @Heidilohr
Microsoft Alias: helohr

I believe that would have to be the msiexec.exe command line options, because launching the downloaded file and running it from the command line produced the following options in a dialog box to me:
Windows ® Installer. V 5.0.19041.1

msiexec /Option <Required Parameter> [Optional Parameter]

Install Options
	</package | /i> <Product.msi>
		Installs or configures a product
	/a <Product.msi>
		Administrative install - Installs a product on the network
	/j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
		Advertises a product - m to all users, u to current user
	</uninstall | /x> <Product.msi | ProductCode>
		Uninstalls the product
Display Options
	/quiet
		Quiet mode, no user interaction
	/passive
		Unattended mode - progress bar only
	/q[n|b|r|f]
		Sets user interface level
		n - No UI
		b - Basic UI
		r - Reduced UI
		f - Full UI (default)
	/help
		Help information
Restart Options
	/norestart
		Do not restart after the installation is complete
	/promptrestart
		Prompts the user for restart if necessary
	/forcerestart
		Always restart the computer after installation
Logging Options
	/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
		i - Status messages
		w - Nonfatal warnings
		e - All error messages
		a - Start up of actions
		r - Action-specific records
		u - User requests
		c - Initial UI parameters
		m - Out-of-memory or fatal exit information
		o - Out-of-disk-space messages
		p - Terminal properties
		v - Verbose output
		x - Extra debugging information
		+ - Append to existing log file
		! - Flush each line to the log
		* - Log all information, except for v and x options
	/log <LogFile>
		Equivalent of /l* <LogFile>
Update Options
	/update <Update1.msp>[;Update2.msp]
		Applies update(s)
	/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
		Remove update(s) for a product
Repair Options
	/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
		Repairs a product
		p - only if file is missing
		o - if file is missing or an older version is installed (default)
		e - if file is missing or an equal or older version is installed
		d - if file is missing or a different version is installed
		c - if file is missing or checksum does not match the calculated value
		a - forces all files to be reinstalled
		u - all required user-specific registry entries (default)
		m - all required computer-specific registry entries (default)
		s - all existing shortcuts (default)
		v - runs from source and recaches local package
Setting Public Properties
	[PROPERTY=PropertyValue]

Consult the Windows ® Installer SDK for additional documentation on the
command line syntax.

Copyright © Microsoft Corporation. All rights reserved.
Portions of this software are based in part on the work of the Independent JPEG Group.

Judging by the following section, you might be able to treat the previous version as an older update package to be removed:
Update Options
	/update <Update1.msp>[;Update2.msp]
		Applies update(s)
	/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
		Remove update(s) for a product

From my point of view, you may want to experiment with the following line of options:
/uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>

A bit disappointed that an MS msi for an MS app is not removing the old version during installation.
I have tried many way with msiexec command and cannot find a way to remove the old version.
This is supposed to be an enterprise application so expect it to be deployed by a central system to many machines.
Please can you look into this and reply back with a solution?
Many thanks,
M

Please use a real support instance like Microsoft Support or Microsoft Forums. This repository is intended for documentation improvement only.
Wish I could help, but this repository is not intended for regular support issues, support requests or support questions.
You may want to look elsewhere for answers, unless you have suggestions for improving one or more specific pages in the MS Docs repository.
Disclaimer: I am not affiliated with Microsoft or the Microsoft Docs teams here on GitHub.
The intention of this repository is to improve on the existing documentation by providing the users a way to report factual errors, improvement suggestions and request updates for new versions.
The MS Docs team members might not have time to answer your question, both due to the small size of the team and the big workload.
Try the following resources to get in touch with users who may be able to help you:

TechNet forums: https://social.technet.microsoft.com/Forums/en-US/home
MSDN: https://social.msdn.microsoft.com/Forums/en-US/home
Microsoft Community: https://answers.microsoft.com/

You may also want to consider reporting this via the Feedback Hub, which is a reporting tool directed towards the developers.
If the developers can be alerted of this issue by enough users, it should catch their attention and make them work on software improvements.
Also, if you contact Microsoft Support about this, they may also direct the question to the developers, but I don't know which path they recommend.

#assign:xelu86

Hey Maelito77,
Thanks again for contacting Microsoft, we value your feedback.
You have described an issue with a product or service rather than our documentation. Please see our GitHub content feedback guidelines. As this is a non-documentation issue, we’ll now be closing this thread.
Thank you and have a most pleasant day.
#please-close


It's possible change OS to UBUNTU

Hello Sir,
i wanna mount a nfs in my network, or bind some nfs in my host to direct to a folder in container. But when i bind show me:
/tmp #  echo oi4 > /mnt/ps4/mnt/usb0/oi4
/bin/sh: can't create /mnt/ps4/mnt/usb0/oi4: Not supported
i realize that Alpine its not a good OS to do this, can u help me to change OS system to a ubuntu or debian ?

I don't think the problem is Alpine.  A lot of people are using NFS mount successfully with the container.
You need to mount the NFS on the host and then add a volume mapping to it when you create the container.
Can you share the docker run command you used to create the container ?

Closing this issue.  Please re-open if needed.


Upload and manuplate configurable forms

Addresses issue https://github.com/onaio/reveal-frontend/issues/900


"transition superseded" errors with ui-router

Note that if you don't handle "transition superseded" and related errors from ui-router in "onPossiblyUnhandledRejection", you'll get a few of these errors from ui-router.
Something like this will eliminate the errors:
$q.onPossiblyUnhandledRejection(function(exception) {
  if(exception.message.match(/transition (superseded|prevented|aborted|failed)/)) {
    return;
  }
});

See https://gist.github.com/metamatt/6ab462818114833b7ee1 for other folks seeing this issue with bluebird and ui-router. Not sure if this is something angular-bluebird-promises should tackle.

I agree that this isn't something this module should handle, but it does belong in the readme.
Thanks for pointing it out! :smile:

@mattlewis92  so are we supposed to handle this as demonstrated by @reynoldsalec ?

If you upgrade to ui-router 0.3.2 it's actually been fixed there: https://github.com/angular-ui/ui-router/commit/66ab048

On 17 Jan 2017, at 10:20, Mr_Green<EMAIL_ADDRESS>wrote:
@mattlewis92 so are we supposed to handle this as demonstrated by @reynoldsalec ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@mattlewis92 Could you please tell me how to update to that version?

It depends on your project and what package manager (bower, npm etc) you're using.

On 17 Jan 2017, at 16:15, jackalvarez<EMAIL_ADDRESS>wrote:
@mattlewis92 Could you please tell me how to update to that version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Added CSS styles for job listing #55

did everything. added search button that actually works. dynamic job cards.

@KajalDeore04 okay looks good please mention your issue number

in comment


[cinder-csi-plugin] Cannot rotate secret dynamically

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug

/kind feature

What happened:
When I delete or rotate the Openstack application credential, I updated the cinder-csi-cloud-config secret but it does not receive the new credentials.
What you expected to happen:
I was expecting it to continue dynamically with new credentials without restarting any pods
How to reproduce it:
I installed the Cinder CSI Plugin, then deleted the applicaiton credential, then created a new credential and updated the secret
Anything else we need to know?:
Environment:

cinder-csi-plugin version: 2.30.0
OpenStack version: 6.6.0
Others:

not sure I fully understand this .. you had a application ID in CSI then it expired and you replace the new application ID but it doesn't work?

Yes, that's right

did you try kill the pod then reload it o ensure at least in this way it works?
I think it's in cloud-config which should reload when pod restart?

It will be fixed after pod restart, but can't it dynamically get the current secret without doing that?

that will need recreate the openstack client which I think it's not currently supported, folks can comment if my understanding is correct


process_start_time_seconds Metric Collected Twice Due to ServiceMonitor Changes in Commit 43f2094

With the latest update commit https://github.com/prometheus-operator/kube-prometheus/commit/74e445ae4a2582f978bae2e0e9b63024d7f759d6, the ServiceMonitor for the kube-apiserver has changed. This change is causing issues as the process_start_time_seconds metric is now being collected twice: once from the /metrics path and once from the /metrics/slis path. Additionally, it is somewhat confusing to see that the newly added configuration for scraping metrics from the /metrics/slis path is set to run every 5 seconds, while the /metrics path is scraped every 30 seconds.
  - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    interval: 5s
    path: /metrics/slis
    port: https
    scheme: https
    tlsConfig:
      caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
      serverName: kubernetes

Debug log from out Prometheus server
ts=2024-09-03T08:51:39.348Z caller=scrape.go:1760 level=debug component="scrape manager" scrape_pool=serviceMonitor/monitoring/kube-apiserver/0 target=[https://<IP_ADDRESS>:443/metrics](https://<IP_ADDRESS>/metrics) msg="Out of order sample" series=process_start_time_seconds

Metrics in the related paths
rgarcia$ curl -s -k -H "Authorization: Bearer $(cat tokenfile-scn)" https://<IP_ADDRESS>:443/metrics/slis | grep process_start_time_seconds
# HELP process_start_time_seconds [ALPHA] Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.72534614475e+09

rgarcia$ curl -s -k -H "Authorization: Bearer $(cat tokenfile-scn)" https://<IP_ADDRESS>:443/metrics | grep process_start_time_seconds
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.72534615776e+09

It seems like the changes were introduced by this commit https://github.com/prometheus-operator/kube-prometheus/commit/43f209462974360682bbec4e79dc048355849a78 from @dgrisonnet.
I would suggest to drop process_start_time_seconds from the /metrics/slis path to avoid further issues.

Thank you for reporting, I didn't run into this issue whilst testing locally.
The reasoning behind the different scrape interval is that the /metrics/slis endpoint exposes way less metrics but ones that are important to scrape at high frequency. You can read more about this fairly new endpoint in https://kubernetes.io/docs/reference/instrumentation/slis/.
It appears that the proess_start_time_seconds was intentionally added as part to address https://github.com/kubernetes/kubernetes/issues/122520, but looking at it again, it seems that we might've been wrong.
I'll update the ServiceMonitor to drop the metric and follow-up in Kubernetes on whether we should fully drop this metric or not.


Rename hostname to be host and fix use of hostname parm in API

Allow host to be passed in on assign ip methods.

Fixes #57

Can you confirm that other than the variable renaming and test updates, the only changes are

add host to auto_assign (+ update the affinity check)
add host to _auto_assign_block (+ pass through)
remove a couple of depracated methods?

Yes that's it + curresponding text reworking to talk about host ID rather than hostname

OK, so if a user consistently passes in their own host parameter, they could use whatever values they want and get_hostname() will never be called?
If so, LGTM.

@tomdee, yes that's correct.
Merging.


Tab/Keyboard control:  The play button on screen should indicate initial focus

When opening the player, the play button on screen should indicate initial focus.
@karendolan

Fixed in version 1.43


app.nit: improve apps life-cycle

Modify the app.nit life-cycle callbacks to add on_restart, and to remove on_start and on_destroy. on_restart is called when the app goes comes back from a on_stop. on_start duplicated other callbacks (on_create and the new on_restart), plus it didn't have a direct equivalent  in iOS. on_destroy also didn't have an iOS equivalent. These changes simplify the life-cycle and use only callbacks existing on both platforms.
This PR also improves the documentation of the app.nit life-cycle with a nice little graph and references to the platform specific triggers.

test osx please

+1


(Fix #876) dataset: Allow for non-scalar beta and make num_treatments optional

I have fixed the scalar issue and also resolved the redundancy between num_treatments and beta by making num_treatments optional and inferable from beta. If num_treatments is provided, beta is silently recycled to num_treatments as before.

Hey bot! PR closed as stale? Not cool :sob:

Sure. No problem :smiley_cat: Thanks for approving!


CB-7853 Too broad access rights to recipes

See detailed description in the commit message.

Thanks @doktoric Jozsef!


Error: Failed to create/update the stack: sam-apps, Waiter StackCreateComplete failed:

When I run the sam deploy guided Im getting this error.
Resource handler returned message: "Specified ReservedConcurrentExecutions for function decreases account's UnreservedConcurrentExecution below its minimum value of [50]. (Service: Lambda, Status Code:
400, Request ID: 1b9ad4b0-e608-4ccd-a4c5-82a489849a4a5,Extended Request ID: null)" (RequestToken:c05a49b4-5541-22ec-4ad7-2e9d90ab9810,
HandlerErrorCode:      InvalidRequest)
Resource creation cancelled
The following resource(s) failed to create: [AddToESFunction, BatchingFunction, ProcessPDFFunction,AddToQueueFunctionRole, ProcessJPGFunction,ProcessDOCXFunction, queryESFunction].
This is my lambada get account settings
{
"AccountLimit": {
"TotalCodeSize":<PHONE_NUMBER>0,
"CodeSizeUnzipped": 262144000,
"CodeSizeZipped": 52428800,
"ConcurrentExecutions": 50,
"UnreservedConcurrentExecutions": 50
},
"AccountUsage": {
"TotalCodeSize": 0,
"FunctionCount": 0
}
}
In my Lambda service quotas for concurrent executions , my applied quota values is 50 only however I've a default quota values of 1000(AWS default quota value)
Is there any way shall we run the program on 50 concurrent execution or increase the concurrent execution value?
Im using AWS free tier

Send a request to AWS Support to increase the quota and the issue is fixed. Hence closing.


Adjust list of Subject Alternative Names

A description of resource Certificate has foo.example.com and bar.example.com in the dnsNames section, which is different from the diagram that has example.com and foo.example.com domains. When I was looking at the schema in the article, I thought that the part related to bar.example.com is to follow, but it didn't and therefore was a bit confusing.

Thank you @aazon! I realize that I should have update the certificate examples when I added the diagram 😅
/ok-to-test

I rebased the commit and merged it in b11b7747c51c998ff8982d5eb5bb6339af512dff.
Thank you for the patch!
/close


Typo fix in DataFusion crate documentation

Which issue does this PR close?
This a simple typo fix :)
Are there any user-facing changes?
Nope !
Other
I was taking a look at the lib and reading through the docs. The project looks awesome ! And the detailed docs on the internal behavior are really good, thank you so much for this.

Thank you @antoinewdg


Fix URL to project page

This sets working URL to Apache ActiveMQ Artemis project page.

thanks :+1:


smallest numpy epsilon float?

comment from @ljwolf originally here

I think this should use the smallest numpy epsilon float, not an arbitrarily large number, which may cause problems if the x/y ranges are small.

in spaghetti.util.py

@ljwolf  Do you mean arbitrarily small or large? Currently, in util.py we have:
SMALL = 0.01

Maybe it should be:
SMALL = np.finfo(float).eps

very small indeed
In [1]: import numpy as np
In [2]: print(np.finfo(float).eps)
2.220446049250313e-16

yeah, I do. Arbitrarily-sized, is what I mean.

ahhhhh, OK. 👍


User tag Metrics builder does not return any data for the catalog-imported skills

PR: https://github.com/NationalSecurityAgency/skills-service/pull/1296

PR: https://github.com/NationalSecurityAgency/skills-service/pull/1298

:+1:


Use KO_FLAGS when run ko resolve

KO_FLAGS variable is used by the release.sh in test-infra to inject custom flags, so we need to use it.
Fixes #85
Proposed Changes

Use KO_FLAGS when run ko resolve

ERROR: (gcloud.beta.container.clusters.create) ResponseError: code=503, message=The service is currently unavailable.

/retest

ERROR: timeout waiting for pods to come up
eventing-controller-76dc5bc45d-hwzw2       1/1   Running             0     9m28s
eventing-webhook-746c5bb9bd-7dfcr          1/1   Running             0     9m24s
kafka-broker-dispatcher-85ff9f9564-4m986   0/1   ContainerCreating   0     5m19s
kafka-broker-receiver-5cc77bdd6f-rwczg     0/1   ContainerCreating   0     5m19s

/retest

/lgtm
/approve


SystemJS 0.20 support

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[x] feature request
[] support request => Please do not submit support request here, instead see use [gitter](https://gitter.im/mgechev/angular2-seed) or [stackoverflow](https://stackoverflow.com/questions/tagged/angular2)

Current behavior
I'm testing new version of SystemJs 0.20 and i have a lot of problem on my fork. Are you going to try your solution with SystemJs 0.20?

I'll play with it over the weekend.

So thanks!

I see that wildcards in paths no longer work. I can't think of a good replacement. Given the tens of deep imports that Angular does to rxjs, I don't think listing all of them is a good idea.

The latest changes discard wildcard in the paths. This means that we cannot redirect all rxjs/* requests to the corresponding bundle but instead load each module separately.
I really don't like this since it slow downs application refreshes quite a bit.

Actually my solution is to build rxjs bundle by myself. Anyway it seems that wildcard char is just removed but path works as usual: https://github.com/systemjs/systemjs/issues/1039#issuecomment-251283268
am i right?

Yes:
// option 1
paths: {
  'rxjs/': 'node_modules/rxjs/'
}

is equivalent to:
// option 2
paths: {
  'rxjs/*': 'node_modules/rxjs/*'
}

But there's no alternative of:
// option 3
paths: {
  'rxjs/*': 'node_modules/rxjs/bundles/Rx.js'
}

Option 1 will make SystemJS download each individual requested module with a separate request, instead of reusing the bundle.

Actually there are other angular starter projects using systemjs 0.20 version as: https://github.com/valor-software/angular2-quickstart
main problem is related to: https://github.com/angular/angular/issues/9359 and few issues related to RxJs and UMD package
my actual solution on my project is build RxJs bundle by my self.

Actually there are other angular starter projects using systemjs 0.20 version as: https://github.com/valor-software/angular2-quickstart

It looks like the project will send request for each module of RxJS so it hits the issue mentioned above. Let me know if I'm wrong.
Currently we build the RxJS bundle ourselves because Angular uses some nested imports which are not accessible via the UMD bundle (as far as I remember).

@meriturva any chance you could post your adapted version of seed.config here?

@negberts we are still use 0.19 version.

@mgechev i have found PR https://github.com/ReactiveX/rxjs/pull/2381 on rxjs repository related to: https://www.npmjs.com/package/rxjs-system-bundle
what do you think? are you going to give it a test with systemjs 0.20?

I don't feel comfortable includig a not official package for rxjs. Maybe it can work as temporal solution but probably a better alternative will be to build the package ourselves as part of bootstrap/initialization proceeds of the seed.

@mgechev same feeling here, and rxjs teams has rejected PR...they have to find a solution really! On my environment i use UMD packages during development that's why i have decided to implement my own build task just for rxjs.

@mgechev I made the unofficial system bundle package - and I agree with you, unofficial bundle is not a good idea. I'm eager to delete my package if RxJS starts shipped a System bundle. (Related... hopefully along with a FESM bundle, which I'm also eager for, to use with Closure Compiler.)

Again new issue on RxJs about bundle support...... https://github.com/ReactiveX/rxjs/issues/2458
fingers crossed!

Shouldn't we update to systemJs 0.20 even the RxJS issue is still opened? It got a couple of benefits and in case Rx refuses to provide a bundle we keep the included build task.

So after 4 months we are still in limbo. We have now https://www.npmjs.com/package/rxjs-system-bundle that it is downloaded quite a lot: https://npm-stat.com/charts.html?package=rxjs-system-bundle&from=2017-01-01&to=2017-04-28
but what i see is that unofficial bundle is not updated to latest version. @kylecordes could have few issues with version 5.3 but i really don't know reasons.
https://github.com/mgechev/angular-seed project still use systemjs 0.19 and no news from rxjs team.
Any advice here? i have to take a decision and i think that i will have to bundle rxjs manually on my solution... @mgechev will you still on systemjs 0.19 until a final rxjs decision? what's your feeling?

Any thoughts/progress on this, @mgechev?

Haven't worked on this one after the previous experiments. In case anyone has this already working I'd be happy to review/merge a PR.

I have to admit that other than knowing that the seed doesn't work with SystemJS 0.20+, I don't understand the problem well enough to try addressing it. Same goes with the Karma 1.7+ issue (which seems to be that wildcards in file patterns won't resolve subdirectories any longer).
In broader terms, I assume that the Webpack and Angular CLI stuff has dealt with these sorts of issues (or simply didn't have them). Are we getting to the point (or do you envision a future point) where folks should start thinking about transitioning to Webpack? I know that for a while the Webpack options were lacking, but the momentum there seems to be growing. Just curious on your thoughts there.

CLI is always an option and if you're fine with using webpack for everything I don't see a reason not to switch to if you'll feel more comfortable.

That's the thing: I've never even really looked at webpack. I assume switching would be kind of a pain since I have a fairly customized seed build and I know basically nothing about webpack right now.
I don't mean to spin this issue thread off on a tangent. I was really just wondering what your current opinion was vis-a-vis webpack. I know at least part of the initial reason for this seed was that webpack was lacking. Given where CLI/webpack is now, would you use it if you started a new project? Or would you still go with this seed project?

Actually i work on an enterprise application (quite big) and we have found that systemjs during development phase is really comfortable, easy to configure and quite fast. We have something like 40 packages developed in different npms. On final build we just would like to build app using webpack but during development systemjs is perfect on our flow. Plus we have implemented lazy loading with SystemJs.Import call in some modules. So i guess for big project it is really a must.
My two cents.

@meriturva would you have time to chat about the lazy-loading that you've implemented? Is it related to lazy-loaded routes or you've implemented any other lazy-loading strategy?

FYI https://github.com/mgechev/angular-seed/pull/1946

@mgechev we have implemented a layout where we don't know about single component loaded. It is defined by configuration calls and user permissions.
So we have to load "modules" at run-time.
Really simple example:
 SystemJS.import(menuItem.path)
                        .then((module: any) => {
                            moduleType = module[moduleTypeName];
                            componentType = module[componentTypeName];

                            return this.compiler.compileModuleAndAllComponentsAsync(<any>moduleType);
                        })
                        .then((moduleFactory: ModuleWithComponentFactories<any>) => {
                            let newModuleInjector = moduleFactory.ngModuleFactory.create(this.injector).injector;
                            let newComponentFactory = moduleFactory.componentFactories.find((componentFactory) => componentFactory.componentType === componentType);

Here some refs:
https://github.com/angular/angular/issues/12264
https://github.com/angular/angular/issues/14022
It is not so fast so we have now also a cache approach based on:
https://stackoverflow.com/questions/39678963/load-existing-components-dynamically-angular-2-final-release (see answer 2 ).
Next step is to give a try to NgComponentOutlet


PCP : Imporve the evict leader with http handler #1845

What problem does this PR solve?
PCP #1845
What is changed and how it works?
For command "scheduler add evit-leader-scheduler xx", if there exists a evit-leader-scheduler then it should only update the config of this exists scheduler, but not to create a new one.

To judge whether there exists a evit-leader-scheduler, should touch the coordinate, but update config should be the the universe method in the scheduler.Scheduler, so I add a method UpdateConfig(args []string), let all scheduler.Scheduler type object can update config.
Change the field of evictLeaderSchedulerConfig:storeID uint64 to StoreWithRanges map[uint64]core.KeyRange,  add field CandidateStore map[uint64]core.KeyRange to record new store which should be Prepare, if this store fail to prepare, it should not be added to the StoreWithRanges which will be looped at Schedule() method.
add global variable  schedulerTypeToName map[string]string to record the map from type of scheduler strategy to scheduler name, for to check whether there exists a same type scheduler without creating new scheduler.

Check List
Tests

Unit test

Side effects

Possible performance regression

Related changes

Need to update the documentation

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

Thanks @qinggniq
There may be some misunderstandings, in the origin issue, what I'm saying is that if we want to evict the leader in multiple nodes, we need to add multiple evict-leader schedulers. I would like to use only one evict leader scheduler to do the same thing.

Thanks @qinggniq
There may be some misunderstandings, in the origin issue, what I'm saying is that if we want to evict the leader in multiple nodes, we need to add multiple evict-leader schedulers. I would like to use only one evict leader scheduler to do the same thing.

Is like below?
pdctl>> scheduler add evict-leader-scheduler 1 2 3
pdctl>> scheduler remove evict-leader-scheduler

or like this :
pdctl>> scheduler add evict-leader-scheduler
pdctl>> scheduler remove evict-leader-scheduler

and the scheduler remove evict-leader-scheduler command act as I modified in this pr?

@qinggniq  You can do one test:
❯ pc-ctl scheduler add evict-leader-scheduler 6
Success!

❯ pd-ctl scheduler add evict-leader-scheduler 84
Success!
❯ pd-ctl scheduler show
[
  "balance-hot-region-scheduler",
  "balance-leader-scheduler",
  "balance-region-scheduler",
  "label-scheduler",
  "evict-leader-scheduler-6",
  "evict-leader-scheduler-84"
]

You can see there are two evict-leader schedulers,  I want to get only one evict-leader scheduler  that can do same thing as the two scheduler.

@nolouch PTAL

/run-all-test

/run-all-test

@lhy1024 @disksing PTAL

Not necessary to introduce a new mechanism. Could you implement an HTTP handler, which can update its own configuration,  like the scatter-region scheduler?  You can refer to the test example:
https://github.com/pingcap/pd/blob/2488cb9786444100f163bd5ce53faf835c1fc42f/server/api/scheduler_test.go#L80-L97

@nolouch Should I create a new command type like "scheduler-config [update]", or just change the url from "scheduler add evict-leader-scheduler" from "pd/api/v1/schedulers" to "pd/api/v1/schdule-config".

@qinggniq  as the example shown, we can update the evict-leader configuration with the URL path like pd/api/v1/schedule-config/evcit-leader-scheduler/config. scatter-range implement the ServeHTTP interface to manage configuration:
https://github.com/pingcap/pd/blob/2488cb9786444100f163bd5ce53faf835c1fc42f/server/schedulers/scatter_range.go#L272-L281
 evict-leader can also do this in same way.

@nolouch I have implement a http-handler to handler the config changes of evict-leader-scheduler, do I need to implement the command interface at the tool pd-ctl?

Codecov Report

Merging #1937 into master will increase coverage by 0.19%.
The diff coverage is 73.52%.

@@            Coverage Diff             @@
##           master    #1937      +/-   ##
==========================================
+ Coverage   77.76%   77.96%   +0.19%
==========================================
  Files         170      170
  Lines       16859    16943      +84
==========================================
+ Hits        13111    13210      +99
+ Misses       2724     2704      -20
- Partials     1024     1029       +5

Impacted Files
Coverage Δ

server/coordinator.go
83.83% <0%> (+6.7%)
:arrow_up:

server/schedule/operator_controller.go
91.15% <100%> (+0.3%)
:arrow_up:

server/schedulers/evict_leader.go
75.18% <75.53%> (-2.01%)
:arrow_down:

server/schedulers/shuffle_hot_region.go
61.29% <0%> (-3.23%)
:arrow_down:

server/member/leader.go
75.51% <0%> (-1.03%)
:arrow_down:

server/grpc_service.go
57.75% <0%> (-0.87%)
:arrow_down:

pkg/btree/btree.go
86.14% <0%> (-0.81%)
:arrow_down:

client/client.go
70.02% <0%> (-0.63%)
:arrow_down:

server/handler.go
52.72% <0%> (-0.5%)
:arrow_down:

... and 10 more

Continue to review full report at Codecov.

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

@qinggniq  Great work!! we also need pd-ctl command to support it. BTW, Whether the old API interface still works? we need to consider the compatibility.

@nolouch I add command scheduler config update evict-leader-scheduler <store-id> and scheduler config show evict-leader-scheduler, the old command scheduler add evict-leader-scheduler <store-id> won't change it's behavior but only can be called once.

@nolouch about this check https://github.com/pingcap/tidb-ansible/blob/c4b9e53906e7e82eee4a59606c6f2bb31b6bc36a/common_tasks/add_evict_leader_scheduler.yml#L3-L10, when calling "scheduler remove evict-leader-scheduler-{store_id}", is ok to just throw "scheduler not found"? Because when call "scheduler show" will only show "evict-leader-scheduler".
And if you want to support call "scheduler add evict-leader-scheduler {store_id}" multiply times to achieve evict leader from multiply stores, or make evict-leader-scheduler not evict leader at a store by calling "scheduler remove evict-leader-scheduler-{store_id}", I think the logic should not be implemented at the http.Handler at evictSchedulerConfig but to add some check at the server/handler.go/addScheduler().

@nolouch about this check https://github.com/pingcap/tidb-ansible/blob/c4b9e53906e7e82eee4a59606c6f2bb31b6bc36a/common_tasks/add_evict_leader_scheduler.yml#L3-L10, when calling "scheduler remove evict-leader-scheduler-{store_id}", is ok to just throw "scheduler not found"? Because when call "scheduler show" will only show "evict-leader-scheduler".
And if you want to support call "scheduler add evict-leader-scheduler {store_id}" multiply times to achieve evict leader from multiply stores, or make evict-leader-scheduler not evict leader at a store by calling "scheduler remove evict-leader-scheduler-{store_id}", I think the logic should not be implemented at the http.Handler at evictSchedulerConfig but to add some check at the server/handler.go/[addScheduler()/removeScheduler()].

scheduler not found is not expected.  We need to ensure that the behavior of ansible is consistent with the previous, people may upgrade TiDB but do not upgrade ansible in some times.
An easy way is let the API http://{{ pd_addr }}/pd/api/v1/schedulers/evict-leader-scheduler-{{ store_id }} same as http://{{ pd_addr }}/pd/api/v1/schedulers/evict-leader-scheduler, directly remove the evict leader scheduler.

@nolouch hello, I add the check at addSchedulerForStoreCommandFunc()/removeSchedulerCommandFunc() at pd-ctl/commmand/scheduler.go, when meet evict-leader-scheduler, just redirect the url. Can support previous add/remove command.

@nolouch hello, I add the check at addSchedulerForStoreCommandFunc()/removeSchedulerCommandFunc() at pd-ctl/commmand/scheduler.go, when meet evict-leader-scheduler, just redirect the url. Can support previous add/remove command.

ci report failed

Hi, @qinggniq seems the go mod file changed. please run:
 go mod tidy

@nolouch why dc-jenkins-ci/build  test raise "[2019-11-20T11:37:49.910Z] [2019/11/20 19:37:22.106 +08:00] [ERROR] [coordinator.go:200] ["the scheduler type not found"] [scheduler-name=scheduler_config]" at commit d9b554a, but disappear now.

PTAL @rleungx