Broom for naive bayes and logistic regression

Hi @javierluraschi,
I've done tidy(), augment() and glance() for naive bayes and logistic regression.
I realized that augment() code will be the same for supervised models and the only difference is the column name .prediction (for regression) and .predicted_label (for classification). Because of this, I created a function named broom_augment_supervised() inside the utils_tidier.R. This function verify the model's class and put the appropriate name inside augment() data.frame.
Here is the code you can run:
library(sparklyr)
sc <-  spark_connect(master = "local", version = "2.2.1")
iris_tbl <- sdf_copy_to(sc, iris, name = "iris_tbl", overwrite = TRUE)

# logistic regression (binary classification)
iris_tbl %>%
  dplyr::filter(Species != "setosa") %>%
  ml_logistic_regression(Species ~ .) %>%
  tidy()

# logistic regression (multiclass classification)
iris_tbl %>%
  ml_logistic_regression(Species ~ .) %>%
  tidy()

# naive bayes (multiclass classification)
iris_tbl %>%
  ml_naive_bayes(Species ~ .) %>%
  tidy()

# logistic regression with new data
iris_tbl %>%
  ml_logistic_regression(Species ~ .) %>%
  augment(head(iris_tbl,25))

# naive bayes without newdata
iris_tbl %>%
  ml_naive_bayes(Species ~ .) %>%
  augment()

# decision_tree (classification)
iris_tbl %>%
  ml_decision_tree(Species ~ ., seed = 123) %>%
  augment()

# decision_tree (regression)
iris_tbl %>%
  ml_decision_tree(Sepal_Length ~ Petal_Length + Petal_Width, seed = 123) %>%
  augment()

# logistic regression
iris_tbl %>%
  ml_logistic_regression(Species ~ .) %>%
  glance()

iris_tbl %>%
  ml_naive_bayes(Species ~ .) %>%
 glance()

LGTM! Thank you, @samuelmacedo83!


Guard context receives message array instead of message

Describe the bug
The guard receives an array of messages instead of a single message, like it is described in the docs.
To Reproduce
Steps to reproduce the behavior:

Create a simple guard
Console.log or use a breakpoint to view the context parameter

Expected behavior
The context should be a single message as described in the docs
Screenshots

Desktop (please complete the following information):

OS: Windows

Incorrect documentation. context always is array because the number of handler arguments can be multiple. Will be fixed in the next update.

Fixed in v0.3.6


More scopes in Social Sign-In Providers

Hi! How can I add other permissions to the APP? For example with facebook request user_post? Tanks!

I believe this has to be done manually by the team if using the cloud version.

Right now, the scopes are hard-coded, like this for Facebook.
But we can change them manually, as @mdp18 mentioned. We'll add the UI to make the scopes editable in the Nhost Dashboard.

While this isn't possible on the dashboard yet, you can use the nhost.toml to set the scopes. Run nhost config example and look for "scopes" to find examples.


File does not exists modules.used

Hi,
I was trying to execute the following command
php artisan module:make-request LoginRequest
But, I got the following error.
File does not exist at path /laravel/storage/app/modules/modules.used

Hi,
That's because you didn't specify which module you want that request to be generated for.
When in doubt, you can always run php artisan your-commnad --help to known which arguments it needs.
You can always use the php artisan module:use blog command which would remember the module you're working on the so you don't have to specify the module name argument.

It worked. Sorry for premature reporting.
Thanks!

No worries, glad you got it working. 😄


Updating Computer Assets in alm_asset Database

Environment
Operating System: 10.0.14393
ServiceNow module version:  3.1.7
PowerShell version: 5.1.14393.5127

Steps to reproduce
ex1:
$var = get-servicenowrecord -table alm_asset -First 5000 | ? { $_.serial_number -match 'XXXXXXX' }
$Var | update-servicenowrecord -values @{warranty_expiration = '07/14/2022'}
Expected behavior
Update Warranty field with Date String
Actual behavior
Nothing happens when executing the PS Commandlets unlike with other SN Data Types like: INC, REQS, RITMs etc...
The reasoning this is needed is to use another process to obtain the warranty information and to ingest it for the specific SN Asset under the appropriate warranty information property. I am positive the account has full access to be able to read/write to this table and I am able to update other SN item types when specifying the ID is possible unlike with Asset items.
Screenshots

@radcox, this is due to sys_class_name, an alias for -Table, not always being the same as the table name; in the case of alm_asset this is always true.  Add -table alm_asset to Update-ServiceNowRecord and try again.
Instead of get-servicenowrecord -table alm_asset -First 5000 | ? { $_.serial_number -match 'XXXXXXX' }, you are better served by adding a filter to the query.  get-servicenowrecord -table alm_asset -First 5000 -Filter @('serial_number', '-like', 'xxxxxx').  This will only bring back the data you are looking for, always a good thing, which could definitely be less than 5k records.  Also, as is, there's a chance what you are looking for isn't in those first 5000 records.

Thank you for this information, it was a 2 fold issue, yes, adding the -table parameter for alm_asset (due to sys_class_name) allowed the value to be written but the service account also did not have the appropriate write permissions dispite what I was informed (since I don't have access to manage SN permissions.) I agree that using the filtering is more appropriate and much more efficient. Thanks again, Huge help.


Fatal error: Uncaught Error: Class 'Webuntis\Configuration\WebuntisConfiguration' not found

Hi,
I'm trying to get your project running on XAMPP. I installed it via composer and tried to use your sample.
I'm getting the following error.

Fatal error: Uncaught Error: Class 'Webuntis\Configuration\WebuntisConfiguration' not found in C:\xampp\htdocs\webuntis\test.php:5 Stack trace: #0 {main} thrown in C:\xampp\htdocs\webuntis\test.php on line 5

Do I need to add anything else?
Thx in advance.

Can you please show me the code, or else i cant really see what you could have done wrong.

It's the code from your sample:
`<?php
require_once DIR . '/vendor/autoload.php';
$config = new \Webuntis\Configuration\WebuntisConfiguration([
'default' => [
//f.e. thalia, cissa etc.
'server' => 'yourserver',
'school' => 'yourschool',
'username' => 'yourname',
'password' => 'yourpassword'
],
'admin' => [
'server' => 'yourserver',
'school' => 'yourschool',
'username' => 'youradmin',
'password' => 'youradminpassword'
]
]);
$query = new \Webuntis\Query\Query();
$format = 'json';
//format can also be null
// Students
$serializedContend = Webuntis\Serializer\Serializer::serialize($query->get('Students')->findAll(), $format);
// Teachers
$serializedContend = Webuntis\Serializer\Serializer::serialize($query->get('Teachers')->findAll(), $format);
?>`

I think your path to the autoload.php is wrong. It should be DIR and not DIR. If this does not work print the path of the autoload.php and check if it is the correct one, if not change the path so it is the same.

I'm sorry i didn't know that __DIR__ will be DIR

but still check if the autoload is required

autoload is required correctly. When I rename it, the correct error is fired.

Which PHP Version do you have?

XAMPP with PHP 7.2.12

And the lib is in the right directory with the right namespace?

what I did:

unpacked the files in /src from your package to /htdocs/webuntis
installed composer and ran > composer require tfranek/webuntis
copied composer.json to /htdocs/webuntis and ran composer install

so folder structure is
/htdocs

/webuntis
/CacheBuilder
/Client
/Command
/Configuration
/Exceptions
/Handler
/Models
/Query
/Repositories
/Resources
/Security
/Serializer
/Types
/Vendor

OK so thats not quite how you Install a composer package. Install composer. Add a composer.json with composer init. And after that just run composer require ...

For more information please see the composer docs

Do you have valid Login Info? For students your account also needs special rights, atleast in my school this was the case.

I'm a teacher an have a valid log in and probably the neccessary rights.
How do I enter spaces in the school name?

There should not be spaces in the school name, the schoolname for the lib school be found in the url or not so you just leave it blank.

Our school name has spaces in it. When loggin into Webuntis in the url the spaces are replaces by +
That's how I entered them into the config.

Try "Classes" instead of students this model should not ned Special Access rights

worked! Thanx!
Now I need to find out why I don't have elevated rights and how to set them.

Yes exactly in webuntis there is a tab were you can configure the Access right for certain groups when you are Admin. But there i cant help you :). Im closing this issued now, please leave a star if like the library.


reformat cooldown error message

I see no point of building the embed and binding it to a variable that you use once. Just build the embed inside the send method. Making one use variables takes up unnecessary memory.

ok

I say we keep the variable for readability. It uses up such little memory it's negligible. I also suggest you reformat the title variable to be like so:
title = [
    ...,
    ...,
    ...,
]

Also for readability.

That may be so. But neglecting any optimization is substandard. Also in most commands and methods we've already gone with building the embed in the send method. So the change wouldn’t be just for a small amount of optimization but code base consistency as well.

thanks for the reviews, will keep in mind to reduce unnecessary memory in the future.


--unstriped option is spelled incorrectly

Nuitka provides an option called --unstriped that makes nuitka not strip the binary. The correct spelling is --unstripped. unstriped means "something that is not striped/something that does not have stripes"

Interesting, I have this in the changelog:
-  There is now a ``--unstripped`` (since renamed to ``--unstriped``)
   option that just keeps the debug information in the file, but doesn't
   keep the assertions.

I need to check what triggered me there, to do the change. Undoing it will of course be easy.

Ok, this unstripped is reported by cspell as an unknown word, wrongly, which made me default to assume I had made a mistake there.

Thanks for the report, this is coming to factory soon and will be in 1.1 release. I need to keep the old option as an alias, because valgrind based test runner is using it with versions that won't have that change. I am closing this one already for lack of general relevance.

This is part of the stable release 1.1 that I just made.


Running trident-server/usr/sbin/tsetup --force-db-destroy setup_test_db results in an error

Running trident-server/usr/sbin/tsetup --force-db-destroy setup_test_db results in an error:
APP_test_data.psql can't be found
That's because in lib/system.go, its checking for the existence of the file, then doing something with it if its NOT found.
The logic is swapped, a fix is:
diff --git a/lib/system.go b/lib/system.go
index 2dd12d3..ba41951 100755
--- a/lib/system.go
+++ b/lib/system.go
@@ -387,7 +387,7 @@ func System_db_test_setup() (err error) {

        /* Find the Application specific test data */
        fn := System_findfile("dbschemas/", "APP_test_data.psql")
-       if fn == "" {
+       if fn != "" {
                /* Found it, execute it */
                err = DB.executeFile(fn)
        }

PR Opened for this issue

Merged


Not working on 1.20/Counters+ 2.2.7?

When I was just trying the latest BS, the value was missing, just showed --.
My other nightscout devices are successfully receiving values.
Can you please check if something changed?

Nevermind. Settings got lost in the update.


[Addition]: Witnessing hack trough on servers

Hotspot b58 Addresses
14RtVxV5Q2eyX2J69qJ6ky9oZKQsBa3dtBtYDTSSEzfk1CcDi5R
Discord Handle
non
Reason(s)
Suspicious wallet account every hotspot collecting more HNT no matter where its been placed or mounted with antenna actually not needed because cracked hotspots are taking trough witness are on servers for more details check down below for the transferred hotspots and earnings
14RtVxV5Q2eyX2J69qJ6ky9oZKQsBa3dtBtYDTSSEzfk1CcDi5R
https://explorer.helium.com/accounts/14RtVxV5Q2eyX2J69qJ6ky9oZKQsBa3dtBtYDTSSEzfk1CcDi5R/activity
kind regards

I think, I started to understand what you mean after your comment below my addition request
He is boss;
14YeKFGXE23yAdACj6hu5NWEcYzzKxptYbm5jHgzw9A1P1UQfMv


Fix version of six dependency.

from six.moves.http_client import HTTPConnection fails before version 1.5.0 of six. (on Python 2.7, at least.)
I had a particularly old copy of six in my virtualenv and ran into import errors in vcrpy.

Thanks!


Unable to specify constraints for extended ascii characters

Currently, one can not express in the TorXakis language regex constraints using extended ascii characters.
E.g. one cannot specify charachter must be in range \x90 -\xFF.

related to #358

not duplicate #484 contains relevant info and links


support for Multiple Transaction

Hi,
The following is my api blueprint file.
FORMAT: 1A

# Sample Heading

Sample info

## Endpoint 1 [/sample]

### Create endpoing [POST]

+ Request A (application/json)

        {
            "test": "v1"
        }

+ Response 201 (application/json)

    + Body

            {
                "test": "v1"
            }

+ Request B (application/json)

        {
            "test": "v2"
        }

+ Response 422 (application/json)

    + Body

            {
                "test": "invalid choice"
            }

This is my test code
import requests
url = "http://localhost:3000/sample/"
print requests.post(url, data={"test":"v1"}).json()
print requests.post(url, data={"test":"v2"}).json()

Response 422 is not considered in this case. Both the requests return the response related to Request A (Response 201).
Could you please tell me if there is any error in my api blueprint document (I tried validating it it apiary.io. The doc was validated there) and if api mock supports multiple transactions (As given in blueprint docs).
Thanks a lot :smile:

+1, I have an identical issue


✨ Added auto-scroll when dragging gallery images

no issue
Adds auto-scroll if the mouse is placed near the top or bottom of the window whilst dragging an image to re-order it within a gallery. Useful when the position you want to drag to is not currently on screen.

append drop indicator element to .koenig-editor element to account for scrolling (also fixes indicator positioning bug with current implementation if you use mouse-wheel or keyboard to scroll the page whilst dragging)
generalise getParent util to accept a

switch to using selectors rather than dataset for finding parent draggable/droppable/container

add a ScrollHandler class that is used by the koenigDragDropHandler service to trigger scrolling whilst dragging

Coverage remained the same at 71.34% when pulling d2496924a6bc1c42dd2b8ef541036777540609e0 on kevinansfield:dnd-autoscroll into cce8738fbdd14cc6dadcf599aac72a31c691da52 on TryGhost:master.


[3.4] Memory leak? between Dictionary(godot) and Dictionary(C#)

Godot version
v3.4.stable.mono.official [206ba70f4]
System information
Debian 11
Issue description
This code give the issue:
public System.Collections.Generic.Dictionary<int, Dictionary> SystemDict =
          new System.Collections.Generic.Dictionary<int, Dictionary>();
     public override void _PhysicsProcess(float delta)
     {
         Dictionary GodotDict = new Dictionary() { ["A"] = "1" };
         SystemDict[1] = GodotDict;
         GD.Print(SystemDict);
         GD.Print(GodotDict);
     }

Steps to reproduce
Run it and check in Debugger TAB -> Monitors (Static + Static Max)
Minimal reproduction project
TestDictionary.zip

No leak in here, it's just GC not kicking in.
You can find many similar issues by searching for "leak" and topic:mono, e.g. #46497, #41543.

Right... The problem is: I have no idea how to make a workaround - if exist. I use Dictionary(godot) to move data between server-clients(rpc 60 fps) and use Dictionary(c#) in order be able to use linq... So I'm stuck again  I guess :)

I investigate a bit more and seems its not Dictionary fault, But I'm not sure 100%.
From this minimum project GC work fine- I used Godot Dictionary - . It seems.
In my original projet are involved more things lke linq, rpc..
It is possible to set something to be able to isolate the problem?
TestDictionary.zip

TestDictionary.zip

In this one I don't see any leak too. So I still don't see the issue.

TestDictionary.zip

In this one I don't see any leak too. So I still don't see the issue.

Exactly. My point was :Dictionary not leak. If you re read my post you can see what I said :)
My tests show me that is the rpc call who leak (as mentioned in #55086)

Exactly. My point was :Dictionary not leak.

So because:

what you're reporting in this issue is a Dictionary related leak,
you agreed there's no such leak,
you've opened #55086 for investigating the same "leak" further,

I think there's nothing more to do in this issue and it can be closed.

Agree :)


%import magic breaks global variables

Like that:
a = 2

2

%import static java.lang.Math.PI

a*PI

groovy.lang.MissingPropertyException: No such property: a for class: script15051208463782932642
at script15051208463782932642.run(script15051208463782932642.groovy:1)
at com.twosigma.beakerx.groovy.evaluator.GroovyCodeRunner.run(GroovyCodeRunner.java:71)

I do not know how imports are implemented, but probably you create new shell instance with new compilation customization. In that case, you have to copy bindings content into new shell.

confirmed.  thx for the report, i think your diagnosis is correct.
in the meantime, the workaround would be to run all %imports first.

Done it already. Copping the context should pretty simple. You do not even need to clone it since it is stored in the separate Binding variable which could be passes to shell constructor.

Do you mean you have code that fixes it?  Would be awesome if you could make a PR...

Just looked through the code. It is implemented in a slightly different way, You do not use the shell object explicitly, instead you create a separate script for each cell (script parser creates the shell under the hood). In my experience this way you loose performance, but it is probably the best solution for notebook since you do not know what cell to expect next.
The problem is probably in this line. It flushes the whole binding on classloader reset. One can try to just comment it, but I do not know why it was done in the first place, so I do not know if it will break anything.

This one seems to be fixed with:
https://github.com/twosigma/beakerx/issues/5965


Make action runner modules fully blown Python packages

This pull request makes all the action runners fully blown Python packages.
Before this change, to get serverless stuff to work, action runners were converted into single module Python package. I decided to go with single module approach because it's straight forward and fully backward compatible.
It sadly turned out that single module Python packages won't work well (there are some issues with data file installation) so I needed to change it into fully blown Python packages.
Fully blown Python packages are better and more flexible in any case and somewhere we want to be long term anyway.
For backward compatibility reasons I left aliased import import __init__.py so old "single module import notation" still works:
# First approach is old and deprecated and only there for backward compatibility reasons
from python runner import PythonRunner
from python_runner.python_runner import PythonRunner

I would personally also like to get rid of this aliased stuff ASAP, but this would require some code changes and mean runners from StackStorm >= 2.6.0 are not compatible with older StackStorm versions, but this shouldn't be an issue anyway, because runners are always shipped as part of full StackStorm distribution.
And in longer term, we actually want to move away from the way we currently install runners to utilizing Python package based installation.

Long term I would also propose renaming packages to stackstorm-runner-<runner name>.
This way we can avoid possible name clashes and conflicts with other Python packages.

As far as name collisions and conflicts go - I would also propose renaming inquirer module name from inquirer to inquirer_runner.
All other runner module names contain _runner suffix and this will make collisions less likely.


Breadcrumbs: Folder slightly misaligned

Refs: #57280
OS: MacOS (no zooming)
The first folder part of the breadcrumb is slightly misaligned to the rest of the breadcrumb

/duplicate of #57349


Fixes #6 for pg_repack invalid leftovers

Fixes vitabaks/pg_auto_reindexer#6
Reworked the case of invalid indexes after repack
Now script won't stop
In the end of db maintenance will print a list of invalids with commands to drop them.
Final output look:
postgres@postgres14host:~$ ./pg_auto_reindexer.sh --pgport=5435 --bloat_search_method=pgstattuple --failed_reindex_limit=4
2022-12-10 18:08:55 INFO: Started index maintenance for database: postgres
2022-12-10 18:08:55 INFO:   no bloat indexes were found
2022-12-10 18:08:55 INFO: Completed index maintenance for database: postgres
2022-12-10 18:08:55 INFO: Started index maintenance for database: testdb
2022-12-10 18:08:55 INFO:   no bloat indexes were found
2022-12-10 18:08:55 INFO: Completed index maintenance for database: testdb
2022-12-10 18:08:55 INFO: Started index maintenance for database: newtest
2022-12-10 18:08:55 INFO:   repack index public.newtest2 (size: 10 MB)
2022-12-10 18:08:56 WARN:   WARNING: Error creating index "public"."index_123216": ERROR:  canceling statement due to lock timeout
2022-12-10 18:08:56 WARN:   A temporary index apparently created by pg_repack has been left behind.
2022-12-10 18:08:56 WARN:   failed to repack index "public.newtest2". Skipping
2022-12-10 18:08:56 INFO:   repack index public.newtest4 (size: 10 MB)
2022-12-10 18:08:57 WARN:   WARNING: Error creating index "public"."index_123214": ERROR:  canceling statement due to lock timeout
2022-12-10 18:08:57 WARN:   A temporary index apparently created by pg_repack has been left behind.
2022-12-10 18:08:57 WARN:   failed to repack index "public.newtest4". Skipping
2022-12-10 18:08:57 INFO:   repack index public.newtest3 (size: 10 MB)
2022-12-10 18:08:58 WARN:   WARNING: Error creating index "public"."index_123215": ERROR:  canceling statement due to lock timeout
2022-12-10 18:08:59 WARN:   A temporary index apparently created by pg_repack has been left behind.
2022-12-10 18:08:59 WARN:   failed to repack index "public.newtest3". Skipping
2022-12-10 18:08:59 INFO:   repack index public.events_pkey (size: 33 MB)
2022-12-10 18:09:00 WARN:   WARNING: Error creating index "public"."index_123211": ERROR:  canceling statement due to lock timeout
2022-12-10 18:09:00 WARN:   A temporary index apparently created by pg_repack has been left behind.
2022-12-10 18:09:00 WARN:   failed to repack index "public.events_pkey". Skipping
2022-12-10 18:09:00 WARN: Index maintenance for database: newtest exceeded 4 failed index repacking. Skipping.
2022-12-10 18:09:00 INFO: A temporary index(es) apparently created by pg_repack has been left behind, and we do not want to risk dropping this index ourselves.
2022-12-10 18:09:00 INFO: If the index was in fact created by an old pg_repack job which didn't get cleaned up, you should just use next commands:
2022-12-10 18:09:00 INFO: DROP INDEX CONCURRENTLY public.index_123211; DROP INDEX CONCURRENTLY public.index_123214; DROP INDEX CONCURRENTLY public.index_123215; DROP INDEX CONCURRENTLY public.index_123216;
2022-12-10 18:09:00 INFO: and run pg_auto_reindexer again.
2022-12-10 18:09:00 INFO: Started index maintenance for database: support
2022-12-10 18:09:00 INFO:   no bloat indexes were found
2022-12-10 18:09:00 INFO: Completed index maintenance for database: support

Thanks @crztssr


What event is thrown if customer disconnect the call within contact flow .

I need to do an insert operation in database with lambda after a call is disconnected by the customer in IVR (Contact Flows). I don't know where to call lambda function after call is disconnected

I have checked the amazon connect event bus , as per the docs DISCONNECTED event is thrown only if the call is disconnected by the agent or flow action but need to know weather event is thrown if the customer disconnects the call.

There are two ways, and it just depends on how fast you need it. The easiest way to do this is to create a Lambda Function to do the insert, then use the Contact Record Kinesis stream as the trigger. Filter for records that have no agent, and no enqueue time. That would be calls that ended in IVR.  You'll then have ALL the data about the call, however it will also take 1-2 minutes for the contact record to be emitted. If that doesn't meet your requirements, you can do the same thing except process the contact event stream. That will be much faster, and give you some baseline info about a call, but nearly as much.


Update auth.yaml

In the current example, authorization does not work because the url for the auth service url is incorrect based on the service name in the docker-compose.yaml file.

Thanks!


Fix Crash in inserting Q / DQ around MaxPool for TF Adaptor

Type of Change
bug fix
Description
Jira: ILITV-2956
Expected Behavior & Potential Risk
Fix bug
How has this PR been tested?
Extension, PreCI
Dependency Change?
No

Extension test: https://inteltf-jenk.sh.intel.com/view/lpot-validation/job/inc-itex-integration-validation-top-extension/36/


Ignore this for now.

Description
This PR will add caching to the go stuff in the tests workflow, hopefully speeding things up overall.

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[ ] Added relevant changelog entries under .changelog/unreleased (see Adding Changes).
[ ] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

Eh. There really isn't any improvement with this.
The setup-go action already restores from a previous cache when there aren't any changes to go.sum. So this change would only really affect PRs that have a change to go.sum, and tests haven't been run yet with it. If there's no changes to go.sum, or tests for the PR have already run using the same go.sum, the jobs restore go stuff from the cache.
Without this PR, when there's no cache to restore from, each of the test runners will set up go, download the needed modules, and at the end, attempt to save the new cache. There will be 10 runners trying to do this, but only one save will go through. Any subsequent runs (in the same PR or even in a different PR with the same go.sum), will then be able to restore from that cache.
This PR added some steps to init that would set up go and, if not restoring from cache, download all the modules we need so that at the end of the init job, that cache would be written. That'd then allow the test jobs to always be able to restore from cache.
So, in total, there'd be less processing needed because what used to be done 10 times, is now only being done once. But those 10 times were all being done in parallel anyway, so it really only took about the same amount of time as doing it just once. And adding the steps to init add a tiny bit of extra overhead in all cases.
That might matter if we start regularly running out of runners, but a) it only takes maybe 15 or 30 seconds to set up go and download the modules, and b) that setup part is regularly skipped because the cache already exists. So as is, we just sometimes tie up 10 runners for 15-30 seconds longer than we might by setting stuff up in init.
Ultimately, there just isn't any real improvement by doing this.


Join function for two TensorMaps

With LODE I have intensive calculations to perform. This requires pre-computing and saving the TensorMaps to quickly play around with some models based on the pre-computed values. To use as much as possible computer power I split my dataset into many chunks. After pre-computing these chunks, it would be nice to join the individual TensorMaps into one for convenient model training.
However, AFAIK equistore is currently missing such a join function merging two TensorMaps into a new object. Below is a minimal example in Python of the user facing API.
import ase.io
import equistore
from rascaline import SphericalExpansion

frames = ase.io.load("dataset.xyz")

calculator = SoapPowerSpectrum(
    cutoff=3.0,
    max_radial=6,
    max_angular=4,
    atomic_gaussian_width=0.3,
    center_atom_weight=1.0,
    radial_basis={"Gto": {},},
    cutoff_function={"ShiftedCosine": {"width": 0.5},}
)

descriptor_1 = calculator.compute(frames[:len(frames)//2])
descriptor_2 = calculator.compute(frames[len(frames)//2:])

# define a join function, that joins two TensorMaps
descriptor = equistore.join(descriptor_1, descriptor_2)

# Overload the `+` operator and allow
descriptor = descriptor_1 + descriptor_2

Pinging @DivyaSuman14  and @jwa7 since they were part of the discussion.

Apologies, it looks like this solution already exists! See a34fc97

Yeah, but this is a hacky solution, so I'm all in favor of a cleaner
implementation of both join and slice.
On Fri, 28 Oct 2022 at 17:37, Joseph W. Abbott @.***>
wrote:

Apologies, it looks like this solution already exists! See a34fc97
https://github.com/lab-cosmo/equistore/commit/a34fc97176898f008289a7baa5c0ea611808ac94
—
Reply to this email directly, view it on GitHub
https://github.com/lab-cosmo/equistore/issues/62#issuecomment-1295146656,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIREZ3WSXZSP5B6FN3HODDWFPXL7ANCNFSM6AAAAAARRADCGQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

So similarly to numpy's vstack and hstack, we would need two such join function. One join_along_samples (a.k.a. vstack), and one join_along_properties (a.k.a. hstack). Both could be implemented in Rust with function we already have on eqs_array_t.

Don't we also need one to join the blocks?
On Sun, 30 Oct 2022 at 10:46, Guillaume Fraux @.***>
wrote:

So similarly to numpy's vstack and hstack, we would need two such join
function. One join_along_samples (a.k.a. vstack), and one
join_along_properties (a.k.a. hstack). Both could be implemented in Rust
with function we already have on eqs_array_t.
—
Reply to this email directly, view it on GitHub
https://github.com/lab-cosmo/equistore/issues/62#issuecomment-1296191086,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIREZYQ36OC2FFUKJPM5PDWFYYYDANCNFSM6AAAAAARRADCGQ
.
You are receiving this because you commented.Message ID:
@.***>


present it again?

Hello..
well I've been using this for a while and it's awesome but there is one issue whenever I move to the main scene and access it again it shows me where I was when I hit the back button but whenever I swipe it take me to the top..... is there a way to make it shows from the top whenever I access it again?

Hey,
Thank you very much for using my helper. I am not sure why it is not resetting but you can reset the scroll view manually using the contentOffset property.
So if you want to make sure you always start at the top (vertical scroll view) you can add this line right after you added the scrollView to the scene
    view?.addSubview(scrollView)
    scrollView.setContentOffset(CGPoint(x: 0, y: 0), animated: true)

For example if you would like to start on the 2nd page than you would say this
    scrollView.setContentOffset(CGPoint(x: 0, y: 0 + scrollView.frame.size.height), animated: true)

As a side note:
There was recently a bug I found in my helper so if you haven't update the helper yet you should. Basically this line in the helper
     private unowned let currentScene: SKScene

should be changed to this
    private let currentScene: SKScene

to avoid potential crashes.
Hope this helps and let me know how it goes.

Thanks so much! ,
and yeah I know I reported it :b
but thanks !!

Oh its you haha I didnt realise. Happy coding and thanks again

Well I did it but it doesn't work no idea why.... and tried to add it to DidMovetoView but I get BAD_EXC
anyway I tried what you said but nothing here is the code:
''
let selectPlayerScene:SKScene = SelectPlayerScene(size: self.size)
scene!.view?.presentScene(selectPlayerScene, transition: transition)
scrollView.setContentOffset(CGPoint(x: 0, y: 0), animated: true)
''

I am confused. Are you not removing the scrollView before transiting to the new scene?

You cannot do this
  class Scene1: SKScene {

    weak var scrollView:........
 }

and than transition to a new scene (which does not remove the scrollView because its added to the view and no the scene) and try to do something with the scrollView in the new scene

Well I this is the code when I want to present the scene where I want to use the scroll view:
                CustomScrollView.enable()
                let selectPlayerScene:SKScene = SelectPlayerScene(size: self.size)
                scene!.view?.presentScene(selectPlayerScene, transition: transition)
                scrollView.setContentOffset(CGPoint(x: 0, y: 0), animated: true)

And this is when I get back to the main scene:
    func MovetoScene(){
        scene?.removeAllChildren()
        scrollView.removeFromSuperview()
        CustomScrollView.disable()
        let gameScene:SKScene = GameScene(size: self.size)
        scene!.view?.presentScene(gameScene, transition: transition)

    }

Never mind I figured it out I edited the movetoscene func and IT WORKED!
thanks!

Cool you should still try to keep it simple like this.
You should present the scrollView in 1 scene where you want to use it, set it Up in ViewDidLoad
    class SceneIWantScrollView: SKScene {

     weak var scrollView....

     override func didMoveToView(view: SKView) {
          //  setUpScrollView code
    }

than in the code where you are transitioning to a new scene you should remove it
    scrollView?.removeFromSuperView()

and thats all you have to do.
Now when you transition back to
           class SceneIWantScrollView...

it will add the scroll view again.
Not sure what you are trying do do exactly.
Keep me posted

i don't really follow you on the weak var thing :b I tried to type it but it pop up an error..

You should read the instructions on gitHub, I am not sure whats confusing you, weak just means it doesnt hold a strong reference to the ScrollViewClass. You scene with the scrollView should look like this.
    class SceneIWantScrollView: SKScene {

        weak var scrollView: CustomScrollView!

 override func didMoveToView(view: SKView) {

    scrollView = CustomScrollView(frame: CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height), scene: self, moveableNode: moveableNode, scrollDirection: .Vertical)
    scrollView.center = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, scrollView.frame.size.height * 3)
    view?.addSubview(scrollView)
}

Than in the same scene in the method where you are transitioning to a new scene you should remove it
      func moveToNewScene() {
           scrollView?.removeFromSuperView()
    }

and thats it.
Later on when you transition back to the scrollView scene it will just reAdd it again.

Well I have the weak above the class not inside it and I have those codes in my viewdidload ...
to make things clear:
I have 2 Scenes... one is a scrollable menu where you select/change your player
and the second is the game scene and I have buttons to transition here and there in both scenes...
I tried just removefromsuperview but it just disable the scrollview but still in the shop and when I transition I should remove the childs because I'll crash if I moved to it again....

Why is you scrollView weak property above the class?  It makes no sense because  there is no need to make it global to all files in your project.
Put the scrollView weak property in the scene with the player select screen.
Than remove the scrollView in the method in that class where you are transitioning to the gameScene.

In the sample project on github I am changing between 2 scenes exactly like you want. Maybe have a look again at the GameScene.swift file on how to do it.
Dont hesitate to keep asking me, I am more than happy to help.

alright I did what you said.... and in the Transition func I just did present scene code..
but when I go to the main scene I can't touch because there is still scroll

Nvm I checked the updated sample and it worked thanks! it's less complicated and less codes now :b

Awesome

thanks a lot you helped me a lot!
and sorry for my lack of knowledge it's because I'm new to the whole coding thing it's the first lang I learned (Swift) and it's been just 3-5months... and it's my first real project :b

No worries, I am quite new to coding as well. Happy coding


Calendar don't shows "It xx days"

Hello, My Calendar module don't show "It xx days" "It xx weeks"

My config:
    {
      module: 'calendar',
      position: 'top_left',
      header: 'Calendars',
      config: {
        urgency: 7,
        timeFormat: "absolute",

          calendars: [
            {
              symbol: 'calendar-check',
              url: 'webcal://calendar.google.com'
            },
            {
              symbol: 'calendar',
              url: 'webcal://calendar.google.com'
            }
          ],
        }
    },

Please refer to http://forum.magicmirror.builders for support and troubleshooting.
I'm closing this issue for now. If you feel this issue should remain open, please let me know.

Please refer to http://forum.magicmirror.builders for support and troubleshooting.
I'm closing this issue for now. If you feel this issue should remain open, please let me know.


Added MATLAB support

Added support for MATLAB. Tested on Linux using MATLAB 2016a.

@bremme hi and thanks for the PR!

You are right, the language-matlab package is only required for grammar support. Shall I make a new commit and remove it?

Yes, please.

:ship:


Incorrect use of line separator

Hi
Using your plugin with LF in CHANGELOG.md as line separator is ok, but using CR or CRLF give incorrect result.
Source CHANGELOG.md:
## [Unreleased]
### Added
- Use Fastlane

## [1.7.3] - 2016-11-04
### Changed
- Set background as white

## [1.7.2] - 2016-11-04
### Fixed
- Fix chart layout

### Changed
- Update dependencies

Command:
stamp_changelog(
  section_identifier: '1.7.4'
)

Using LF => OK:
## [Unreleased]

## [1.7.4] - 2016-11-09
### Added
- Use Fastlane

## [1.7.3] - 2016-11-04
### Changed
- Set background as white

## [1.7.2] - 2016-11-04
### Fixed
- Fix chart layout

### Changed
- Update dependencies

Using CRLF => KO:
## [Unreleased]

## [1.7.4]
 - 2016-11-09
### Added
- Use Fastlane

## [1.7.3] - 2016-11-04
### Changed
- Set background as white

## [1.7.2] - 2016-11-04
### Fixed
- Fix chart layout

### Changed
- Update dependencies

Using CR => KO:
## [Unreleased]

## [1.7.4]

## [1.7.4] - 2016-11-09
### Added
- Use Fastlane

## [1.7.3] - 2016-11-04
### Changed
- Set background as white

## [1.7.2] - 2016-11-04
### Fixed
- Fix chart layout

### Changed
- Update dependencies
 - 2016-11-09

Thanks for fix @mathroule, it's now released in v.0.5.1


requested changes

Thanks for creating the plugin!

implemented requested changes from https://github.com/runelite/plugin-hub/pull/4830#issuecomment-1761550229
abstracted gateway address fetching and ping logic into new methods (getDefaultGatewayAddress and pingGateway)
added comprehensive null and shutdown state checks, and refined exception handling

Hi, thanks for submitting a PR. Everything looks good. Have you tested the changes?

Thanks guys for working on this!

@orion-git this looks good, thanks. Next time it might just be easier to use git revert 2ff571d. Cheers


How to find buttonBarView current cell index

In this method
override func configure(cell: PageItemCellCollectionViewCell, for indicatorInfo: IndicatorInfo) {
}
We configure cells for use. I have xib file for this cells and label with number of items in each view controller. I want to configure numbers on each user action, e.g. reload buttonBarView data each time. But I don't know how to find index of item which is setting in current moment of time. Can you help me pls? (just find item indexPath like we have in cellforRowAt tableview default method, I try to find item indexPath by using indexPath(for: uicollectionviewcell) but it returns nil)

buttonbarview is only a component of the pager, it's index is  following the pager, so use pager.currentIndex instead.


Allow cors

In deployment this issue is coming right up when we send any request

This is something to with core headers, find and fix it :redeyes:

sir pls assign it to me


How to create a single page site (theme or plugin)

Search terms
single page, spa, cra, custom theme, custom plugin, theme, docs, output, json, --json, out.json,

Question
I want to create a custom theme or plugin or other (not sure) to make the output be a single page doc site, (id like to keep TypeDocs docs + my output), I was able to use the out.json that exported by TypeDocs (via --json) and using CRA, create a simple component that can render my output, screenshot:

But now I want to use this in other repos (make is reusable) but not sure where to start (the docs are quite confusing for this type). Will this be possible with a theme? or a plugin? or my own custom setup only?
What I want to do:
Read the out.json or some other way and create a new single page website based of this. My app is looping the whole json and creating the above structure, I have only one interface per repo. (image a library with one component).
Any help on this be great.
Thanks

This should be doable with a plugin. I see two ways you could achieve this:

Your plugin is listening to the event that gets triggered when a reflection (eg. class) is being resolved. Your plugin adds that data to an internal structure or directly to another file (HTML).
Your plugin is listening to the end event of TypeDoc that is triggered when it basically finished resolving the entire project. Then your plugin traverses all reflections of the project (which should mostly be what you already have in your out.json file) and creates some other output from it.

Since you wrote that you already have an app that creates your desired output I think the second solution should be quite easy to implement. Basically you just have to trigger your output generator at a certain TypeDoc event instead of having to call it manually.

https://github.com/Gerrit0/typedoc-custom-theme-demo/blob/main/src/index.tsx might also be helpful


More appropriate partition key selection for auto creating distributed table

What type of enhancement is this?
Refactor
What does the enhancement do?
Now the distributed table is auto created with time index as its partition key. This could introduce scalability problems for reads and writes. For example, writes happened in linear with time, effectively using single node only.
However, randomly choose a primary key or tag might not be the most proper way. What if the chosen one don't change at all? It's worse than the time index! That we don't know upfront. So we must figure out a more appropriate method to choose partition key automatically.
Implementation challenges
No response

Now partition key can be left empty when creating table (either automatically or not). If the partition key is not set, query engine simply choose region 0. That means there's no automatically partition key selection, hence this issue is not valid any more.


Hello world code in java

What the program do ?

In what programming language it is written?

This is a basic hello world code in java


Operator needs to clean up SCC Bindings when destroying a QuayEcosystem

When I did my tests on a new cluster everything worked every time. Until it failed every time.
I cleaned up the anyuid scc (removed all the service accounts that the quay operator added) and sure enough the next deploy succeeded again.
Now.... I only had 5 (!!!) service account pairs with the SCC. So we need to file a bugzilla as well for the product.
But the operator really needs to clean these up when deleting a QuayEcosystem.

Interestingly enough that did not work on RHPDS (OCP 4.1.30). It did work on DEV4 (OCP 4.3.3)

This feature requires the use of a finalizer for the operator to act upon
Items to be addressed:

Name of finalizer to be deployed

Resolved as part of #187


Astro preset

@fwang is this right
import aws from "astro-sst";

export default defineConfig({
  output: "server",
  adapter: aws(),
});

based on the README https://github.com/sst/sst/tree/master/packages/astro-sst
Or what we do in our docs?
import sst from "astro-sst";

export default defineConfig({
  adapter: sst(),
});

I need to update the preset https://github.com/sst/ion/commit/4f55966b36f4854f5a256d8c46d2e3e051dab919 and the quick start https://github.com/sst/ion/pull/852

Or what we do in our docs?

I looked through the source code, the outcome of both examples is the same.
Astro default output is static link
astro-sst will change output to server if deploymentStrategy is different than static link

Thanks @iamandrewluca


annotate: rename? (also in artifacts.yaml)

I'm a bit worried about the use of term annotation here (and in gto annotate) given that Git tags also have "annotations" AND since GTO specifically uses annotated Git tags only. May be confusing (esp. for users familiar with Git tags).
Originally posted by @jorgeorpinel in https://github.com/iterative/mlem.ai/pull/235#discussion_r1037919416

Yep. Don't remember why we decided on using "annotations" considering this collision.
- @aguschin


[Emulator] Failed to upload attachment after upgrade SDK of Bot

System Information (Required)

SDK Pletform: Node?
SDK Version: 3.8.3
Development Environment: localhost

Issue Description
When I upgraded Bot framework SDK to version 3.8.3, it is not possible to upload attachment in Emulator
Example Code
var builder = require("botbuilder");
var restify = require('restify');
require('dotenv-extended').load();

var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
    console.log('%s listening to %s', server.name, server.url);
});
var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});
server.post('/api/messages', connector.listen());

var bot = new builder.UniversalBot(connector);

bot.dialog('/', [
    function (session) {
        session.beginDialog('/phonePrompt');
    },
    function (session, results) {
        session.send('Got it... Setting number to %s', results.response);
    }
]);
bot.dialog('/phonePrompt', [
    function (session, args) {
        if (args && args.reprompt) {
            builder.Prompts.text(session, "Enter the number using a format of either: '(555) 123-4567' or '555-123-4567' or '5551234567'")
        } else {
            builder.Prompts.text(session, "What's your phone number?");
        }
    },
    function (session, results) {
        var matched = results.response.match(/\d+/g);
        var number = matched ? matched.join('') : '';
        if (number.length == 10 || number.length == 11) {
            session.endDialogWithResult({ response: number });
        } else {
            session.replaceDialog('/phonePrompt', { reprompt: true });
        }
    }
]);

Steps to Reproduce

execute the above js code
talk to the bot via emulator and it asked "What's your phone number?"
try to upload any attachment
it will fail and return "I didnt' understand, Please try again"
even in Debug mode, it wont catch any trap.

In previous version, there's no such problem...

You're asking for a phone number using Prompts.text() but uploading an attachment. I'm not sure I follow. It's waiting for you to send text not an attachment. It's possible that the new prompt system is a little more strict then the old prompt system and is rejecting empty text.

I just double checked the new code and it is enforcing that the user actually sent text but I personally think that's a good thing. You can use Prompts.attachment() if you want to receive an attachment. You can also add a custom global recognizer that looks for attachments to be uploaded at any time.

@Stevenic your answer is right, I have to use prompts.attachment... thats very trouble to my code, as I allow user to upload attachment file anytime during any conversation.. so what is your solution details for add a custom global recognizer? how to do it?


Native component for "ViewPagerZoom" does not exist

import AndroidImage, { ViewPagerZoom } from 'react-native-image-zoom'

I have the same issue! This works on android, but on iOS throws this error.
Great library :)


Use cargo-lambda for compilation

Hi 👋
This is a really cool project, thanks for putting it together!
I wanted to let you know about this other project I started a few weeks ago and we recommend for people using the Rust runtime for Lambda:
https://github.com/calavera/cargo-lambda
It abstracts away cargo-zigbuild, and also installs Zig for people automatically. It would allow you to reduce the code necessary to compile and locate functions significantly. Check it out and let me what you think about it. I can also help you integrate it if you're interested.

These changes should now be published as version v1.1.3. @calavera thanks again for putting this together!


Adds search relevance documentation

Fixes #1685
Checklist

[ x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

I agree with Laura. There's no reason to avoid using this in production environments.
However, we might want to point out that there's no way to save a given comparison for future use, so the tool isn't suitable for systematic testing.

@lauralexis @macrakis: Thank you for confirming. I will remove the statement about production environments and add a statement about saving/systematic testing.


Rasa X - Show when was last pull

When making changes using Rasa X we get a notification about the changes and date - which is great.

However, when doing changes outside Rasa X, there is no indication of when was the last pull. It would be extremely helpful to know when was the last pull/changes made outside Rasa X.

cc @edmacovaz

@amn41  is this something that is being actively worked on or can be contributed by the community, if yes I would like to give this one a shot.

hi @sladyn98 ! yes we are working on making the internals of integrated version control more transparent to users, so you get more insight into what's happening.
Thanks for offering to give it a shot! Unfortunately we can't accept outside contributions to Rasa X  because it's not open source.

Thank you for raising this issue about Rasa X. We decided to stop supporting the Community Edition (free version) of ‘Rasa X’ (see more info here: https://rasa.com/blog/rasa-x-community-edition-changes/). That’s why we’ve closed your issue. We suggest that Rasa Enterprise customers raise the issue with our customer support team if they haven’t done so already.


Non-Quest NPCs kill cause spam; Blacklisting 'breaks' plugin

Thankfully this is not too serious of an issue, compared to my other one, I mean it IS but it can be avoided at least!
That being said, here's the pertinent info:
OS: Debian GNU/Linux 7 (wheezy)
----Java(TM) SE Runtime Environment (build 1.7.0_72-b14
----Java HotSpot(TM) 64-bit Server VM (build 24.72-b04, mixed mode)
CraftBukkit: 1.8.0 R0.1 (git-Bukkit-33d5de3)
Quests: Produced in 2.3.4 (build 65), reproduced 2.4.0 (build 75)
Citizens: 2.0.14 (built 1213)   [I believe this is the last version supporting CB 1.8.1]
Sentry: 1.8.4 (build 24)
(Quick note on why I've not updated to 1.8.3 is simply due to some older, abandoned, but important plugins failing to load the few times I attempted 1.8.3)
Info about the quest and NPC setup:
There are 13 NPCs, all of which share the same name. 12 of them are very weak and die in 1 hit, but also respawn in 30seconds, purely there as an annoyance/distraction to the player during their combat. Something I noticed during each of the times I created one of these "shadow" versions was when I would give them the Sentry Trait, Essentials would generate a player file and assign them a UUID. Whether or not I can go and delete these Essentials files or not, and have them stay gone, I have yet to test. What I CAN tell you is the issue persists even if that "player file" is deleted. This entire issue could simply come down to the fact that Quests might not be generating a "data file" for these "players" and so it sort of freaks out... Anyways...
Console output:
THIS one is the actual target NPC for the Quest, so I was rather surprised to see it come up when I finally killed it...
05.05 15:40:24 [Server] INFO Quester not found for UUID "2c6f8e22-0cd3-295e-a60c-a330bdb4abce". Consider adding them to the Quester blacklist.
These are all of the "shadow" NPCs. I just ran arround collecting them in attempt to make sure I had them all, so a couple may be duplicates:
05.05 15:27:18 [Server] INFO Quester not found for UUID "36963ff0-297a-2c5c-8ffd-77aaf22817fe". Consider adding them to the Quester blacklist.
05.05 15:27:16 [Server] INFO Quester not found for UUID "82204f39-0766-2055-a1e7-04eb368bc518". Consider adding them to the Quester blacklist.
05.05 15:27:16 [Server] INFO Quester not found for UUID "3e01d74e-601c-254a-a70c-7d0d6b00a640". Consider adding them to the Quester blacklist.
05.05 15:27:15 [Server] INFO Quester not found for UUID "9698082e-27b0-2dc4-a986-f2bc7fceabb0". Consider adding them to the Quester blacklist.
05.05 15:27:15 [Server] INFO Quester not found for UUID "e39ceafa-d448-2622-a8b7-c9b3adcd0522". Consider adding them to the Quester blacklist.
05.05 15:27:14 [Server] INFO Quester not found for UUID "f37afcc7-65ae-2ca1-97f7-3c60e060cd28". Consider adding them to the Quester blacklist.
05.05 15:27:14 [Server] INFO Quester not found for UUID "f4049fa1-8911-2887-ad03-16ec51729192". Consider adding them to the Quester blacklist.
05.05 15:27:14 [Server] INFO Quester not found for UUID "76b3e3ff-bdcc-2890-a2a1-4df45c4cfad7". Consider adding them to the Quester blacklist.
05.05 15:27:14 [Server] INFO Quester not found for UUID "c98b6261-129d-26d3-bfce-90e208b29cb6". Consider adding them to the Quester blacklist.
05.05 15:26:22 [Server] INFO Quester not found for UUID "cf0bd877-0032-2680-b553-071b793d8581". Consider adding them to the Quester blacklist.
05.05 15:26:17 [Server] INFO Quester not found for UUID "21c06b50-3c1e-25ab-be22-d3c62bc8a6b0". Consider adding them to the Quester blacklist.
05.05 15:26:10 [Server] INFO Quester not found for UUID "c98b6261-129d-26d3-bfce-90e208b29cb6". Consider adding them to the Quester blacklist.
05.05 15:26:05 [Server] INFO Quester not found for UUID "3e01d74e-601c-254a-a70c-7d0d6b00a640". Consider adding them to the Quester blacklist.
05.05 15:26:01 [Server] INFO Quester not found for UUID "5b999dac-c442-2516-b6df-14b5e1f3b16e". Consider adding them to the Quester blacklist.
05.05 15:25:51 [Server] INFO Quester not found for UUID "f4049fa1-8911-2887-ad03-16ec51729192". Consider adding them to the Quester blacklist.
05.05 15:25:51 [Server] INFO Quester not found for UUID "82204f39-0766-2055-a1e7-04eb368bc518". Consider adding them to the Quester blacklist.

Since that clutters up the console something fierce I went about actually adding each of those to the config blacklist, and this is where the issue occurs (which happens to be an issue I previously encountered when blacklisting but thought to be user-error on my part...). If I added any of the above UUIDs to the Blacklist, that is when the plugin effectively "breaks". My theory is that Quests is incapable of establishing that this is a true player of any sort, and as a result it just blacklists everyone, even myself. In hoping it was simply one of the UUIDs or an indentation issue that caused this to occur, so I went about removing them one by one and when that failed I tried indenting just one UUID, all to no avail unfortunately.
This issue only presented with the update to a UUID blacklist system, working fine using the old Player Name input method. I'm not necessarily proposing to revert back to that method (unless it's possible? but I assume it's at the core of utilizing UUIDs), but perhaps it is possible to add in either a new category to put in the specific NPC IDs or add in flag prefix before the ID number in the current blacklist section which tells Quests to not treat it as a UUID?
Example:
quester-blacklist:
-#1417
-#1416
-#338
-21c06b50-3c1e-25ab-be22-d3c62bc8a6b0

And just in case it has anything to do with how we've named the NPCs, the ones to which those UUIDs above all belong to are named &7&lErebus, whereas a number of others have a space in their name such as "The Minotaur".
Hopefully this isn't a too big of issue to fix :\ Even if you can't fix it, or anytime soon (as again, it's a bug which CAN be 'turned on and off' and simply not blacklisting any prevents it), I still thank you for all your hard work!
-Form

Please try the dev build below and let me know if it resolves the issue. Make sure to remove the affected UUIDs from the blacklist before testing the build.
http://ci.ac3-servers.eu/job/Quests/76/

Alright I currently have Build 76 running, and I ran the Purge command on myself thinking it would just delete my quests, not knowing it'd blacklist me too lol In any event, it seems it was helpful as it may have resulted in something of use... When I was blacklisted, so was everyone else, even though only my UUID was in the config file...
quester-blacklist:
- UUID
- UUID
- UUID
- 9b3e0b53-05fc-4f38-ae21-7c673fd9cd0c

I'm almost beginning to wonder, is it something to do with just my server, or is this reproducible? <_>
Reason I wonder is that in addition to the above, the original "quester not found" issue does not seem to be fixed in the latest build.
Would it be helpful if I ran Quests with debug-mode set to true? If I did, does that produce any ouput that would annoy my players any?
Thanks,
-Form

I may put a flag on the purge sub-command in the future to say whether to blacklist or not. That behavior is strange, though. Feel free to open a new issue for that.
You did remove the NPC uuids from the blacklist, correct?
That debug setting just outputs additional messages to the console (which may or may not aid in your situation), so it can't hurt.

Hmm, I guess I never even looked at it in the sense that there was two issues I was originally posting about! I just thought that "quester not found" and adding of it's listed UUID into the blacklist which resulted in everyone being blacklisted, sorta went hand-in-hand. Now that you mention it though, I suppose they would be individual, so I'll try to separate them into their own issue threads.
And correct there were no NPC or player UUIDs present, what I posted in my previous reply is 100% what was in my config file, and is actually how Quests populated it (as I had removed all the '- UUID' lines as well).
I'll turn on the Debug then and see if it spits out anything additional.
-Form


Bump kotlin version

There is no coverage information present for the Files changed

Total Project Coverage
71.85%
:green_apple:


OWASP: Grave accent obfuscation

Attempts to solve the grave accent obfuscation XSS attack point (https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Grave_accent_obfuscation) by just killing grave accents in naughty-href. Not sure if it's the best strategy but seems to fix the problem and pass old tests.

Oh ick. Good call.
However... have you verified that this doesn't work out of the box? In
other words, is this a bug in htmlparser2? It would be a good idea to
report that upstream.
On Wed, Jan 13, 2016 at 3:59 PM, Cameron Will<EMAIL_ADDRESS>wrote:

Attempts to solve the grave accent obfuscation XSS attack point (
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Grave_accent_obfuscation)
by just killing grave accents in naughty-href. Not sure if it's the best
strategy but seems to fix the problem and pass old tests.
You can view, comment on, or merge this pull request online at:
https://github.com/punkave/sanitize-html/pull/86
Commit Summary

Add protection from grave accent obfuscation
Add global option for grave accent obfuscation regex

File Changes

M index.js
https://github.com/punkave/sanitize-html/pull/86/files#diff-0 (3)
M test/test.js
https://github.com/punkave/sanitize-html/pull/86/files#diff-1 (19)

Patch Links:

https://github.com/punkave/sanitize-html/pull/86.patch
https://github.com/punkave/sanitize-html/pull/86.diff

—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

What I'm asking is whether you have confirmed that it's allowed to sneak
through without your patch.
On Thu, Jan 14, 2016 at 9:21 AM, Tom Boutell<EMAIL_ADDRESS>wrote:

Oh ick. Good call.
However... have you verified that this doesn't work out of the box? In
other words, is this a bug in htmlparser2? It would be a good idea to
report that upstream.
On Wed, Jan 13, 2016 at 3:59 PM, Cameron Will<EMAIL_ADDRESS>wrote:

Attempts to solve the grave accent obfuscation XSS attack point (
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Grave_accent_obfuscation)
by just killing grave accents in naughty-href. Not sure if it's the best
strategy but seems to fix the problem and pass old tests.
You can view, comment on, or merge this pull request online at:
https://github.com/punkave/sanitize-html/pull/86
Commit Summary

Add protection from grave accent obfuscation
Add global option for grave accent obfuscation regex

File Changes

M index.js
https://github.com/punkave/sanitize-html/pull/86/files#diff-0 (3)
M test/test.js
https://github.com/punkave/sanitize-html/pull/86/files#diff-1 (19)

Patch Links:

https://github.com/punkave/sanitize-html/pull/86.patch
https://github.com/punkave/sanitize-html/pull/86.diff

—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Yeah, this is what happens:
var sanitizeHtml = require("./index");
console.log(sanitizeHtml('<img SRC=`javascript:alert("RSnake says, XSS")`>', {allowedTags: ['img']}));
//''

But yeah you're right, it could very well be an htmlparser2 bug... I'll look into it.

I'm not sure if that would execute in an exploitable way or not, offhand,
but I imagine it can be carefully crafted to.
On Thu, Jan 14, 2016 at 10:15 AM, Cameron Will<EMAIL_ADDRESS>wrote:

Yeah, this is what happens:
var sanitizeHtml = require("./index");console.log(sanitizeHtml('', {allowedTags: ['img']}));//''
But yeah you're right, it could very well be an htmlparser2 bug... I'll
look into it.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171669244.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Yeah that's my worry as well. That just because the example doesn't result in exploitable code, I'm sure it could be done. Let me take a look at htmlparser2 and see if that's the right place to parse out the attribute.

If the grave accent is a standards-compliant alternative (or widely browser
supported alternative) to using ' and " for quoting attributes, then
htmlparser2 probably needs modification to recognize it that way.
On Thu, Jan 14, 2016 at 10:59 AM, Cameron Will<EMAIL_ADDRESS>wrote:

Yeah that's my worry as well. That just because the example doesn't result
in exploitable code, I'm sure it could be done. Let me take a look at
htmlparser2 and see if that's the right place to parse out the attribute.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171682112.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

It is not standards-compliant so I'm not sure it's the job of htmlparser. There can be only four types of attributes (https://www.w3.org/TR/html-markup/syntax.html#syntax-attributes):

empty attribute syntax
unquoted attribute-value syntax
single-quoted attribute-value syntax
double-quoted attribute-value syntax

Grave accents do not fall under any of these, so I would say it's technically invalid HTML.

But web browsers honor it in the wild?
On Thu, Jan 14, 2016 at 11:56 AM, Cameron Will<EMAIL_ADDRESS>wrote:

It is not standards-compliant so I'm not sure it's the job of htmlparser.
There can be only four types of attributes (
https://www.w3.org/TR/html-markup/syntax.html#syntax-attributes):

empty attribute syntax
unquoted attribute-value syntax
single-quoted attribute-value syntax
double-quoted attribute-value syntax

Grave accents do not fall under any of these, so I would say it's
technically invalid HTML.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171702296.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

It looks like this might only work in some old unpatched version of IE?
https://github.com/OWASP/owasp-java-encoder/wiki/Grave-Accent-Issue
On Thu, Jan 14, 2016 at 12:00 PM, Tom Boutell<EMAIL_ADDRESS>wrote:

But web browsers honor it in the wild?
On Thu, Jan 14, 2016 at 11:56 AM, Cameron Will<EMAIL_ADDRESS>wrote:

It is not standards-compliant so I'm not sure it's the job of htmlparser.
There can be only four types of attributes (
https://www.w3.org/TR/html-markup/syntax.html#syntax-attributes):

empty attribute syntax
unquoted attribute-value syntax
single-quoted attribute-value syntax
double-quoted attribute-value syntax

Grave accents do not fall under any of these, so I would say it's
technically invalid HTML.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171702296
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Yeah... maybe we can just use the code from that wiki?
a.innerHTML=b.innerHTML.replace(/`/g, "`");

But I think squashing it like in this PR works too. I think the problem is in that wiki it doesn't say what version of IE right? Just "Unpatched IE", which could mean IE from middle of last year, which I think would still be good to cover.

I think it is worth asking. We're actually not obligated to support
versions of IE that Microsoft itself has abandoned and shouldn't try, as
they may have more serious security holes we can do nothing about and
people need to be educated to move on.
The oldest relevant version of IE, starting two days from now, will be IE8
on Vista (with appropriate and current patches from the vendor).
On Thu, Jan 14, 2016 at 12:12 PM, Cameron Will<EMAIL_ADDRESS>wrote:

Yeah... maybe we can just use the code from that wiki?
a.innerHTML=b.innerHTML.replace(/`/g, "`");
But I think squashing it like in this PR works too. I think the problem is
in that wiki it doesn't say what version of IE right? Just "Unpatched IE",
which could mean IE from middle of last year, which I think would still be
good to cover.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171708547.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

I think it's worth examining this before breaking code that is perfectly
valid in modern browsers that happens to have a backtick inside a quoted
string, for instance.
On Thu, Jan 14, 2016 at 1:14 PM, Tom Boutell<EMAIL_ADDRESS>wrote:

I think it is worth asking. We're actually not obligated to support
versions of IE that Microsoft itself has abandoned and shouldn't try, as
they may have more serious security holes we can do nothing about and
people need to be educated to move on.
The oldest relevant version of IE, starting two days from now, will be IE8
on Vista (with appropriate and current patches from the vendor).
On Thu, Jan 14, 2016 at 12:12 PM, Cameron Will<EMAIL_ADDRESS>wrote:

Yeah... maybe we can just use the code from that wiki?
a.innerHTML=b.innerHTML.replace(/`/g, "`");
But I think squashing it like in this PR works too. I think the problem
is in that wiki it doesn't say what version of IE right? Just "Unpatched
IE", which could mean IE from middle of last year, which I think would
still be good to cover.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171708547
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Hmmm, this does happen in IE9 running on Windows 7.
It doesn't happen in IE11, which will be the only supported IE on WIndows 7
starting two days from now.
But, it suggests that it might happen in IE9 on Vista, where IE9 is still
the official supported browser for one more year. A tiny audience, but
still a legit one.
Sigh
Honestly not sure how best to handle this. Ideally it's an optional mode
for htmlparser2. I don't know if we can sell it upstream. Your workaround
would break code that makes complete sense in all other browsers today...
so I'm reluctant to go there.
On Thu, Jan 14, 2016 at 1:14 PM, Tom Boutell<EMAIL_ADDRESS>wrote:

I think it's worth examining this before breaking code that is perfectly
valid in modern browsers that happens to have a backtick inside a quoted
string, for instance.
On Thu, Jan 14, 2016 at 1:14 PM, Tom Boutell<EMAIL_ADDRESS>wrote:

I think it is worth asking. We're actually not obligated to support
versions of IE that Microsoft itself has abandoned and shouldn't try, as
they may have more serious security holes we can do nothing about and
people need to be educated to move on.
The oldest relevant version of IE, starting two days from now, will be
IE8 on Vista (with appropriate and current patches from the vendor).
On Thu, Jan 14, 2016 at 12:12 PM, Cameron Will<EMAIL_ADDRESS>wrote:

Yeah... maybe we can just use the code from that wiki?
a.innerHTML=b.innerHTML.replace(/`/g, "`");
But I think squashing it like in this PR works too. I think the problem
is in that wiki it doesn't say what version of IE right? Just "Unpatched
IE", which could mean IE from middle of last year, which I think would
still be good to cover.
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171708547
.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

What do you see as an example of something that would get broken as a result of this?

For example, someone might want to call a javascript function that displays
some markdown (let's assume javascript is intentionally allowed in this
particular instance, which is something people can do):
<a href="javascript:displayMarkdown('```some source code```')">Display some
code

Markdown uses grave accents and they ought to work.
For a non-javascript example, a backtick in a URL might typically be
escaped, but people likely expect it to work unescaped in practice, and it
is a perfectly legitimate character in a filename in Unix. So that could
come up.
On Thu, Jan 14, 2016 at 2:21 PM, Cameron Will<EMAIL_ADDRESS>wrote:

What do you see as an example of something that would get broken as a
result of this?
—
Reply to this email directly or view it on GitHub
https://github.com/punkave/sanitize-html/pull/86#issuecomment-171750217.

--
*THOMAS BOUTELL, *DEV & OPS
P'UNK AVENUE |<PHONE_NUMBER>  |  punkave.com

Yeah good call. This has kind of fallen as a priority for me given the nature of it needing an outdated browser so I might close this for now till I have a better idea.


update outdated lmerge doc

This resolves #140. @apregier - does this seem clear to you?

Coverage remained the same at 83.066% when pulling<PHONE_NUMBER>01b5645633fd8c6f98df281801116e on ernfrid:lmerge_cli_doc into 73bd8ca47074b0e5c277a2d31377deb012e70d32 on hall-lab:develop.

s/The each/Each/
+1

Coverage remained the same at 83.066% when pulling 5e9a014b7f1e6420169104d8a29f0f955e1b39ae on ernfrid:lmerge_cli_doc into 73bd8ca47074b0e5c277a2d31377deb012e70d32 on hall-lab:develop.


Index out of bounds

Given JSON:
{
  "c": {
    "d1": {
      "url": [ "url1", "url2" ]
    },
    "d2": {
      "url": [ "url3", "url4","url5" ]
    }
  }
}

The path:
$.c.*.url[2]

throws an exception
Index out of bounds when evaluating path $['c']['d1']['url'][2]
Expected result:
[
   "url5"
]

The bug is for version 1.2 also.
JMeter-plugins made decision to revert to 0.9 branch of this library due disagree with author.
https://groups.google.com/forum/#!topic/jmeter-plugins/fDqEpL3iqi0

Fixed for 2.1.


Add citations

Should use the new citation API in https://github.com/qiime2/qiime2/issues/387

fixed in #46


Create stacked bar renderer for aggregated groups of a categorical column

It should be possible to select a stacked bar visualization for aggregated groups for a categorical column.
The implementation can be based on the histogram and "just be rotated".

Note: The total width corresponds to the maximum number of elements (similar to the histogram).

Note: The total width corresponds to the maximum number of elements (similar to the histogram).

in the histogram case, the global top histogram is used as a reference. Thus otherwise a two pass rendering would be needed. First, compute the histograms of all groups, Second, render based on the maximal one. However, this approach doesn't fit at all to the current rendering strategy and would take a lot of time.

what is the problem with taking the global top histogram as a reference?

I don't know whether it is the desired behavior. Cause it means that 100% = all items not the maximal group size

it means that small groups will show almost no stacked bars. I guess that's the desired behavior.
it basically looks the 'most frequent' encoding except that it works also for groups that contain items from more than one category.

Note: The total width corresponds to the maximum number of elements (similar to the histogram).

in the histogram case, the global top histogram is used as a reference. Thus otherwise a two pass rendering would be needed. First, compute the histograms of all groups, Second, render based on the maximal one. However, this approach doesn't fit at all to the current rendering strategy and would take a lot of time.

Is a two pass rendering really needed in this case? If I understand correctly, the size of each bar would only depend on the total number of elements in the group and not on the size of any of the other bars.


feat: add bin program

By adding a bin entry to package.json and changing the build entry to cli.js, users can install the CLI (globally) without having to clone this repository.
$ npm i -g linear-import # or yarn global add linear-import
$ linear-import

For this to work, this package would also need to be published to NPM.
Closes #24

[...] we don't want to take on publishing the package to NPM at this moment.

Any particular reason for this? If it's workflow related, I can prepare a PR with a GitHub Action to test, build and publish this repo. Let me know!

Thanks for the offer, that would be great! I've published the initial version to NPM so far.


Specify docker build additional options in resin build

Using the resin build command is key for my team in order to integrate our CI platform with resin, however our current building scripts call docker build with a set of particular options.

We have tons of python packages, so we like to store docker-related files in a /docker folder, so we  need to trigger the build using the project root as context and specify the Dockerfile using -f

We rely on the new experimental --squash feature to remove secrets and compress our images.

Right now I can't see a way to pass these parameters to the resin build command...

In case this is interesting for anyone else, adding --squash was easy, if you feel a pm would be a good idea just say the word.
The fork:
jacintoArias/resin-cli@9df617863c30003b8e967dc8630d523106611e14
docker build -f for referencing a Dockerfile inside a nested folder turns out to be a little more tricky, as I'm getting errors from the resin-bunle-resolve package when I pass a source dir without and explicit dockerfile.
For this matter we-ve just refactored our dir structure :p

@jacintoArias This is a great idea.
Yes, we'd happily accept a PR for that --squash change, that's looks great. We're also going to have a look into fixing resin-bundle-resolve to better support this, so we can add -f support too - watch this space.

I don't think we're looking at supporting arbitrary arguments right now, so now that squash is included I'm going to close this. There's a separate issue for the specific -f argument to specify the dockerfile explicitly over here: https://github.com/resin-io/resin-cli/issues/587


Add TSDF mesh export back to the viewer

Is your feature request related to a problem? Please describe.
I'm a big fan of the old/ no longer existing TSDF mesh export option in the viewer. In particular, being able to move the cropping box around was fantastic for optimizing the TSDF volume memory consumption. This isn't really possible without the viewer.
Describe the solution you'd like
Re-introduce the bounding box visualization feature with --bounding-box-min FLOAT FLOAT FLOAT and --bounding-box-max FLOAT FLOAT FLOAT outputs.
I couldn't find the PR that removed this, any pointers/ context would be great!

The viewer was rewritten last year; TSDF support was probably lost then. The new viewer was started in #1973 and became the default in #2515.
The legacy version of the viewer hasn't been maintained but should still be available; the command is:
ns-train nerfacto --data {data} --vis viewer_legacy

Thanks for pointing this out! For now, I can get the behavior back using --vis viewer_legacy

Just noticed that there is a Crop Viewport option that can be used instead. It isn't as intuitive but does the job as it visualizes a bounding box that can be copied over to the export command.


fix: remove dependency on deprecated contextPad#getPad

Closes #34
Proposed Changes
This removes dependency on deprecated method, and also adjusts to not rely on context pad being an overlay.
Solution is based on https://github.com/bpmn-io/diagram-js/pull/888#discussion_r1578010293
Checklist
To ensure you provided everything we need to look at your PR:

[x] Brief textual description of the changes present
[ ] Visual demo attached
[ ] Steps to try out present, i.e. using the @bpmn-io/sr tool
[x] Related issue linked via Closes {LINK_TO_ISSUE} or Related to {LINK_TO_ISSUE}

Correct, but this is coming from bpmn-js:
The PR is about adjusting this library which adds append/create menu but does not touch the replace menu.

Got it. Do we have to adjust all other libraries also (bpmn-js, diagram-js,...)?

I'd rather not do that in the context of the issue in this project. We may consider fixing this in other libraries as a separate task. The linked issue is not an epic, and it deals with this library only.

So we want to do that "Some day maybe".


Animation on Scroll

Hi, thanks for your code, works perfectly.
But is possible start the animation when the scroll is down?
Thanks and happy new year! :)

With only CSS it is not possible. You need JS to create an IntersectionObserver.
What framework are you using (like simple JS or something like React/Vue)? Depending on that I can provide you some reference on how to do that.

With only CSS it is not possible. You need JS to create an IntersectionObserver.
What framework are you using (like simple JS or something like React/Vue)? Depending on that I can provide you some reference on how to do that.

With only CSS it is not possible. You need JS to create an IntersectionObserver.
What framework are you using (like simple JS or something like React/Vue)? Depending on that I can provide you some reference on how to do that.

Thanks for your fast reply. I'm using React.
I appreciate if you can help me, thanks again!

With only CSS it is not possible. You need JS to create an IntersectionObserver.
What framework are you using (like simple JS or something like React/Vue)? Depending on that I can provide you some reference on how to do that.

Thanks for your fast reply. I'm using React.
I appreciate if you can help me, thanks again!

Just wrote a component to do this using react-intersection-observer. Clone this repo to test: https://github.com/brc-dd/react-tw-reveal.
// components/Reveal.js

import { Children, cloneElement, createElement } from 'react';
import { useInView } from 'react-intersection-observer';

const RevealCore = ({ children, className }) => {
  const [ref, inView] = useInView({ threshold: 0.1, triggerOnce: true });
  const child = Children.only(children);

  return cloneElement(child, {
    ref,
    className: `${child.props?.className ?? ''} ${
      inView ? `${className} animate-distance-[200px] animate-duration-[1200ms]` : '!opacity-0'
    }`,
  });
};

const Reveal = ({ as, children, effect, ...props }) =>
  createElement(
    as ?? 'div',
    props,
    Children.map(children, (child, index) =>
      RevealCore({
        children: child,
        className: `${effect[index] ?? effect[effect.length - 1]} animate-delay-[${index * 500}ms]`,
      }),
    ),
  );

export default Reveal;
export { RevealCore };

/*
safelist

animate-delay-[500ms]
animate-delay-[1000ms]
animate-delay-[1500ms]
*/

See App.js file for usage. The complexity of the component can be adjusted depending on your requirements.

Just wrote a component to do this using react-intersection-observer. Clone this repo to test: https://github.com/brc-dd/react-tw-reveal.
// components/Reveal.js

import { Children, cloneElement, createElement } from 'react';
import { useInView } from 'react-intersection-observer';

const RevealCore = ({ children, className }) => {
  const [ref, inView] = useInView({ threshold: 0.1, triggerOnce: true });
  const child = Children.only(children);

  return cloneElement(child, {
    ref,
    className: `${child.props?.className ?? ''} ${
      inView ? `${className} animate-distance-[200px] animate-duration-[1200ms]` : '!opacity-0'
    }`,
  });
};

const Reveal = ({ as, children, effect, ...props }) =>
  createElement(
    as ?? 'div',
    props,
    Children.map(children, (child, index) =>
      RevealCore({
        children: child,
        className: `${effect[index] ?? effect[effect.length - 1]} animate-delay-[${index * 500}ms]`,
      }),
    ),
  );

export default Reveal;
export { RevealCore };

/*
safelist

animate-delay-[500ms]
animate-delay-[1000ms]
animate-delay-[1500ms]
*/

See App.js file for usage. The complexity of the component can be adjusted depending on your requirements.

Just wrote a component to do this using react-intersection-observer. Clone this repo to test: https://github.com/brc-dd/react-tw-reveal.
// components/Reveal.js

import { Children, cloneElement, createElement } from 'react';
import { useInView } from 'react-intersection-observer';

const RevealCore = ({ children, className }) => {
  const [ref, inView] = useInView({ threshold: 0.1, triggerOnce: true });
  const child = Children.only(children);

  return cloneElement(child, {
    ref,
    className: `${child.props?.className ?? ''} ${
      inView ? `${className} animate-distance-[200px] animate-duration-[1200ms]` : '!opacity-0'
    }`,
  });
};

const Reveal = ({ as, children, effect, ...props }) =>
  createElement(
    as ?? 'div',
    props,
    Children.map(children, (child, index) =>
      RevealCore({
        children: child,
        className: `${effect[index] ?? effect[effect.length - 1]} animate-delay-[${index * 500}ms]`,
      }),
    ),
  );

export default Reveal;
export { RevealCore };

/*
safelist

animate-delay-[500ms]
animate-delay-[1000ms]
animate-delay-[1500ms]
*/

See App.js file for usage. The complexity of the component can be adjusted depending on your requirements. You can also just use RevealCore for simple use cases. Feel free to customize distance, duration, delay, threshold, etc.
Demo:
React.App.-.Google.Chrome.2022-01-01.20-54-56_Trim.mp4

Thanks for your fast reply and help me!!
Works perfectly on my project!! THANKS @brc-dd :D :D :D

Just wrote a component to do this using react-intersection-observer. Clone this repo to test: https://github.com/brc-dd/react-tw-reveal.
// components/Reveal.js

import { Children, cloneElement, createElement } from 'react';
import { useInView } from 'react-intersection-observer';

const RevealCore = ({ children, className }) => {
  const [ref, inView] = useInView({ threshold: 0.1, triggerOnce: true });
  const child = Children.only(children);

  return cloneElement(child, {
    ref,
    className: `${child.props?.className ?? ''} ${
      inView ? `${className} animate-distance-[200px] animate-duration-[1200ms]` : '!opacity-0'
    }`,
  });
};

const Reveal = ({ as, children, effect, ...props }) =>
  createElement(
    as ?? 'div',
    props,
    Children.map(children, (child, index) =>
      RevealCore({
        children: child,
        className: `${effect[index] ?? effect[effect.length - 1]} animate-delay-[${index * 500}ms]`,
      }),
    ),
  );

export default Reveal;
export { RevealCore };

/*
safelist

animate-delay-[500ms]
animate-delay-[1000ms]
animate-delay-[1500ms]
*/

See App.js file for usage. The complexity of the component can be adjusted depending on your requirements. You can also just use RevealCore for simple use cases. Feel free to customize distance, duration, delay, threshold, etc.
Demo:
React.App.-.Google.Chrome.2022-01-01.20-54-56_Trim.mp4

Thanks for your fast reply and help me!!
Works perfectly on my project!! THANKS @brc-dd :D :D :D

@brc-dd Hi again, i have could apply your solution and works but i have other little problem and i don't know how can i solved.
When you do scroll, you can see the element that you want animate for miliseconds and then start the animation. Weird effect.
Do you know how can i do to only appear the elements with the animation?
I don't know if i explain well, my english is not good, but you can see here the effect (in the timeline boxes)
https://soydiegov3.netlify.app/
Thanks again for your help

@SoyDiego The !opacity-0 class is not working on your site. Try adding it to safelist.

@SoyDiego The !opacity-0 class is not working on your site. Try adding it to safelist.

Now WORKS PERFECTLY!!, It was my mistake, I used the "tw-" prefix in my tailwind and I forgot to prefix that opacity class. Thanks a lot friend!


Add async implementation of GitRepositoryProvider.repositoryForDirectory

Description of the Change
This PR converts  scr/git-repository-provider.coffee to JS and converts the synchronous filesystem calls inside GitRepositoryProvider.repositoryForDirectory to async.
As far as I know this doesn't make it fully async since Repository.open still does some synchronous calls, but it's a starting point for future optimisations.
Alternate Designs
I'd prefer to fully remove GitRepositoryProvider.repositoryForDirectorySync to reduce the amount of code but this would be a breaking change for any packages that might be using this method or atom.project.addPath().
atom.project.addPath() is the only place where repositoryForDirectorySync is currently used inside Atom:
https://github.com/atom/atom/blob/6c066f8db10f5fe1a44d1f0b1b67abcde54c1a5e/src/project.js#L373
I think adding a optional async implementation of atom.project.addPath() in a future PR would be the easiest thing to do.
A quick look through the community packages reveals that it's not really used there either

Cick here to see the full output of searching through all community packages

> grep -r "repositoryForDirectorySync" packages/
packages//svn/lib/svn-repository-provider.coffee:    Promise.resolve(@repositoryForDirectorySync(directory))
packages//svn/lib/svn-repository-provider.coffee:  repositoryForDirectorySync: (directory) ->
packages//atom-hg/lib/hg-repository-provider.coffee:      Promise.resolve(@repositoryForDirectorySync(directory))
packages//atom-hg/lib/hg-repository-provider.coffee:    repositoryForDirectorySync: (directory) ->
grep: packages//hipsum/node_modules/.bin/hipster-ipsum: No such file or directory
grep: packages//dynapp-atom/dynapp-atom: No such file or directory
grep: packages//docker/docker: Too many levels of symbolic links
grep: packages//parcel/parcel: Too many levels of symbolic links
packages//atom-tsd/typings/atom/atom.d.ts:        repositoryForDirectorySync(directory? : Pathwatcher.Directory) : any;
grep: packages//run-file/node_modules/.bin/csonc: No such file or directory
grep: packages//quilt-completions/quilt-completions: No such file or directory
packages//atom-yeoman/typingsTemp/atom/atom.d.ts:        repositoryForDirectorySync(directory? : Pathwatcher.Directory) : any;
grep: packages//epitools/.#amin.c: No such file or directory
packages//omnisharp-atom/typingsTemp/atom/atom.d.ts:        repositoryForDirectorySync(directory? : GitRepository) : GitRepository;
grep: packages//web-view/web-view: Too many levels of symbolic links
grep: packages//orionsoft/atom: No such file or directory
packages//nuclide/pkg/nuclide-hg-repository/lib/HgRepositoryProvider.js:    return Promise.resolve(this.repositoryForDirectorySync(directory));
packages//nuclide/pkg/nuclide-hg-repository/lib/HgRepositoryProvider.js:  repositoryForDirectorySync(directory: Directory): ?HgRepositoryClient {
packages//nuclide/pkg/nuclide-hg-repository/lib/HgRepositoryProvider.js:    return trackTiming('hg-repository.repositoryForDirectorySync', () => {
packages//nuclide/pkg/nuclide-remote-connection/lib/RemoteConnection.js:  // ::repositoryForDirectorySync, so we need the repo information to already be
grep: packages//tree-view-click/.eslintrc: No such file or directory
packages//json-schema/typingsTemp/atom/atom.d.ts:        repositoryForDirectorySync(directory? : GitRepository) : GitRepository;

Why Should This Be In Core?
It's already in Core
Benefits
This removes synchronous IO from Atom Core which should help when using Atom together with network attached file systems.
Possible Drawbacks
This adds similar/duplicate code to  git-repository-provider.js.
Verification Process
Unit tests.
Applicable Issues
#1766, https://github.com/atom/atom/issues/12159#issuecomment-345874321

Thanks for merging, I totally forgot about this PR 😄

You're welcome! And thank you very much for the quality submission.


Automated Package Upgrade

:tada: This PR is included in version 12.4.164 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Bump nginx-ingress-controller image

How to categorize this PR?

/area security
/kind enhancement
What this PR does / why we need it:
Ref https://github.com/kubernetes/ingress-nginx/issues/8686
Release note:

The version of the `nginx-ingress-controller` addon has been bumped to `1.2.1` for shoots and seeds >= 1.22.

/milestone v1.49

/cherrypick release-v1.48

/cherrypick release-v1.47

/skip


Encryption changes

Fixes
Issue #33
Description
Addition of AesSymmetricEncryptionSink and WithAesSymmetricEncryption extension
Obsolesence of SymmetricEncryptionSink and WithSymmetricEncryption extension
Updated Tests
Additional Blob/Stream file tests and XUnit FileDataAttribute to support tests

Looks fantastic! Thanks for this!

Published.
https://www.nuget.org/packages/FluentStorage/5.3.0


Optimizations

(Sorry, for lack of better headline/title...)
I had a question about this role, specifically about:
https://github.com/cloudalchemy/ansible-node-exporter/blob/master/tasks/install.yml#L24-L35
Is there a specific reason this is delegated to localhost? It seems downloading and unpacking on the target node would be much better in most cases?
Then, this part:
https://github.com/cloudalchemy/ansible-node-exporter/blob/master/tasks/install.yml#L52-L60
Seems to happen almost every time. Can we add a "creates" and an initial version check? Any thoughts? I am asking because this setup seems to consume a substantial amount of time on my ansible runs and I am trying to avoid building special purpose playbooks right now and would prefer to be able to re-run this continuously/whenever with the same predicable outcome.

@paulfantom thoughts on the creates? Or is this still necessary for your use-case?

Version check would be a nice to have addition to this role.


Delete schema elements that don't match target OpenSearch version.

Description
This change allows us to generates a merged spec that targets a specific version without all the unnecessary parts. It accomplishes a number of goals.

It removes fields from the spec in integration testing that have been x-version-removed before the target server version or x-version-added after, effectively testing that the values of these fields are correct.
It enables generating specs for a given version of OpenSearch without branching. We could publish a separate 1.x spec and a 2.x spec instead of 1 combined spec, removing the burden of having to check x-version fields  from consumers of the spec. This would allow us to maintain stable releases of clients that are only compatible with OpenSearch 1.x for example with only fixes, without adding any 2.x methods to them.

npm run merge -- --opensearch-version=1.3 --output build/v1.3.yaml
npm run merge -- --opensearch-version=2.0 --output build/v2.0.yaml
diff build/v1.3.yaml build/v2.0.yaml

This removes non-matching parameters.
132a134
>         - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout'

and entire operations
>     cat.templates::query.cluster_manager_timeout:
>       name: cluster_manager_timeout
>       in: query
>       description: Operation timeout for connection to cluster-manager node.
>       schema:
>         $ref: '#/components/schemas/_common:Duration'
>       x-version-added: '2.0'

Issues Resolved
Closes #425.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

2 Things we should add to this PR:

Tests for when an entire operation is removed (Then all of it's components in #components will also have to be removed)
Logic go remove items in #components/schemas that are no longer used anywhere after the removal of other components.

The tools/src/linter/SchemaRefsValidator.ts might have something you need. Once you’ve removed all components that do not exist in your specified version of OS, the $refs pointing to those components (directly and indirectly) will become unresolvable.

The SchemaRefsValidator does this by traversing all operations in #path and their components (i.e. parameters, requestBodies…) whenever it sees a $ref, it adds that ref to the list of referenced refs then go to the definition of that $ref and keeps traversing (with an optimization step of marking which $ref it has traversed to avoid doing it twice and avoid infinite loops of self $ref) till it hits an unresolvable $ref.
It also traverses #components to build a list of available_refs from the names of the components. It then compares the diff of referenced_refs and available_refs to look for unused components.

You can modify (2) to remove components not existing in your version of OS. Note that (2) will find all items in #components that are not used in #paths, not just those are not directly referenced. So, you can use that to prune all parameters, requestBodies, responses, and schemas that should be removed if an operation is removed as well.

@nhtruong I think I addressed all the feedback. The updated implementation will delete all refs that don't match semver, then purge all unused refs and finally purge all objects that reference all refs that were removed.


flask app with AWS Amplify

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
No response
Region
No response
Amplify Hosting feature
No response
Describe the bug
2022-06-01T20:01:17.081Z [INFO]: Cloning into 'bcbweb2'...
2022-06-01T20:01:17.082Z [INFO]: # Checking for Git submodules at: /codebuild/output/src525774921/src/bcbweb2/.gitmodules
2022-06-01T20:01:17.104Z [INFO]: # Retrieving environment cache...
2022-06-01T20:01:17.210Z [INFO]: # Retrieved environment cache
2022-06-01T20:01:17.210Z [INFO]: ---- Setting Up SSM Secrets ----
2022-06-01T20:01:17.210Z [INFO]: SSM params {"Path":"/amplify/d299kicpmf611g/master/","WithDecryption":true}
2022-06-01T20:01:17.244Z [WARNING]: !Failed to set up process.env.secrets
2022-06-01T20:01:17.244Z [INFO]: No live updates for this build run
2022-06-01T20:01:17.249Z [INFO]: # Retrieving cache...
2022-06-01T20:01:17.294Z [INFO]: # Extracting cache...
2022-06-01T20:01:17.301Z [INFO]: # Extraction completed
Expected behavior
i need help!!
Reproduction steps
i cannot deploy my flask app
Build Settings
No response
Additional information
No response

Please reopen if you are still having an issue.