Bump Ruby to 3.3.0 and Alpine to 3.19

Related

https://github.com/alphagov/forms-api/pull/400
https://github.com/alphagov/forms-admin/pull/858
https://github.com/alphagov/forms-runner/pull/561
https://github.com/alphagov/forms-e2e-tests/pull/29
https://github.com/alphagov/forms-product-page/pull/181

What problem does this pull request solve?
Created using our forms-deploy update_app_versions script to bump ruby from 3.2.2 to 3.3.0 and alpine 3.18 to 3.19
Trello card:

Things to consider when reviewing

Ensure that you consider the wider context.
Does it work when run on your machine?
Is it clear what the code is doing?
Do the commit messages explain why the changes were made?
Are there all the unit tests needed?
Has all relevant documentation been updated?

Closing this until ruby 3.3.1 is released
see https://github.com/alphagov/forms-runner/pull/561#issuecomment-1874928222


fix missing require (ref: #43)

Also fixed this error: https://github.com/zerocracy/judges-action/actions/runs/10150746329/job/28068526656

@Yegorov thanks!

@rultor release, tag is 0.0.34

@rultor release, tag is 0.0.34

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.34

@yegor256 Done! FYI, the full log is here (took me 8min)

@Yegorov It is not a good idea to name Git branches the way you named this one: "fix-build". You've earned -10 points. Next time, better give your branch the same name as the number of the ticket that you are solving. In this case, a perfect name, for example, would be "44". Your running balance is +45.

@Yegorov Thanks for the contribution! You've earned +5 points for this: +30 as a basis; -15 for the lack of code review; -10 for too few (0) comments. Please, keep them coming. Your running balance is +35.

It is not a good idea to name Git branches the way you named this one: "fix-build". You've earned -10 points. Next time, better give your branch the same name as the number of the ticket that you are solving.

@yegor256
Ок, but how then to name a branch if there is no issue, and the changes is small, which does not require a large description of the problem.
Or creation issue is mandatory for each PR?


Show us what you did with bento-starter 🍱

If you are using bento-starter in your company or for a side project, we’d love to get some feedback here.
It would be a great motivation for us to improve bento-starter.
We’d love to get some screenshots or links to what you’ve built with bento-starter. Simply attach them in your comment!
Recommended comment format：

Company/Organization:
Product/Project:
Link to your bento starter web app:
Impression/Suggestion:

Thanks ! :bento:

Hi, Just wanna say thank for this project. I use the exact same technologies as your project and even though my App was already launched before your project started, checking you code helped me improve it a lot from checking how you did thing.  Like the workbox setting which I was at a complete lost before checking your project !
It would for sure be a time saver to start a new app with your starter. Thank
Product/Project: www.sportmngr.com

I just found bento-starter, so I have nothing to show yet, but some initial thoughts why I wouldn't dive in deeper. I still would like to leave my comments and I hope you can take them constructively.
To me, a PWA starter-template shouldn't require online-tools to work!
Authentication is nice, but most PWAs don't require it, since - in my understanding - a PWA is mostly a 'consuming' app in first place (not a CRUD app).
Although simple to setup, Firebase is an additional layer of complexity, which is unnecessary. Especially, if you plan to create a PWA for offline consumption. Also, it's not so easy to add linked media to Firebase, whereas bundling local files (or even hosted files) is.
What I  generally don't like, is the lock-in with firebase and google (and the like) ... So liberating hosting options would definitely be a major plus. (e.g. netlify, S3, ...)
I especially like the inclusion of PWACompat , unit-testing and pre-rendering options.
There should also be an option 'out of the box' to not create source-maps (.map) files for the dist folder, so uploads stay small, even when you're at a slow internet connection.
IMO stripping down the bento-starter to something like an app-shell powered by markdown and maybe additional hosting/deploy-options like netlify, private, firebase .... would be a really great thing...
e.g.

like vuepress, but less cumbersome to setup and less complex.
like docute but working and less complex ;)
like docsify but with Vue and less documentation-centric
...

..but that could only be me :)

Hi @tiptronic,
Thanks for your interest.
However, your post should not be in this thread but in a new issue or in the dedicated slack.
Could you delete your comment ?
This stack is very opinionated, but it's also what makes it powerfull.
Please refer to this article that explains in details the bento-starter stack

Done...

I created Scale-Heaven Using bento starter :)
It's mentioned in the about section of the app 😄
Thanks for this awesome project!

I created https://app.compostcalc.com/ with Bento Starter. With 60 hours of development I could run the app as MVP.
CompostCalc is a calculator for composting.
Thanks to the contributors.


vitess/base:latest, ./bootstrap.sh, "gRPC build failed"

Dockerfile
FROM vitess/base

RUN ./bootstrap.sh

docker build .

Output:
+ cd third_party/protobuf
+ '[' -n /vt/dist/grpc ']'
+ make install prefix=/vt/dist/grpc/usr/local
make: *** No rule to make target 'install'.  Stop.
ERROR: gRPC build failed
The command '/bin/sh -c ./bootstrap.sh' returned a non-zero code: 1

The vitess/base image isn't intended to run bootstrap.sh. That script was already run as part of building the vitess/bootstrap image upon which the vitess/base image is built.
Can you elaborate on what you're trying to accomplish by making another Dockerfile that's based on vitess/base?

Closing due to inactivity. Feel free to reopen if you still have this issue.


Fix build URLs with slashes in branch names. Fixes #755

This fixes #755.

Waiting on #762

Please review my addition before merging
That change was somewhere on my local machine. Apparently it was lost in git :) Good catch!

I looked into https://www.npmjs.com/package/filenamify . Just replacing slashes is not enough on Windows.


Build: Support Node.js export parity with CommonJS

Ref #521
More info: https://github.com/jquery/qunit/issues/521#issuecomment-65656852

@JamesMGreene could you update this?

Added another commit to address a few of the PR feedback comments. I have no rebased it yet, just for the sake of seeing the changes to the 1st commit and the comment history. I'll happily rebase it whenever we think it's ready to be merged.

Eh, the commits are small enough. I've rebased against master now. My 2nd commit (now just rebased into the primary commit) was just removing 2 assertions (and 1 test) related to the now-irrelevant QUnit.constructor.

Looks good to me.

merged

P.S. @jdalton Sorry, forgot to tag you on this earlier.


Support array literals in #each blocks

Fixes #48.
I failed to find a comprehensive spec for #each, but experimentation in the REPL shows that it can take any sort of array literal, any sort of string, or a single identifier. (There may be more valid input, but someone else can explore those edge cases.)
String literals were already valid, so it was just a matter of consuming everything between balanced [ and ]. (Just for #each, though; array literals are not valid in #await.)
Originally I had it so that the calls to scan_for_balanced_character would inspect the returned boolean and return false themselves if they got a false value — i.e., bailing early from a catastrophic parsing failure instead of proceeding to the end of the file. But this broke the test case in random.txt, so I reverted that change.

This commit broke something @savetheclocktower  @Himujjal , which was merged into zed and is now affecting my code.
<script>
let foo = {
    bar: "baz"
}
</script>
<foo
    baz={{

    }}>

    {#if foo.bar}
        { foo.bar }
    {/if}
</foo>
<style>
foo {
    display: flex;
    flex-direction: column;
}
</style>

For some reason, newlines within the baz prop appear to break parsing
If I remove the newlines, it parses

@savetheclocktower this code broke a bunch of stuff
{#each $Y as $X}
$Y can be any kind of arbitrary expression, including {"foo": [1,2,3] }["foo"]
$X is a bit more limited however, it can only be an identifier or destructure pattern (eg: [a] {a}), and optionally followed by a , i, or ( thing.id ) for keyed each blocks

Had no idea Zed was depending on this library. I'll try to take a look at this later today.
I redirected my efforts towards the tree-sitter-grammars repo, and it's possible that this PR of mine from ~6 weeks ago addresses this, but that PR also changes lots of other stuff. The external scanner there treats the first #each parameter much more sanely.

@savetheclocktower this code broke a bunch of stuff. Newlines inside of expressions lead to failures
Works
{{ a: "hello" }}

Should work, but fails
{{
  a: "hello"
}}

Regarding valid syntax:
{#each $Y as $X}
$Y can be any kind of arbitrary expression, including {"foo": [1,2,3] }["foo"]
$X is a bit more limited however, it can only be a:
* either a:

  * `identifier`
  * A destructure pattern, eg:

    * `[a, y = false, ...foo]`
    * `{a, y: z = false, ...foo}`)

* optionally followed by a `, i` for array indexing

* optionally followed by a `( thing.id )` for keyed each blocks

The good news is that I think all of these cases are addressed in this PR — which represents my most recent efforts toward a compliant tree-sitter-svelte parser. (It's possible that they're all even fixed on the main branch; haven't checked yet.) Yes, all of them — even {"foo": [1,2,3] }["foo"] works, to my utter astonishment.
The bad news is that that PR is against a different tree-sitter-svelte parser that differs from this one in non-trivial ways. At the time, I wasn't sure if @Himujjal was still maintaining this parser. @amaanq created a new parser that was obviously based on this one — but applied some fixes to memory management, made it formally extend the HTML parser, and changed the structure of the tree a bit.
I'm going to try to backport the fixes to this repo as best I can. But, as I explained elsewhere, I think that the newer parser is the way forward, even if it takes a bit of effort. Since it's a different parser, I think there's a bit more latitude to make important decisions that would break backward compatibility if I tried to make them in this repo.


1 new exercise: secret-handshake

Hi,
please find 1 new COBOL track exercise: secret-handshake

GnuCOBOL also has binary AND and OR but what you've got works. Leave it to the students to discover and use the logic calls.


Histogram slider does not take activity anchoring into account when computing time bins

Checked for duplicates
Yes - I've already checked
Is this a regression?
No - This is a new bug
Version
2.1.0
Describe the bug
Timeline histogram slider is not taking directive anchoring into account when computing time bins.

Reproduction

Make a plan with activities
Anchor one activity to another and give it a negative offset
The histogram slider does not show a bar for the actual anchored activity time
Repeat step 2 with a positive offset
The histogram slider shows a bar for the anchored activity at an incorrect time

Logs
No response
System Info
All

Severity
Minor

Potentially resolved by #1259


[4.0] import: Fix Silhouette used incorrect index.

Backport of #76499 into 4.0.x

Closing because commits usually get backported in bulk anyway. Feel free to reopen if this is still needed.


bn.move_median seg fault

The following causes a seg fault:
In [1]: a = np.array([1, 2, np.inf, 3, 4, 5])
In [2]: bn.move_median(a, window=3)
Segmentation fault

If the location of np.inf or the window size is changed then the function does not seg fault.
move_median.c uses C's INFINITY to mark missing values in the heaps. I assume that is the problem. If I replace INFINITY with DBL_MAX (from float.h) and replace C's isinf with
inline int myisinf(double val)
{
    if (val == DBL_MAX || val == -DBL_MAX){return 1;}
    return 0;
}

then the seg fault disappears. However a new seg faults appears:
In [1]: m=np.finfo(np.float64).max
In [2]: a=np.array([m,m,m,m,m,m,m,m,m])
In [3]: bn.move_median(a, window=3)
Segmentation fault

So I traded one problem for another.
I'm not familiar with move_median.c. @jennolsen84 do you have any ideas on what to do?

I just saw this, will take a look

yes, you're right, I am converting nans to INF in the heap.
Some background: There are two heaps: one for values less than median, the other for values greater than the median.  a nan value can be stored as a -INF (if it is in the left heap) or +INF if it is in the right heap.  Also, as we rebalance the heaps, nan encoding can change from +INF to -INF, and vice versa.
So, the mapping is nan -> {+inf, -inf}.  I did not test with infinity inputs, and a bit more work would be needed.  I have a quick fix we can try in the short term, basically any input that is INF or -INF we can treat them as nans.  I am not 100% sure, but it seems like the output from pandas for the array given is:
[ nan  nan  nan  nan  nan   4.]

If we change https://github.com/kwgoodman/bottleneck/blob/014863934dfb1af4388d8ae6ec24028c33e26a99/bottleneck/src/auto_pyx/csrc/move_median.c#L617 to:
int is_nan_val = isnan(val) | isinf(val);

and https://github.com/kwgoodman/bottleneck/blob/014863934dfb1af4388d8ae6ec24028c33e26a99/bottleneck/src/auto_pyx/csrc/move_median.c#L768 to:
if (isnan(val) | isinf(val))

it works on the given sample input.  I haven't tried to do an exhaustive test yet (where I just randomly generate matrices and compare the output vs pandas).
note: I used a | bitwise operator, instead of logical operator || above.  This way, the hope is that the hardware will evaluate isnan() and isinf() in parallel and just do a bitwise or.
Unfortunately, I am traveling for the next few days, and will have some time May 12ish onwards.  I will be able to look at it a bit more then.
Hope this helps though.

I've been refactoring move_median.c (the move_median_refactor branch). I figured refactoring would be a gentle introduction to the code. Once I'm up to speed on the code (which will take quite a while) I'll re-read your comment (thank you for all the details) and ask you lots of questions!
Without yet understanding the code I was wondering if the node could contain a is_nan variable to mark missing values. Then we could distinguish between NaN and Inf. If possible I'd like to match the behaviour of bn.slow.move_median.

yes, that should work.  I would probably call the variable something else, so you can differentiate between nan, +INF and -INF.  And you'll need to modify get_median function too.  So that if the array is all INF or -INF, the correct answer gets reported.  I would also look at the size of the new variable [1 byte should be enough] and place it in the struct definition appropriately so that struct is packed nicely (and there is no un-necessary padding inserted by the compiler).
Other impacts might be that most of the time that value will not be used, so your working set in memory will be higher, and possibly more cache misses will occur, thus a slight degradation in performance.
If you have any questions about the code, let me know and I will try to answer quickly

bn.move_median can now handle INF in the input array. It also runs faster.
I ended up doing a complete rewrite of bn.move_median. Instead of placing NaNs in the heaps (after changing NaN to +/-INF) I put them in a nan array. Thus (1) there was no need to sort the NaNs and (2) the heaps became smaller in the presence of NaNs.
In the bottleneck benchmark with a 1000 by 1000 array with 1/3 NaNs, the new approach was more than twice as fast.

Impressive.  What was your window size (performance can vary with it)?  How did you end up testing it?
I ended up just running it in a loop with randomized data and testing it vs pandas.  That shook out a lot of the bugs.
Also, will a median of [-INF, INF, INF] be INF or NAN?

There are two versions of every bottleneck function: bn.func() and bn.slow.func(). So I tested bn.move_median() against bn.slow.move_median(). I added this unit test to bottleneck:
# ---------------------------------------------------------------------------
# move_median.c is complicated. Let's do some more testing.
#
# If you make changes to move_median.c then do lots of tests by increasing
# range(100) in the two functions below to range(10000).

def test_move_median_with_nans():
    "test move_median.c with nans"
    fmt = '\nfunc %s | window %d | min_count %s\n\nInput array:\n%s\n'
    aaae = assert_array_almost_equal
    min_count = 1
    size = 8
    func = bn.move_median
    func0 = bn.slow.move_median
    rs = np.random.RandomState([1, 2, 3])
    for i in range(100):
        a = np.arange(size, dtype=np.float64)
        idx = rs.rand(*a.shape) < 0.1
        a[idx] = np.inf
        idx = rs.rand(*a.shape) < 0.2
        a[idx] = np.nan
        rs.shuffle(a)
        for window in range(2, size + 1):
            actual = func(a, window=window, min_count=min_count)
            desired = func0(a, window=window, min_count=min_count)
            err_msg = fmt % (func.__name__, window, min_count, a)
            aaae(actual, desired, decimal=5, err_msg=err_msg)

When the unit test failed I'd copy the failing input array to move_median_debug.c which sets the number of children to 2 and prints the heaps at each step in binary tree form so that I could see what was going on. I did the debugging in pure C (i.e. no cython) using the new makefile (gdb and valgrind).
I found that optimizing the number of children depended on window size.
Because you asked I wrote a script to measure performance:
import numpy as np
import bottleneck as bn
from bottleneck.benchmark.autotimeit import autotimeit

rs = np.random.RandomState([1, 2, 3])
a = rs.rand(1000000)
a[a < 0.2] = np.nan
for exponent in range(1, 6):
    window = 10**exponent
    t = autotimeit(lambda: bn.move_median(a, window=window, axis=-1))
    print "%6d %f" % (window, t)

And I got a seg fault! I'm glad you asked. Back to debugging. I've been hand coding tiny test arrays. Not sure how to deal with such a large array in pure C.
Oh, BTW:
In [1]: bn.move_median([-np.inf, np.inf, np.inf], window=3, min_count=1)
Out[1]: array([-inf,  nan,  inf])

I fixed the seg fault. Here's the performance versus window size for the code in master (using the above script on my slow laptop).
With no NaNs:
window  seconds
    10  0.042365
   100  0.068565
  1000  0.082538
 10000  0.107702
100000  0.115240

20% nans:
window  seconds
    10  0.052971
   100  0.075063
  1000  0.089599
 10000  0.105983
100000  0.128464

All nans:
window  seconds
    10  0.008539
   100  0.008545
  1000  0.008521
 10000  0.008538
100000  0.009643

Here are the corresponding results for PR #110:
window  seconds
    10  0.081875
   100  0.112471
  1000  0.130629
 10000  0.158817
100000  0.169358

window  seconds
    10  0.088468
   100  0.120596
  1000  0.141156
 10000  0.169303
100000  0.185353

window  seconds
    10  0.049541
   100  0.048705
  1000  0.048004
 10000  0.048061
100000  0.051045

Before completely rewriting move_median.c for NaN input, I did some optimization of PR #110:
window  seconds
    10  0.054325
   100  0.080486
  1000  0.094239
 10000  0.118666
100000  0.129393

window  seconds
    10  0.060485
   100  0.088697
  1000  0.104200
 10000  0.127559
100000  0.131378

window  seconds
    10  0.028171
   100  0.027808
  1000  0.027095
 10000  0.027278
100000  0.029650

👍  looking forward to the release

How big are the arrays you use? I've been toying with some convenience functions for threading. For example, here's the timing without threads:
In [1]: a = np.random.rand(4000, 4000)
In [2]: a[a < 0.3] = np.nan
In [3]: timeit bn.move_median(a, window=500, min_count=1)
1 loops, best of 3: 1.37 s per loop

Timing with four threads:
In [4]: from bottleneck.threads import p_move_median, p_nansum, start_pool
In [5]: start_pool(4)
In [6]: timeit p_move_median(a, window=500, min_count=1)
1 loops, best of 3: 596 ms per loop

The input arrays should be large and/or the function should be slow to make up for the overhead of dealing with the threads. The function p_move_median automatically chunks the data into nthread pieces.

o_O bottleneck.threads? awesome!
I don't remember the input sizes, but I did anywhere from size 1 to a big one where move_median took several seconds to compute.
Threading makes a lot of sense, here are a few thoughts:
In case of 4000x4000, it is easy to split the data on the axis, good win there.  But what about the other extreme? 1D case or 2D case with 2 rows but large number of columns (using 8 threads).  Then there is some overlap in the computation, but it's an interesting problem.
Another (slightly more advanced case) would be if somehow the chunking was exposed, so that I would easily be able to many of these algorithms with my own thread pool.  This is useful when there is a bunch of other work (possibly non bottleneck related) that can be scheduled and things work cooperatively w/o oversubscribing the cores.

Great idea! It didn't yet occur to me to chunk along more than one axis. I did try a (2, 3, 4) input array and the code only made two chunks along axis 0 even though there were 4 threads.
There's also the 1d input array case of moving window functions. At the moment the code runs those in a single thread. Chunking those is more complicated because the chunks would have to overlap by the width of the window. If the window is a sizeable fraction of the length of the array then it is probably better to use one chunk unless you have lots of cores and nothing else to run in the meantime.
Some functions, like bn.median, can't be chunked for the 1d input array case because the median of several sub medians is not the median. But if you are finding the median of millions of numbers then the difference doesn't matter and we could provide an override.
The functions that I have written so far are convenience functions. They block until all threads are done. As soon as one thread is done we should be moving on to the next job. I think it is best to start with easy to use functions to get people to try them and to figure out how things work behind the scenes.
If we exposed a chunker function, we'd also need a dechunker. It is interesting to think how that would work.
I'm working on all this in the threads branch.

Would using OpenMP inside Cython be a better approach? http://nealhughes.net/parallelcomp2

The seg fault has been fixed so I'm closing this issue. I opened a new issue for the discussion of multiple threads.


Set rotation

How do i set the rotation?
From your examples i can see the rotation
    println!("Properties: {:#?}", cam.properties());

But this is a read only.
I had a go at trying to use the configuration but i could not figure it out.

Rotation is a readonly property, like serial number. For example set by the laptop manufacturer if sensor is mounted upside down.
You can use opencv or similar image library to rotate image after capturing.

There is a property orientation which is accessible in C++. This allows to tune orientation: Sample code:
`switch (cameraConf.camera_rotate) {
case 0:
            cameraConfig->orientation = libcamera::Orientation::Rotate0;
            break;
        case 90:
            cameraConfig->orientation = libcamera::Orientation::Rotate90;
            break;
        case 180:
            cameraConfig->orientation = libcamera::Orientation::Rotate180;
            break;
        case 270:
            cameraConfig->orientation = libcamera::Orientation::Rotate270;
            break;
        default:
            SPDLOG_WARN("Invalid camera rotation value: {}. Defaulting to Rotate0.", cameraConf.camera_rotate);
            cameraConfig->orientation = libcamera::Orientation::Rotate0;
            break;
    }
    libcamera::StreamConfiguration& streamConfig = cameraConfig->at(0);`

I could not find this exposed?

I spoke to some libcamera people and they said similar.
Its actually fairly simple todo your self in software, in the end i just swapped the orientation of my sensor.. lol
Apparently the option in @perara 's code is not always changeable depending on the hardware so braking it out is of limited value but i do believe it should be possible..
however for all of the reasons above i didn't bother looking into this any further.


Database: setValue hangs when data contains some invalid keys

Description
When DatabaseReference.setValue is passed data that contains a key with a non-printable ascii character, or a key that exceeds the 768 byte limit, the function does not throw an error and never returns.
Expected: The function throws an error when encountering these invalid keys.
Reproducing the issue
Key with a non-printable ascii character:
do {
    try await ref.setValue(["\n": "value"])
    print("This is never printed")
} catch {
    print("This is never printed")
}

Similarly with a long key:
do {
    try await ref.setValue([String(repeating: "a", count: 800): "value"])
    print("This is never printed")
} catch {
    print("This is never printed")
}

Firebase SDK Version
9.6.0
Xcode Version
14.0.1
Installation Method
Swift Package Manager
Firebase Product(s)
Database
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

Change back

Change back


seeds

User Story
As a developer I want to create a directory named ‘seeds’ and add files with each containing an object array consisting of the relevant property fields. These files to link other seed files through primary and secondary keys, to import the models file and be able to export the bulk data.
I then want to populate each file/object/field with an initial set of data.  This is referred to as test or dummy data,
Next, I want to create a seed.js file that contains the commands to synchronize with Sequelize to connect and populate the database with the data.
User Acceptance

When I have installed node.js.

When I have created a seed.js folder in my project directory, linked to the models folder and the code to export the bulk data.

When I have created the following seed folders:

artist.js

genre.js

playlist_songs.js

playlist.js

songs.js
•	When I have created object arrays within each folder with the relevant property fields.
•	When I have populated the property fields with the initial data set.
•	When I have created the userdata.json file and populated it with data containing the name, email address and password of multiple users.
•	When I have created the seed.js file and written the code to require the necessary files, connect to the database (Sequelize) and write a function to seed the user, songs and playlists.  That is, populate the mixmate_db database.
•	I have successfully run the command ‘npm run seed’.


Small pagefile fails GraalVM native-image builds on Windows

Describe the bug
I am trying to build a Quarkus application as a GraalVM native-image for Windows.
I am seeing the following error:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000778d00000, 478150656, 0) failed; error='The paging file is too small for this operation to complete' (DOS error/errno=1455)
https://github.com/38leinaD/quarkus-with-gh-actions/runs/620081929?check_suite_focus=true
If i run "wmic pagefile list /format:list" i can see that the pagefile is indeed only 1.8 GB; which too me is rather small:
AllocatedBaseSize=1791
CurrentUsage=0
Description=D:\pagefile.sys
InstallDate=20200426163236.509377+000
Name=D:\pagefile.sys
PeakUsage=0
Status=
TempPageFile=FALSE
The same was already discussed here: https://github.community/t5/GitHub-Actions/Error-quot-The-paging-file-is-too-small-for-this-operation-to/m-p/55783#M9641
Area for Triage:
Java
Question, Bug, or Feature?:
Feature
Virtual environments affected

[ ] macOS 10.15
[ ] Ubuntu 16.04 LTS
[ ] Ubuntu 18.04 LTS
[ x ] Windows Server 2016 R2
[ x ] Windows Server 2019

Expected behavior
The pagefile size should be increased to a more reasonable value for a modern system.
Actual behavior
The issue can be reproduced by forking my repo and running the build:
https://github.com/38leinaD/quarkus-with-gh-actions/runs/620081929?check_suite_focus=true

Hello, @38leinaD
I can reproduce the issue. It's very difficult to change from our side. Could you please use a workaround and change pagesize at runtime?
- name: SetPageFile
      run: |
        Invoke-WebRequest http://www.paraglidernc.com/Files/SetPageFile1008.cab -OutFile SetPageFile1008.cab
        expand.exe SetPageFile1008.cab -F:* C:\
        C:\files\SetPageFile.exe /f D:\pagefile.sys /m 8192
    - name: Build Gradle
      run: |
        call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64
        gradlew build -x check -Dquarkus.package.type=native

Awesome! This works. I was under the impression that the pagefile size cannot be changed without a restart of the system.
What is the recommendation going forward? Is it safe to rely on the WebRequest to download this file (what is this tool anyway?) and will it be there the forseeable future?

Awesome! This works. I was under the impression that the pagefile size cannot be changed without a restart of the system.
What is the recommendation going forward? Is it safe to rely on the WebRequest to download this file (what is this tool anyway?) and will it be there the forseeable future?

@38leinaD,
We have been discussing the possibility of changing PageFile size on Windows image or prepare non-official GitHub Action task. I have written a powershell script that allow to change PageFile size without reboot - https://raw.githubusercontent.com/al-cheb/PageFile/master/SetPageFileSize.ps1 if you would like to replace the SetPageFile.exe util.
- name: SetPageFile
  run: |
     Invoke-Expression ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/al-cheb/PageFile/master/SetPageFileSize.ps1'))
  shell: powershell

thanks for the workaround @al-cheb! @38leinaD I don't think we can easily increase the current pagefile size without significantly impacting a lot of jobs since it would eat into the available space in the temp drive of the VM. I'll close this for now, it's not something we are planning to change at the time, please reopen if you wish to discuss further. Thanks for reaching out!

Hello, @38leinaD
Good news, @maxim-lobanov have created wrapper configure-pagefile-action task. Feel free to use in your pipeline.
E.g.
- name: configure Pagefile
      uses<EMAIL_ADDRESS>    - name:
      run: |
        (Get-CimInstance Win32_PageFileUsage).AllocatedBaseSize

hello I'm facing this issue with Go https://github.com/benitogf/level/pull/3/checks?check_run_id=2780473689#step:2:11 tried to use configure-pagefile-action but I got this error:
Error: Exception calling "SetPageFileSize" with "3" argument(s): "The operation completed successfully"
And the pagefile error still shows
==1140==ERROR: ThreadSanitizer failed to allocate 0x000100000000<PHONE_NUMBER>) bytes at 0x040101000000 (error code: 1455)


Error transferring from Polygon to Gnosis

Describe the bug
[ethjs-query] while formatting outputs from RPC '{"value":{"code":-32603,"data":{"code":-32000,"message":"header not found"}}}'
To Reproduce
Steps to reproduce the behavior:

Go to https://amarok.bridge.connext.network/USDC-from-polygon-to-gnosis?amount=1.106013
Send with these details
See error

It's an RPCs error.

Updated RPCs.


tileindicators: Option to only show true tile while moving

Adds a config option to only highlight the true tile while the player is moving. This means that no tile will be drawn under the player when the player is standing still, which can be a bit annoying when admiring your mole slippers.
Implements #14032

Is this different from "Corner Tile Indicators" on the plugin hub?

Is this different from "Corner Tile Indicators" on the plugin hub? It has an option to hide the true tile when not moving.
Or #16577?

Would be nice to have this feature in core, but 16577 is better. Although it would be nice if the fadeout can be set to 0 milliseconds instead of a minimum of 600.

Closing in favour of #16577


Adding listener count

https://nodejs.org/api/events.html#events_eventemitter_listenercount_emitter_event

I am awaiting all the test failures again :(

Looks good to me! I'll get this merged!


Update to Symfony 5.

This will be nice if this package is compatible with Symfony version 5.0.
This only a matter of update the composer.json file:
"require": {
    "symfony/console": "^2.0 || ^3.0 || 4.0.* || 4.1.* || 4.2.* || 5.0.*",
    "symfony/event-dispatcher": "^2.0 || ^3.0 || ^4.0 || 5.0.*"
},

Hi and thanks for the PR, I'll check it out later. I think there was a reason why I tried to stay with version 4. I think there was a break which is no longer compatible.

Solved in dd673e3
Will tag and release asap


misc production record can not been closed

i enter a misc production task,and use production entry to satisfy the scheduled qty. the schedued production task will not been set to closed automatically. and there is no way to close it.I tried to enter the last operation(auto backflush) qty. it make no sense. and i enterd other 3 operations last,make no sense too.

You need to make sure you are using the 'Production Entry By Plan' menu to post production if you want to close a Plan Order created from Misc Plan Maintenance and scheduled via the Scheduler.   The autobackflush must be set on the last operation in the routing as well.   If you scan the last operation for the quantity that completes the scheduled quantity, then it will indeed close.   You can scan in any order of operation...for example 30,10,20,40...(not sure why you would do this) but once the final operation is scanned, the ticket/plan number will close.    Check and see if you have a c:\blueseer\data\app.log file....if so....send it to<EMAIL_ADDRESS>along with your version number and your langpack used....we will take a look at your issue.


Add test cases for models

AsIs
With #100, we have implemented base test case for application functions, but there still needs to add test with database, since our Django application uses database, MySQL
ToDo

Add test case for model functionalities
Add test with loaddata

(Optional) Acceptance criteria
python manage.py test is success in local environment
(Optional) Additional contexts
Issue(s): #100
PR(s): #106

For loading fixture data with unit tests, we can use fixtures variable in TestCase class, as mentioned in docs.


Fix for the travel app

I unintentionally closed the other pull request #33
This new one comes only with minimal changes.
I think it's important to keep the code similar to the one on your video so that people can learn more from the video.
Let me know if you think we can do more changes in order to match to what is in the video.
Thanks.

@BugAgain thank you a lot! I'll need to check it on iOS and Android and I'll review your PR ;)


Support async and await

Using latest babel to support async and await method.

by using babel-regenerator-runtime to support async and await with Babel.


Update model.md

@BrittanyDilts  please review. Short term fix until I can address #7248

That's great. Reading through it is not confusing at all if you are paying attention to what you're doing in the tutorial (and not paying attention while going through a tutorial is an ID-10t error and you can't really fix those).


Extra data inside calendar

Sometimes is useful send extra data to something and I did a little improvement over calendar to handle it.
#https://github.com/dunice/Ionic-Calendar/commit/3314298283b75517f4e0309b81a825c80826a3f9
Check the following printscreen where it shows how useful it can be:

I just extended the template in my code and sent the data over the improvements.

Great idea... but how it works? Can you explain more? How can I add extra info? (in your github fork I can't found any sample..)

I have added view customisation support in version 0.3.0.
It now supports customisation the event cell in month/week/day view and the event detail section in month view.

How can I add an delete button for every event in event detail view for Month view.

@PradeepSmg I exposed monthviewEventDetailTemplateUrl so that you can pass your own template for the event detail.


Mobile tables on token detail page

We currently have:

Design is:

Example:
https://www.stacking-tracker.com/tokens/stackingdao

I may have forgotten about this specific one. Will check.


Update to AspNetCore 3.1.5 and add SwaggerGen to api endpoints

Latest commit bdb4c57 implements a IConfigureNamedOptions to serve as an interceptor for CAS config options. It's a good pattern to keep in mind, particularly when you need to inject dependencies before all dependencies have been configured.


Add sample for making a batch request

Adds a sample for making a batch request, internal bug 121151093

@frankyn this good to merge?

Thanks for your work, Jesse!


Operational constraints not working

Hi there,
I'm currently applying riskSLIM to a problem of mine and am trying to implement operational constraints in the form of 'At least one of A or B must be selected'. However, I've noticed that riskSLIM seems to only accommodate constraints of the type 'At most one of A or B can be selected'. To address this, I attempted to add the 'at least one' constraint with the following three versions of code:
`cons.add(
lin_expr = [SparsePair(ind = get_alpha_ind(constraint), val = [1.0]*len(constraint))],
senses = "E",
rhs = [1.0]
)
cons.add(
lin_expr = [SparsePair(ind = get_alpha_ind(constraint), val = [1.0]*len(constraint))],
senses = "G",
rhs = [1.0]
)
cons.add(
lin_expr = [SparsePair(ind = get_alpha_ind(constraint), val = [-1.0]*len(constraint))],
senses = "L",
rhs = [-1.0]
)`
but none worked. Although these constraints are successfully added to the CPLEX model (I printed out the entire model to confirm), the resulting scoring tables consistently violate these specific constraints. I've spent a quite a few time examining the code, yet I'm unable to determine why this isn't working. Is this a limitation of the model itself, or is there something I'm overlooking?
Any helps would greatly appreciated. Thanks!

Hi there! I'm currently new to this topic and also trying to implement the same constraint that you want here. Does it help if you try a linear constraint like the second version again?
cons.add(
lin_expr = [SparsePair(ind = get_alpha_ind(["A", "B"]), val = [1.0, 1.0]],
senses = ["G"]
rhs = [1.0]
)
To my knowledge this should work, since this basically forces alpha_A + alpha_B >= 1.0 and this constraint is only satisfied if one of the alphas is 1.0 or both of them are 1.0
I would appreciate your answer!


Tracking ID vs Measurement ID

Hi all,
I'm currently trying to use this package to integrate and test some simple Analytics events.
Issue
I'm struggling at the moment though to locate the right Tracking ID (TID) to use within a ScreenHit.  I have a Measurement ID (e.g. G-XXXXXXXXXX) and Property ID (9 digit number) on Google Analytics, but using the debugging tool and checking the resulting link on this link testing site site it's returning an invalid TID.
Current usage of the package is (with the actual Measurement ID # used):
const analytics = new Analytics('G-XXXXXXXXXX', null, { debug: true });
analytics.hit(new ScreenHit('Home'))
.then(() => console.log("success"))
.catch(e => console.log(e.message));
Any help is greatly appreciated!

same issue here. :(

I was able to find it here:

In Google Analytics: Admin / Account User Management / Tracking Info / Tracking Code

@Simacho239 @amahajan87 @habeebtheprogrammer pls read the following text in the readme file at: Support for web + app projects.
This text states that expo analytics only works when setting Google Analytics up for website and not for mobile since mobile will provide an id that starts with "G" and is not supported. Also screenhits do not function at the moment since this library does not work with the mobile setup of Google Analytics.
Please do not think that this library does not work with mobile apps, because it does except Google Analytics can't be setup for mobile but only website.
I hope that I have explained this correctly and understandable for you all!

@Simacho239  FYI
GA4 property has Measurement ID only
GA3 property has tracking ID only
You can not have both! If you see one you'll not find the other in same property.


[Helpdesk] Where do you run the commands

Where do you run the commands:
$ git clone https://github.com/C4illin/ASFclaim.git && cd ASFclaim
In node.js? In the terminal?

Rum git clone in terminal


fix(manage-merge-queue): remove quotes in auto merge query

:pencil: Description
 - Argument 'mergeMethod' on InputObject 'EnablePullRequestAutoMergeInput' has an invalid value ("SQUASH"). Expected type 'PullRequestMergeMethod'.

:tada: This PR is included in version 1.25.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


SCRAM-SHA-1-PLUS + SCRAM-SHA-256(-PLUS) + SCRAM-SHA-512(-PLUS) supports

To have compatibility with XMPP Servers and after:

SCRAM-SHA-1

Can you add supports of :

SCRAM-SHA-1-PLUS
SCRAM-SHA-224
SCRAM-SHA-224-PLUS
SCRAM-SHA-256
SCRAM-SHA-256-PLUS
SCRAM-SHA-384
SCRAM-SHA-384-PLUS
SCRAM-SHA-512
SCRAM-SHA-512-PLUS
SCRAM-SHA3-512
SCRAM-SHA3-512-PLUS

"When using the SASL SCRAM mechanism, the SCRAM-SHA-256-PLUS variant SHOULD be preferred over the SCRAM-SHA-256 variant, and SHA-256 variants [RFC7677] SHOULD be preferred over SHA-1 variants [RFC5802]".

SCRAM-SHA-1(-PLUS):
-- https://tools.ietf.org/html/rfc5802
-- https://tools.ietf.org/html/rfc6120

SCRAM-SHA-256(-PLUS):
-- https://tools.ietf.org/html/rfc7677 since 2015-11-02
-- https://tools.ietf.org/html/rfc8600 since 2019-06-21: https://mailarchive.ietf.org/arch/msg/ietf-announce/suJMmeMhuAOmGn_PJYgX5Vm8lNA

SCRAM-SHA-512(-PLUS):
-- https://tools.ietf.org/html/draft-melnikov-scram-sha-512

SCRAM-SHA3-512(-PLUS):
-- https://tools.ietf.org/html/draft-melnikov-scram-sha3-512

https://xmpp.org/extensions/inbox/hash-recommendations.html
-PLUS variants:

RFC5056: On the Use of Channel Bindings to Secure Channels: https://tools.ietf.org/html/rfc5056
RFC5929: Channel Bindings for TLS: https://tools.ietf.org/html/rfc5929
Channel-Binding Types: https://www.iana.org/assignments/channel-binding-types/channel-binding-types.xhtml
Channel Bindings for SCRAM over TLS 1.3: https://tools.ietf.org/html/draft-whited-tls-channel-bindings-for-tls13 -> https://tools.ietf.org/html/draft-ietf-kitten-tls-channel-bindings-for-tls13

LDAP:

RFC5803: Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted: Challenge Response Authentication Mechanism (SCRAM) Secrets: https://tools.ietf.org/html/rfc5803

HTTP:

RFC7804: Salted Challenge Response HTTP Authentication Mechanism: https://tools.ietf.org/html/rfc7804

2FA:

Extensions to Salted Challenge Response (SCRAM) for 2 factor authentication: https://tools.ietf.org/html/draft-melnikov-scram-2fa

IANA:

Simple Authentication and Security Layer (SASL) Mechanisms: https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml

Linked to:

https://github.com/scram-xmpp/info/issues/1

@bensmiley: Solved?

Hi @Neustradamus if there is an issue you actually need to describe the problem rather than posting a lot of links. If this is a feature request, you would need to mention that. With feature requests they will be implemented when we have capacity. If you need the feature urgently, you would need to contribute to the cost of the development.


Fix the issues when running azd up --no-prompt in GitHub actions

Purpose
Fix the azd up error in https://github.com/Azure-Samples/serverless-chat-langchainjs/issues/87
Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

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

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Login azd with service principal
Run azd up

What to Check
Running azd up command should succeed.
Other Information

@glaucia86 Could you help reviewing this PR?


Investigate issue with deployR and changes since 0.3

The problem is how RTVS 0.4 now deals with the readline function in R. I have done a screen cast showing the issue. You can test the problem by using the following R code….
while ((line <- readline("*> ")) != "exit") {

}

On RTVS 0.3 (RTVS_2016-04-03.1) readline was functioning as expected.

Investigated, by design.


Transactions confirmations

Add item on Settings screen https://zpl.io/25OMeK8 and minimum confirmations settings screen https://zpl.io/aRx3ORz
Add info about confirmations on Transaction details screen https://zpl.io/VkeXBWv and Share transaction details screen https://zpl.io/awPeoDM

@DenisDemyanko talked with @beam-mw he said that this feature can be calculated from height differences


add note about unsupported OSDisk configurations

Adding a note about OSDisk type used on certain OpenShift supported VM configurations.

@dem4gus : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @rahulm23


FIX: Add brainvision captrack ref channels when set_montage

fixes #6788
However I'm not sure that this is the right call. It does not
make sense that a single montage has 2 reference points.
And atleast in our test file we have 'GND' and 'REF' in the
same file. Which also seems to be the case
in https://github.com/mne-tools/mne-python/blob/master/mne/io/brainvision/tests/data/test.hpts
as reported https://github.com/mne-tools/mne-python/pull/6764#issuecomment-533206722
cc: @sappelhoff, @agramfort

I've been trying to find what where this 'GND' and 'REF' locations in the doc and googling but I couldn't find it.
@agramfort suggested to plot the postitions and if they are truly the same as 'EEG000' they will appear behind the ear. Well they are not:

import os.path as op
from mne.channels import (Montage, read_montage, read_dig_montage,
                          get_builtin_montages, DigMontage,
                          read_dig_egi, read_dig_captrack, read_dig_fif,
                          make_standard_montage)
from mne import create_info
import mne
import matplotlib.pyplot as plt
from mne.viz import plot_alignment, set_3d_view
from mne.datasets import fetch_fsaverage

plt.switch_backend('Qt5Agg')

data_path = mne.datasets.testing.data_path(download=False)
subjects_dir = op.dirname(fetch_fsaverage())

montage = read_dig_captrack(
    fname=op.join(data_path, 'montage', 'captrak_coords.bvct')
)
info = create_info(ch_names=['GND', 'REF'], sfreq=1, ch_types='eeg',
                   montage=montage)

fig = plot_alignment(
    info=info,
    show_axes=True, dig=True, surfaces='head', trans=None,
    subject='fsaverage', subjects_dir=subjects_dir,
)
set_3d_view(figure=fig, azimuth=135, elevation=80)

What I would do is what this PR is doing, add those channels and positions to the montage.

it's weird to have both GND and REF. One should correspond to EEG000 with neuromag/fif conventions. If it's not called EEG000 then set_montage should be modified to understand that GND or REF are the reference.
@jona-sassenhagen @mmagnuski any idea what GND or REF correspond to here and why there are two things? Should we ignore GND and just take REF as the EEG000 electrode?

This is why:
https://pressrelease.brainproducts.com/referencing/#11
In the end we can ignore the ground and use REF as EEG000

ok this changes one of the dig['ident'] with respect of the fif reference file. Not really sure why.
Any clues?

ok this changes one of the dig['ident'] with respect of the fif reference file. Not really sure why.

It is possible that in this instance we are actually doing something better/more correct than the C code, for example if it does not have an ident=0 and/or does not set chs['loc'][3:6] and we do.

Ok then, I'll ignore info['dig'] and make sure that chs loc is propper.

@larsoner I did it for one of the two. The other one is more annoying.
Please merge if green and happy

Thanks @massich @agramfort


[react-apollo] Fix Query component typing

If case of error, result object doesn't contain data property, please see the original TypeScript typings: https://github.com/apollographql/react-apollo/blob/master/src/Query.tsx#L97

@budde377 could you please review? I noticed that you submitted the first version of the Query component typing

Sure! I'll get on it right away

So according to the documentation and this they never use undefined but rather returns an empty object. This is consistent with what I've experienced, so I believe that the current implementation is correct. Have you experienced something else?

@wzrdzl I see. Well that was super frustrating..... Anyways, I believe the implementation is the final documentation, so I approve of your PR. If I was in a position to do so ;)

Thanks @budde377 !
@GAntoine can we merge this?

Can do, thanks for the PR, and for the quick review @budde377.


⚠ Bofrost.es has degraded performance

In f1cc948, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1563 ms

Resolved: Bofrost.es performance has improved in 785b35e after 19 minutes.


Publishing issue with git diff

Description
The current git diff --git-diff=AM is not correctly tracking only Added and modified files as per [documentation](file:///C:/Program%20Files/Git/mingw64/share/doc/git-doc/git-diff.html).

Identified the bug. Ordering of the refs to compare. Working on fix.

Done


Added args inspect to router exception messages

Improved lotus router messages.
No route (path) could be generated for :child - please check given arguments

:+1:

@jodosha  can we merge this PR?

@AlfonsoUceda Yup, thank you! :clap:


fix: atlantis health check path

Description
Update health check path for Atlantis.
Motivation and Context

https://github.com/runatlantis/atlantis/pull/144

Atlantis has the /healthz endpoint for health checks. This endpoint should be used for health checks from ALB.
For example, if Atlantis BASIC authentication is enabled, this endpoint is the only path that does not require authentication.

https://github.com/runatlantis/atlantis/pull/1896

Breaking Changes

No.
How Has This Been Tested?

[x] I have tested and validated these changes using one or more of the provided examples/* projects

This PR is included in version 3.5.3 :tada:


Alert not sent for workload selector

Rancher versions:
Master 4/17/2018
Steps:
Create a new cluster.
Create a new workload, add a label.
Create a new alert, select "Workload Selector" and use your label.
Results:
Alert is not being triggered for selected label.

@adingilloRancher, the workload alert has the available condition and the default value is 70%. That says only when the available replicas of the workload is less than 70%,  the alert will be triggered.
For example, I deployed a workload of 10 pods,  only when there is less than 7 pods are available, the alert will be triggered.

I set mine to 100% and was not able to get it to trigger.

@adingilloRancher , I could not reproduct this issue. I tested it on GKE. I created a workload with "test=abc" label

And create an alert of workload with  "test=abc" label

The alert is triggered:

Build v2.0.0-rc1
Received alert


Add DirectConnect Support for Firefox 51+

Currently directConnect can't be used with FF 48+. FF 51 was however released today (January 24th) and should now be able to fully support Protractor.
The two other issues impacting directConnect have been fixed:

Fixed: Selenium bug #3115
Fixed: FF bug #1297551

This will also require a Selenium 3.0.2 release
Current Working  FF configuration with directConnect:
Browser: FF 47.0.2
Protractor: 5.0.0
Node: 7.4.0
OS: Win 7 Enterprise
 exports.config = {
    directConnect: true,
    process.env.BASE_URL,
    specs: ['e2e/tests/**/*-e2e.js'],
    capabilities: {
      browserName: 'firefox', //Allow execution against different browsers.
      marionette: false,
      shardTestFiles: !!process.env.SHARD_TESTS,
      maxInstances: process.env.E2E_MAX_INSTANCES || 2,
      allScriptsTimeout: 35000,
      pageLoadingStrategy: 'eager',
    },

    framework: 'jasmine2',

    plugins: [
      {path: path.resolve(__dirname) + '/protractor-plugins/coverage-plugin.js'},
      {path: path.resolve(__dirname) + '/protractor-plugins/reset-plugin.js'},
      {path: path.resolve(__dirname) + '/protractor-plugins/screenshot-plugin.js'}
    ],

    params: {
      disableAnimations: true,
      sharding: false,
      junitFileName: 'TESTS-protractor.xml'
    },

    // Options to be passed to Jasmine-node.
    jasmineNodeOpts: {
      showColors: true,
      defaultTimeoutInterval: 30000,
      isVerbose: true,
      print() {
      } //disable and use jasmine-spec-reporter instead
    },
    onPrepare() {
      const jasmineEnv = jasmine.getEnv();
      browser.driver.manage().window().setSize(1280, 1024);
      }

      jasmineEnv.addReporter(new jasmineReporters.JUnitXmlReporter({
        consolidateAll: true,
        filePrefix: protractorConfig.params.junitFileName,
        savePath: 'results'
      }));

      jasmineEnv.addReporter(new SpecReporter({
        displayStacktrace: 'summary',
        displayPendingSpec: true,
        displaySpecDuration: true
      }));

      require('jasmine-expect');
    }
  };

Please see #3823 and #3953. Support for Firefox 51+ with directConnect will be in the next release. For those not using directConnect, until selenium standalone 3.0.2 is released, 3.0.0-beta4 will work.

@mgiambalvo How soon can we expect the next release? :)

We're hoping for Monday. You should be able to test on Firefox 51 using
selenium standalone until then. You can see how our CircleCI config does it
for an example:
https://github.com/angular/protractor/blob/master/circle.yml
On Tue, Jan 24, 2017 at 3:18 PM, Andrew Lane<EMAIL_ADDRESS>wrote:

@mgiambalvo https://github.com/mgiambalvo How soon can we expect the
next release? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/protractor/issues/4005#issuecomment-274971015,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAlR5VQ4xIPeZm3eAKOkgzx5Ayn6b4qks5rVobhgaJpZM4Ls3sy
.

I am using Protractor 5.1.1 + webdriver-manager 12.0.2, directConnect  true doesn't work with FF 51.0.1. I still have connection timeout issue.
Here is partial of my config file
    capabilities: {
        'browserName': 'firefox',
        marionette: false,
        shardTestFiles: true,
        maxInstances: 3,
    },
    baseUrl: 'http://localhost:8000',
    framework: 'jasmine2',
    jasmineNodeOpts: {
        defaultTimeoutInterval: 120000,
        realtimeFailure: true
    },
    directConnect: true,

Did I do something wrong here?

I am having the exact same issue as @joeydaowang. Any news on this?

same issue as @joeydaowang; protractor 5.1.1, webdriver-manager 12.02 and FF 51.0.1.

@joeydaowang @ngie-mp I think you should enable marionette (default, true) when running Firefox 48+, but this might not fix your issue though

@glepretre I tried with marionette enabled. It didn't help.
Today tried with FF 52, the same issue still.
@mgiambalvo any idea what I have done wrong? thanks

@joeydaowang me too having same issue with latest protractor version and latest webdriver

See the issue with directConnect here: https://github.com/angular/protractor/issues/4253
If you're on FF52 and Selenium 3, you no longer need to set marionette (it's true by default).


webpack -watch is logging an error on startup (when there is no error)

Bug report

What is the current behavior?
webpack -watch outputs the following on startup:
[ERROR]
[ERROR] webpack is watching the files…
[ERROR]

even if the project is perfectly fine.
What is the expected behavior?
Log the aforementioned lines using INFO log level.
Other relevant information:
webpack version:  4.38.0
Node.js version: 10.16.0
Operating System: Windows 10
Additional tools:
Justification: many tools (IntelliJ IDEA in my case) highlight anything logged with ERROR as ... well ... an error. Because webpack uses this logging level, the IDE always warns about run that don't actually exist.

This message is not an error. webpack-cli writes it to stderr, but despite the name stderr is for all kind of diagnostics output. Implying any text written to stderr is an error is incorrect.


Overlapping Text

Hello,
if a line breaks because of the width of the container and starts with a "/" the text overlapps.
tested this here: https://jsfiddle.net/yh2do410/ on Chrome and/or Firefox
what can i do to stop this behavior
Thank you!

Same issue with hyphens.

same problem, is there no solution?


WIP Benchmarks between nuget versions

This is a WIP for creating benchmarkdotnet tests to see performance (currently for testing between nuget packages).
I have asked about specifying different nuget package sources here https://github.com/dotnet/BenchmarkDotNet/pull/922#issuecomment-658519567 (I feel like I had done this in some way when implementing that feature but can't remember now) since that will be needed to test the 'current' version. It is not possible to reference the 'current' projects and then also use 'WithNuget' because that results in Nuget errors.
Currently just added a single benchmark as an example, this is just the script from the home page. There's manual iterations specified in there so that we don't get warnings from BenchmarkDotNet about MultimodalDistribution or MinIterationTime since one less iterations are too fast to measure correctly.
This example benchmark isn't showing much since the results are nearly identical between versions, for example:

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.900 (1909/November2018Update/19H2)
Intel Core i7-7700HQ CPU 2.80GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=3.1.400-preview-015151
  [Host]          : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00007 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00008 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00009 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT

IterationCount=15  LaunchCount=2  WarmupCount=10

Method
Job
NuGetReferences
Mean
Error
StdDev
Gen 0
Gen 1
Gen 2
Allocated

HomePageScript
4.8.0-beta00007
Lucene.Net.Analysis.Common 4.8.0-beta00007
207.5 ms
3.94 ms
5.65 ms
63000.0000
6000.0000
1000.0000
249.37 MB

HomePageScript
4.8.0-beta00008
Lucene.Net.Analysis.Common 4.8.0-beta00008
196.8 ms
6.20 ms
9.28 ms
60000.0000
9000.0000
2000.0000
250.74 MB

HomePageScript
4.8.0-beta00009
Lucene.Net.Analysis.Common 4.8.0-beta00009
208.8 ms
7.15 ms
9.54 ms
62000.0000
7000.0000
2000.0000
250.77 MB

Thanks for putting this together.
I suspect the reason you are not seeing an improvement between versions is because you are using a RAMDirectory, which bypasses the codecs and some other components that we have improved.
I added benchmarks using the IndexFiles and SearchFiles from Lucene.Net.Demo as templates. These are set up to use a fixed seed to generate the same data over and over again so we don't have to add several megabytes of test files to the repo just to do a benchmark.
Index speed doesn't seem to have improved, but search speed has doubled since 4.8.0-beta00005 (the one with the most downloads on NuGet.org). Here are the results for .NET Core 3.1 on on Windows.
Indexing

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.900 (1909/November2018Update/19H2)
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.1.301
  [Host]          : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT  [AttachedDebugger]
  4.8.0-beta00005 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00006 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00007 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00008 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00009 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00010 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT

InvocationCount=1  IterationCount=15  LaunchCount=2
UnrollFactor=1  WarmupCount=10

Method
Job
NuGetReferences
Mean
Error
StdDev
Gen 0
Gen 1
Gen 2
Allocated

IndexFiles
4.8.0-beta00005
Lucene.Net.Analysis.Common 4.8.0-beta00005
734.9 ms
37.14 ms
55.58 ms
44000.0000
8000.0000
7000.0000
221.09 MB

IndexFiles
4.8.0-beta00006
Lucene.Net.Analysis.Common 4.8.0-beta00006
703.7 ms
13.92 ms
20.83 ms
44000.0000
8000.0000
7000.0000
221.07 MB

IndexFiles
4.8.0-beta00007
Lucene.Net.Analysis.Common 4.8.0-beta00007
705.3 ms
15.95 ms
23.38 ms
43000.0000
8000.0000
7000.0000
221 MB

IndexFiles
4.8.0-beta00008
Lucene.Net.Analysis.Common 4.8.0-beta00008
747.0 ms
42.43 ms
59.47 ms
44000.0000
8000.0000
7000.0000
221.39 MB

IndexFiles
4.8.0-beta00009
Lucene.Net.Analysis.Common 4.8.0-beta00009
725.3 ms
25.59 ms
36.70 ms
44000.0000
8000.0000
7000.0000
221.31 MB

IndexFiles
4.8.0-beta00010
Lucene.Net.Analysis.Common 4.8.0-beta00010
724.1 ms
15.41 ms
22.10 ms
44000.0000
8000.0000
7000.0000
221.23 MB

Searching

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.900 (1909/November2018Update/19H2)
Intel Core i7-8850H CPU 2.60GHz (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
.NET Core SDK=3.1.301
  [Host]          : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT  [AttachedDebugger]
  4.8.0-beta00005 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00006 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00007 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00008 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00009 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT
  4.8.0-beta00010 : .NET Core 3.1.5 (CoreCLR 4.700.20.26901, CoreFX 4.700.20.27001), X64 RyuJIT

IterationCount=100  LaunchCount=3  WarmupCount=15

Method
Job
NuGetReferences
Mean
Error
StdDev
Median
Gen 0
Gen 1
Gen 2
Allocated

SearchFiles
4.8.0-beta00005
Lucene.Net.Analysis.Common 4.8.0-beta00005,Lucene.Net.QueryParser 4.8.0-beta00005
171.18 ms
2.004 ms
10.283 ms
169.51 ms
9000.0000
1000.0000
-
41.35 MB

SearchFiles
4.8.0-beta00006
Lucene.Net.Analysis.Common 4.8.0-beta00006,Lucene.Net.QueryParser 4.8.0-beta00006
169.86 ms
2.666 ms
13.754 ms
168.14 ms
9000.0000
1000.0000
-
41.35 MB

SearchFiles
4.8.0-beta00007
Lucene.Net.Analysis.Common 4.8.0-beta00007,Lucene.Net.QueryParser 4.8.0-beta00007
173.67 ms
3.417 ms
17.595 ms
169.20 ms
9000.0000
1000.0000
-
41.26 MB

SearchFiles
4.8.0-beta00008
Lucene.Net.Analysis.Common 4.8.0-beta00008,Lucene.Net.QueryParser 4.8.0-beta00008
95.97 ms
1.178 ms
6.068 ms
95.84 ms
8666.6667
500.0000
-
40.33 MB

SearchFiles
4.8.0-beta00009
Lucene.Net.Analysis.Common 4.8.0-beta00009,Lucene.Net.QueryParser 4.8.0-beta00009
93.31 ms
0.776 ms
3.890 ms
93.60 ms
8666.6667
500.0000
-
40.33 MB

SearchFiles
4.8.0-beta00010
Lucene.Net.Analysis.Common 4.8.0-beta00010,Lucene.Net.QueryParser 4.8.0-beta00010
85.79 ms
0.307 ms
1.552 ms
85.70 ms
8666.6667
500.0000
-
40.19 MB

It would be good to set up a stage on Azure DevOps to run these (off by default) so we can see the results on different operating systems and target frameworks.

I have rebased against the master branch so this is up to date again.
I also rearranged the project so all of the NuGet versions are defined in BuildConfigurations.cs. I also got it working (sort of) with a local build from source so it can be compared against the NuGet packages. Unfortunately, I couldn't find any documentation of what the defaults are for the properties of a Release build, so this appears to be basically building a Debug build with optimizations turned on. Requires more research to set all of the Release properties when the configuration is LocalBuild.
This isn't quite up to the state which we can merge it, though - we still need a top-level benchmarks folder as mentioned in #349 and to reorganize the project as well as rename this from Lucene.Net.Tests.BenchmarkDotNet to something that doesn't include the word Tests, but it is a few steps closer to where we need to be and it is quicker to update all of the benchmarks with a new set of NuGet packages now.


Link to this repo from your iJS 2021 talk?

Hi, thanks for a great talk here https://www.youtube.com/watch?v=zq4s3LAUz4A
I think that video's description could use a link to https://github.com/rust-linz/rust-fundamentals-training/tree/main/examples/110-wasm as it's mentioned around 24:30
Thanks again!

Yes, it is the repo. Thank you for pointing that out. Video now has link to the code.


dd5fceb4-00c4-42ae-abe2-cec64e75e6a1

this is for automated testing

42dcbaed-3360-44de-a7da-3a15dd061f83


internal/filetransfer: micro-deposit returns only need one (Receiver) Depository

Since micro-deposits are originated via our ODFIAccount there won't be an originating Depository like with Transfer (returns) and instead we just need to match the receiving Depository.

Codecov Report

Merging #272 into master will decrease coverage by 3.77%.
The diff coverage is 77.27%.

@@            Coverage Diff             @@
##           master     #272      +/-   ##
==========================================
- Coverage   61.39%   57.61%   -3.78%
==========================================
  Files          43       43
  Lines        4813     4811       -2
==========================================
- Hits         2955     2772     -183
- Misses       1310     1514     +204
+ Partials      548      525      -23

Impacted Files
Coverage Δ

internal/filetransfer/return.go
50.63% <0%> (-2.31%)
:arrow_down:

internal/filetransfer/returned_transfers.go
60.6% <80.95%> (+35.6%)
:arrow_up:

internal/accounts.go
10.95% <0%> (-69.87%)
:arrow_down:

internal/database/mysql.go
10.66% <0%> (-50.67%)
:arrow_down:

internal/ofac/client.go
38.65% <0%> (-35.3%)
:arrow_down:

internal/filetransfer/sftp.go
47.08% <0%> (-24.87%)
:arrow_down:

internal/microDeposits.go
64.03% <0%> (-1.48%)
:arrow_down:

internal/filetransfer/config.go
70.12% <0%> (-0.49%)
:arrow_down:

Continue to review full report at Codecov.

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


QPPCT-715: de smell

Information

QPPCT-715

Changes proposed in this PR:

addressed some technical debt

Checklist

[ ] All JUnit tests pass (mvn clean verify).
[ ] New unit tests written to cover new functionality.
[ ] Added and updated JavaDocs for non-test classes and methods.
[ ] No local design debt. Do you feel that something is "ugly" after your changes?
[ ] Updated documentation (README.md, etc.) depending if the changes require it.

I'm not too terribly keen on the catching of RuntimeException


Flowtype migration

⚠ Do Not Merge
This essentially requires the user of the boilerplate to know at least a little flow. Lets merge this when we provide some learning resources and documentation on the tools that this boilerplate uses

[x] Update eslint-plugin-flowtype-errors
[x] Add eslint-plugin-flowtype
[x] Add babel-plugin-tcomb
[x] Migrate react static propTypes to flow types

@danielbushman for some reason I can add you as a reviewer. Would be great if you could review this.
When should this be merged? The propTypes examples in the boilerplate use flow: https://github.com/chentsulin/electron-react-boilerplate/blob/flowtype-props-migration/app/components/Counter.js#L7-L13
This allows for better static analysis when developing. Also if I'm not mistaken, propTypes will be deprecated at some point.
Is this okay to be merged now?

@dustintownsend accidentally tagged the wrong person. Meant to tag you in https://github.com/chentsulin/electron-react-boilerplate/pull/607#issuecomment-266163847. Would be great if you could respond to it thanks.

@amilajack I really need to learn more about flow. I assume it's basically just making javascript more like typescript. For the benefit of catching typos/code mistakes in the editor.
I'm not 100% sure what I'm looking for here, but I see the same warnings from #610 but in the editor. ESLint warnings for flowtype/no-weak-types. I assume this is what is expected and if so it's working.
I am running Atom with the recommended packages from the readme.

@dustintownsend that's a linter error that we get from using very weak/generic types like so:
function foo(x: Object, y: Function) {}

Object and Function are weak types. Its better to do something like so:
type x = {
  name: string,
  age: number
}
function foo(x: x, y: () => void) {}

@dustintownsend Hmm try restarting the editor.
Here's what I see:

Try restarting atom

@amilajack if I add /* eslint flowtype/no-weak-types: 2 */ to the file I get the Error instead of Warning.
Is that the expected behavior?


metrics: add metrics, benchmarks for PolicyAdd, PolicyDelete

We need visibility into insight about how the PolicyAdd function scales.
We have metrics to see how long it takes for a given policy to be 'implemented' for a given endpoint, which was added in
https://github.com/cilium/cilium/pull/7160 .

[x] Similar to endpoint regeneration, we should have timing / metrics for how long certain operations in PolicyAdd take.
[ ] Benchmark how long it takes to add 1000 REST API calls for adding policy
[ ] Benchmark how long it takes to add a CNP with 1000 rules

Question: what should the content of the rules be?

Things to note:

we do not do rule sanitization as part of PolicyAdd - maybe we should benchmark this as well?

@vadorovsky are you still interested in pursuing this? Otherwise we can unassign you. Anyone is welcome to volunteer to take up this issue, if we wish to improve this area further or understand the performance profile of policy calculation.

@joestringer I unassigned myself, sorry!


Improvements/fixes to bluetooth handling

Couple of changes

Add explicit types for pairing requests since the previous types were wrong
Better error logging when timeouts occur
Support for connecting to Bluetooth devices with other address types

thx


Error Building Component - Docker

Bug Description
Hello, I'm having a issue with Langflow v1.1.1, I've been using the version with Docker normally, until after a while I noticed that the platform's AI models notify an unexpected error of the type: (Error Component Error building Component OpenAI), but when using other models such as Groq Component, HuggingFace or OpenAI, the same error appears - This applies to embedding models as well. Does anyone know if this can be resolved?
Reproduction
Common Errors Messages:

Error Building Component Error building Component (OpenAI, Groq or HuggingFace) - Models
Erroar Building Component Error building Component HuggingFace - Embedding Models

Expected behavior
I want you to discover the error behind the Error Component Error building Component Models.
Who can help?
No response
Operating System
Ubuntu Linux 22.04
Langflow Version
1.1.1
Python Version
3.10
Screenshot

Flow File
No response

You should click on this button below

to get more info on this. What does it say?

Hi @nabrgm , sorry about that, I couldn't wait for an answer, so I tried several ways and came to a temporary conclusion. I restarted my docker and used docker-compose start/stop instead of docker-compose up/down, I realised it works (because docker preserves container states - or something). If the problem still persists, I'll report it again.

You should close this then :)


Proposal - Deel Platform (Independent Publisher)

When submitting a connector, please make sure that you follow the requirements below, otherwise your PR might be rejected. We want to make you have a well-built connector, a smooth certification experience, and your users are happy :)
If this is your first time submitting to GitHub and you need some help, please sign up for this session.

[✔  ] I attest that the connector doesn't exist on the Power Platform today. I've verified by checking the pull requests in GitHub and by searching for the connector on the platform or in the documentation.
[x] I attest that the connector works and I verified by deploying and testing all the operations.
[x] I attest that I have added detailed descriptions for all operations and parameters in the swagger file.
[x] I attest that I have added response schemas to my actions, unless the response schema is dynamic.
[x] I validated the swagger file, apiDefinition.swagger.json, by running paconn validate command.
[x] If this is a certified connector, I confirm that apiProperties.json has a valid brand color and doesn't use an invalid brand color, #007ee5 or #ffffff. If this is an independent publisher connector, I confirm that I am not submitting a connector icon.

If you are an Independent Publisher, you must also attest to the following to ensure a smooth publishing process:

[x] I have named this PR after the pattern of "Connector Name (Independent Publisher)" ex: HubSpot Marketing (Independent Publisher)
[x] Within this PR markdown file, I have pasted screenshots that show: 3 unique operations (actions/triggers) working within a Flow. This can be in one flow or part of multiple flows. For each one of those flows, I have pasted in screenshots of the Flow succeeding.
[x] Within this PR markdown file, I have pasted in a screenshot from the Test operations section within the Custom Connector UI.
[x] If the connector uses OAuth, I have provided detailed steps on how to create an app in the readme.md.

@microsoft-github-policy-service agree [company=""]
Hilmus Software http://hilmus.com
On Thu, Sep 29, 2022 at 10:14 AM microsoft-github-policy-service[bot] <
@.***> wrote:

@jetsstarplus https://github.com/jetsstarplus please read the following
Contributor License Agreement(CLA). If you agree with the CLA, please reply
with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of
intellectual property rights to my Submissions and I am not making
Submissions in the course of work for my employer.
(when company given) I am making Submissions in the course of work
for my employer (or my employer has intellectual property rights in my
Submissions by contract or applicable law). I have permission from my
employer to make Submissions and enter into this Agreement on behalf of my
employer. By signing below, the defined term “You” includes me and my
employer.

Contributor License Agreement Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the
party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its
affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is
effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable
or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft
and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or
distributing code or other content to any
Project, including but not limited to communication on electronic
mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf
of, the Project for the purpose of
discussing and improving that Project, but excluding communication
that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material
Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement
before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now
or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions
is entirely Your original work.
Should You wish to Submit materials that are not Your original work,
You may Submit them separately
to the Project if You (a) retain all copyright and license information
that was in the materials as You
received them, (b) in the description accompanying Your Submission,
include the phrase “Submission
containing materials of a third party:” followed by the names of the
third party and any licenses or other
restrictions of which You are aware, and (c) follow any other
instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include
Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a
contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your
employer has intellectual
property rights in Your Submission by contract or applicable law, You
must secure permission from Your
employer to make the Submission before signing this Agreement. In that
case, the term “You” in this
Agreement will refer to You and the employer collectively. If You
change employers in the future and
desire to Submit additional Submissions for the new employer, then You
agree to sign a new Agreement
and secure permission from the new employer before Submitting those
Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the
Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly
display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all
of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the
Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or
the combination of the
Submission with the Project to which it was Submitted to make, have
made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the
Project.
Other Rights Reserved. Each party reserves all rights not
expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without
limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are
legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your
original work (except as You may
have disclosed under Section 3). You represent that You have secured
permission from Your employer to
make the Submission in cases where Your Submission is made in the
course of Your work for Your
employer or Your employer has intellectual property rights in Your
Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You
represent and warrant that You
have the necessary authority to bind the listed employer to the
obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless
You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE
WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED
UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO,
ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of
any facts or circumstances of which
You later become aware that would make Your representations in this
Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to
Projects and information about
contributions may be maintained indefinitely and disclosed publicly,
including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the
laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal
courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in
which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County,
Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire
agreement between the parties, and
supersedes any and all prior agreements, understandings or
communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may
be assigned by Microsoft.

—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerPlatformConnectors/pull/2010#issuecomment-1261863663,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSYB5V7Z7PFY4IY6FNDMZLWAU6ULANCNFSM6AAAAAAQYOXWXU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @jetsstarplus,
Thank you so much for your new proposal submission. We are looking forward to seeing your connector artifacts soon.
Please let us know if you have any questions.
Thank you so much again for working with us.

Hello @jetsstarplus,
I hope you are doing well.
I am following up with you to see how things are going with preparing your connector.
Please let us know if you have any questions.
Thank you.

Hello
I'm performing more research on the platform.
Kindly bare with me
On Fri, 30 Dec 2022, 22:49 Amjed Ayoub, @.***> wrote:

Hello @jetsstarplus https://github.com/jetsstarplus,
I hope you are doing well.
I am following up with you to see how things are going with preparing your
connector.
Please let us know if you have any questions.
Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerPlatformConnectors/pull/2010#issuecomment-1368069726,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSYB5U6AG4P4THMLVPJE63WP44DLANCNFSM6AAAAAAQYOXWXU
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @jetsstarplus ,
I hope you are doing well.
We would like to know the status of your connector. It has been in our repo since September 2022.
Please let us know how you would like to proceed.
Please do not hesitate to reach out if you have any questions as we are always happy to help.
Thank you very much.

Hello @jetsstarplus ,
I hope you are doing well.
Your connector has been in our repo since September 2022, hence we are closing this PR.  Please create a new PR whenever your artifacts are ready.
Thank you very much for you patience and understadning.


Spark integration, and examples

Hi @rjagerman, this project looks very interesting and I'd like to explore it a bit more. You mention Spark integration as a goal, has there been work done on that? What about example algorithms using this parameter server?

Thanks for your interest in the project! Currently the parameter server runs stand-alone outside of Spark which means you'd have to run the master and servers on a cluster as separate java processes from Spark (the scripts in the sbin folder can help with that). When spawning big matrices or vectors on the parameter server you get a BigMatrix and BigVector object back respectively. These objects are serializable and can safely be used within a spark function, thus running it with Spark is extremely easy:
val matrix = glintclient.matrix[Double](100000, 1000)
val rdd = ... // some spark RDD
rdd.foreachPartition { case partition =>
    ... // this will get executed on your spark workers
    ... // they can safely use the matrix object
    ... // e.g. matrix.pull(Array(0, 1, 2 , 3))
}

This project is part of my ongoing Master thesis. I currently have an implementation of LDA that uses this parameter server and Spark that scales up to 2TB of data and 1000s of topics on a moderate computing cluster. I will open source that implementation within the next month or so.
I will also write more extensive documentation going into more detail how to set up a cluster, some code examples and some tuning tips with regards to ExecutionContexts, timeouts, etc. Due to other deadlines regarding my thesis I haven't found the time for this yet.

Ok, thanks. I'd like to see if I can find some time to investigate some implementations on top of this.
Do you know how it compares to https://github.com/dmlc/ps-lite in terms of performance etc? In terms of ease-of-integration with frameworks like Spark, something based on Scala/Akka seems much nicer.

I currently have not compared the performance to ps-lite (or any other parameter server for that matter), but it would be a very interesting thing to measure. If I had to guess I'd say that ps-lite is much faster. Especially due to the very early alpha-state and experimental nature of Glint compared to the very mature implementation of ps-lite. My main goal is indeed to have a parameter server that is very easily integrated with Spark. So far it seems to work well in my practical case (LDA with Collapsed Gibbs sampling) but some raw numbers like updates/sec, requests/sec, etc. would be very interesting. I'll keep you updated here when I have some real measurements.
Additionally Glint has no regard for fault tolerance (unlike ps-lite, which offers instantaneous failover), so if a server goes down the data is lost. This is something I definitely wish to address in the future but is at the moment outside the scope of the project.

I've started working on some POCs for Spark integration starting with
linear models for simplicity. I will see if I can do some performance
testing at some point. Would you be willing to share some code samples you
have for Spark integration (privately if need be)?
On Thu, 11 Feb 2016 at 18:29 Rolf Jagerman<EMAIL_ADDRESS>wrote:

I currently have not compared the performance to ps-lite (or any other
parameter server for that matter), but it would be a very interesting thing
to measure. If I had to guess I'd say that ps-lite is much faster.
Especially due to the very early alpha-state and experimental nature of
Glint compared to the very mature implementation of ps-lite. My main goal
is indeed to have a parameter server that is very easily integrated with
Spark. So far it seems to work well in my practical case (LDA with
Collapsed Gibbs sampling) but some raw numbers like updates/sec,
requests/sec, etc. would be very interesting. I'll keep you updated here
when I have some real measurements.
Additionally Glint has no regard for fault tolerance (unlike ps-lite,
which offers instantaneous failover), so if a server goes down the data is
lost. This is something I definitely wish to address in the future but is
at the moment outside the scope of the project.
—
Reply to this email directly or view it on GitHub
https://github.com/rjagerman/glint/issues/28#issuecomment-182944072.

That sounds great! :+1:
I have just now open sourced the LDA implementation here so you could take a look at that. It is based on some state-of-the-art LDA research and the many low-level optimizations, caches and buffers make the code base a bit hard to follow. I can give you some pointers:
The construction of the count-table matrix for the collapsed Gibbs sampler happens here
val topicWordCounts = gc.matrix[Long](config.vocabularyTerms, config.topics, 2, (x,y) => CyclicPartitioner(x, y))

The solver uses Spark to map partitions of our RDD to resampled partitions (effectively doing an LDA iteration) here
rdd = rdd.mapPartitionsWithIndex { case (id, it) =>
    val s = solver(model, id)
    val partitionSamples = it.toArray
    s.fit(partitionSamples, t)
    partitionSamples.toIterator
}

The s.fit(...) function internally uses the earlier constructed matrix on the parameter servers to perform an actual iteration of the algorithm and updates the counts on the matrix accordingly. It iterates over the matrix on the parameter servers here and updates counts on the parameter server here and here.
We make extensive use of buffers for performance reasons, so this can obfuscate the code quite a bit. The locks that you see in the code act as a back pressure mechanism that limit the number of open requests to the parameter servers. This is necessary since the code is so fast that it could easily flood the parameter server by asynchronously sending requests.
I will be finished with my thesis in about 2 weeks, after which I'll have some more time to create some minimal examples that are much easier to read and understand. In the mean time I hope this helps! :-)

Great, I will take a deeper look at that code. The general approach is
along the lines of what my approach is (i.e. run iterations within
mapPartitions).
On Tue, 15 Mar 2016 at 17:39 Rolf Jagerman<EMAIL_ADDRESS>wrote:

That sounds great! [image: :+1:]
I have just now open sourced the LDA implementation here
https://github.com/rjagerman/glintlda so you could take a look at that.
It is based on some state-of-the-art LDA research and the many low-level
optimizations, caches and buffers make the code base a bit hard to follow.
I can give you some pointers:
The construction of the count-table matrix for the collapsed Gibbs sampler
happens here
https://github.com/rjagerman/glintlda/blob/master/src/main/scala/glintlda/LDAModel.scala#L133
val topicWordCounts = gc.matrix[Long](config.vocabularyTerms, config.topics, 2, (x,y) => CyclicPartitioner(x, y))
The solver uses Spark to map partitions of our RDD to resampled partitions
(effectively doing an LDA iteration) here
https://github.com/rjagerman/glintlda/blob/master/src/main/scala/glintlda/Solver.scala#L255
rdd = rdd.mapPartitionsWithIndex { case (id, it) =>
val s = solver(model, id)
val partitionSamples = it.toArray
s.fit(partitionSamples, t)
partitionSamples.toIterator
}
The s.fit(...) function internally uses the earlier constructed matrix on
the parameter servers to perform an actual iteration of the algorithm and
updates the counts on the matrix accordingly. It iterates over the matrix
on the parameter servers here
https://github.com/rjagerman/glintlda/blob/master/src/main/scala/glintlda/mh/MHSolver.scala#L44
and updates counts on the parameter server here
https://github.com/rjagerman/glintlda/blob/master/src/main/scala/glintlda/mh/MHSolver.scala#L245
and here
https://github.com/rjagerman/glintlda/blob/master/src/main/scala/glintlda/mh/MHSolver.scala#L275
.
We make extensive use of buffers for performance reasons, so this can
obfuscate the code quite a bit. The locks that you see in the code act as a
back pressure mechanism that limit the number of open requests to the
parameter servers. This is necessary since the code is so fast that it
could easily flood the parameter server by asynchronously sending requests.
I will be finished with my thesis in about 2 weeks, after which I'll have
some more time to create some minimal examples that are much easier to read
and understand. In the mean time I hope this helps! :-)
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/rjagerman/glint/issues/28#issuecomment-196885286

Also another hint that could be helpful: In my glint configuration I increased the Akka frame size and heart beat timeouts. This allows me to send much larger pull and push requests. My configuration file looks like this:
glint.master.host   = "<IP_ADDRESS>"
glint.master.port   = 13370
glint {
  server.akka.loglevel = "INFO"
  server.akka.stdout-loglevel = "INFO"
  client.akka.loglevel = "ERROR"
  client.akka.stdout-loglevel = "ERROR"
  master.akka.loglevel = "INFO"
  master.akka.stdout-loglevel = "INFO"
  master.akka.remote.log-remote-lifecycle-events = on
  server.akka.remote.log-remote-lifecycle-events = off
  client.akka.remote.log-remote-lifecycle-events = on
  client.timeout = 30 s

  master.akka.remote.transport-failure-detector.acceptable-heartbeat-pause = 120 s
  server.akka.remote.transport-failure-detector.acceptable-heartbeat-pause = 120 s
  client.akka.remote.transport-failure-detector.acceptable-heartbeat-pause = 120 s
  master.akka.remote.watch-failure-detector.acceptable-heartbeat-pause = 120 s
  server.akka.remote.watch-failure-detector.acceptable-heartbeat-pause = 120 s
  client.akka.remote.watch-failure-detector.acceptable-heartbeat-pause = 120 s

  server.akka.remote.netty.tcp.maximum-frame-size = 10240000b
  client.akka.remote.netty.tcp.maximum-frame-size = 10240000b
  server.akka.remote.netty.tcp.send-buffer-size = 20480000b
  client.akka.remote.netty.tcp.send-buffer-size = 20480000b
  server.akka.remote.netty.tcp.receive-buffer-size = 20480000b
  client.akka.remote.netty.tcp.receive-buffer-size = 20480000b
}

I've added slightly more comprehensive documentation at http://rjagerman.github.io/glint/. This might be of use to you as it includes a short section on spark integration and serialization (see the getting started guide).
I'm also currently working on getting some benchmarks for common tasks (e.g. logistic regression, SVMs, regression, all-reduce, etc.) so we can compare glint against spark and other frameworks. In time this will produce some more example code for these common tasks.

Thanks Rolf! I have been swamped with Spark 2.0 work, but I'd like to get
back to some PoC work with glint after that is done
On Wed, 11 May 2016 at 16:49, Rolf Jagerman<EMAIL_ADDRESS>wrote:

I've added slightly more comprehensive documentation at
http://rjagerman.github.io/glint/. This might be of use to you as it
includes a short section on spark integration and serialization (see the
getting started guide).
I'm also currently working on getting some benchmarks for common tasks
(e.g. logistic regression, SVMs, regression, all-reduce, etc.) so we can
compare glint against spark and other frameworks. In time this will produce
some more example code for these common tasks.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/rjagerman/glint/issues/28#issuecomment-218483069

Hi @rjagerman ,After the look of your code ,I think it's clear to use the your API  in the spark map or mapPartitions operations ,But how about the spark aggregate,I find it's a little hard to use your API,such as I want to implement Gradient Descent. Thanks!


SQL Server 2016 Change Data Capture support

Is there any support planed for the sql server feature called "Change Data Capture".
How to collect this information with Entity Framework core to use this informations in my project.
Why: Currently i create a web application in .NET Core (Yeah! Rocks!) which is an intranet application that hold many entity informations and the costumer needs a high traceablity and data integrity for each change...
EF Core version: 1.1.0
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
IDE: Visual Studio 2015

I think it is not related to using EF Core, you can just enable it on your server.

You are right but my costumer won't look into the plain DB. For this we are planing something like a dashboard in the backend area

?? Are you talking about showing the results of this? https://msdn.microsoft.com/en-us/library/bb522553.aspx

@ErikEJ Right.

This isn't really something we would bake into EF, but you could definitely use EF to get the info from the database and then write an app to display it.

@rowanmiller

...but you could definitely use EF to get the info from the database and then write an app to display it

Can you in short explain how to get this information with EF. Thanks

@subprime  Create/map an entity to hold the data, and use EF to query for that data. (remove it manually from scaffolded migrations)