Remove popularity constants view

Fixes

Fast fix for urgent production issue.
⚠ This is a very long PR description, but the goal was for the testing steps to be extremely thorough so it is easy for others to test. The changes are not particularly complicated, but we do want to be exhaustive in testing. Please ping me if you need any assistance at all. ⚠
Description

Note: throughout the PR description I sometimes refer only to the tables and views for image for simplicity, but the same is true for audio. This PR's code changes affect both media types, and both should be tested.
Background and problem
Currently we have an image_popularity_metrics table (that contains information like the name of the metric field in the meta_data column to use for calculating pop scores), and an image_popularity_constants view which contains all the information from the metrics table, plus two calculated fields: a percentile value and popularity constant. The constant is based on the percentile value, and is what ultimately gets used during ingestion/popularity refreshes to calculate standardized popularity.
Currently, when we want to update our popularity constants we refresh that view. This process is taking an extremely long time. We cannot drop and recreate the view instead, because the constants need to be available at all times for ingestion (i.e. we can't drop the old constants until the new ones are done being calculated). At any rate, recreating the view is also taking a long time.
Approach in this PR
This PR addresses the issue by removing the image_popularity_constants view, and instead adding the calculated columns directly to the image_popularity_metrics table. In production, we will manually hardcode these columns to their last known good values (taken from a snapshot).
Then in the popularity refresh DAG, instead of refreshing the constants view I've added some new tasks that first calculate the percentile value, and then update the metrics table with the new percentile and constant once done. We use the exact same existing SQL functions to calculate the values, but SELECT them individually instead of refreshing the view.

Some benefits of this approach:

I'm hopeful that this will entirely circumvent whatever performance issues we're having with the materialized view
If we do continue to see performance issues, they will be much easier to debug because the scope of the investigation is reduced to just the sql functions.
If we get the constants into a strange state again, we can resolve things much more quickly because we can always manually update the constants to their last known values (for example, right now if the view is dropped there is absolutely no way to run ingestion or refreshes until the entire view can be fully recreated. You cannot simply insert into a view.)
Possibly even a performance improvement because the updates for each provider are done in parallel (although it's definitely possible that the optimizer was already parallelizing this in the matview refresh)

Testing Instructions

A note for code review: the code changes are in an area that will be cleaned up in #2678. Some things follow the existing conventions for now, because I wanted to keep this change as small as possible.
We need to test local env and the process for updating on production.
Local env
Run just recreate on this branch to make sure you have the schema changes and our sample data. In just catalog/pgcli:
-- Verify the constants view is gone (this should fail)
> describe image_popularity_constants;

-- Observe that by default you have no calculated constants (valuess for val/constant will all be null)
> select * from image_popularity_metrics;

Now run the image popularity refresh DAG and make sure it works.
-- See that you now have calculated popularity constants. The nulls are for providers we don't
-- have sample data for and are expected
> select * from image_popularity_metrics;
+-----------+--------------------+------------+-----------+--------+--------------------+
| provider  | metric             | percentile | val  | constant           |
|-----------+--------------------+------------+-----------+--------+--------------------|
| nappy     | downloads          | 0.85       | <null> | <null>             |
| rawpixel  | download_count     | 0.85       | <null> | <null>             |
| wikimedia | global_usage_count | 0.85       | <null> | <null>             |
| flickr    | views              | 0.85       | 35.0      | 6.176470588235295  |
| stocksnap | downloads_raw      | 0.85      | 120.0  | 21.176470588235297 |
+-----------+--------------------+------------+-----------+--------+--------------------+

Now run the Flickr DAG until it ingests a few 100 records and mark it as a success.
-- See that the newly ingested records have calculated standardized popularity. Note that a value of 0 is normal, but there
-- should be some records with non-0 scores
openledger> select foreign_identifier, standardized_popularity, updated_on from image where provider = 'flickr' order by updated_on desc limit 10;
+--------------------+-------------------------+-------------------------------+
| foreign_identifier | standardized_popularity | updated_on                    |
|--------------------+-------------------------+-------------------------------|
|<PHONE_NUMBER>2        | 0.0                     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>2        | 0.0                     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>7        | 0.39306358381502887     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>2        | 0.32692307692307687     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>7        | 0.0                     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>7        | 0.0                     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>2        | 0.0                     | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>2        | 0.8601864181091877      | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>2        | 0.7953216374269005      | 2023-08-25 00:26:10.817251+00 |
|<PHONE_NUMBER>7        | 0.32692307692307687     | 2023-08-25 00:26:10.817251+00 |
+--------------------+-------------------------+-------------------------------+

To be very thorough, you can also run the image_popularity_refresh a second time and then inspect the metrics table to see that the constant and val for flickr were updated (now that we have new records).
Repeat the process for audio. I recommend using Jamendo when you get to the step about running a provider DAG. These were the values I got after running a popularity refresh with audio on just the sample data:
+-----------------+--------------------+------------+-----------+-----------+---------------------+
| provider        | metric             | percentile | val     | constant            |
|-----------------+--------------------+------------+-----------+-----------+---------------------|
| wikimedia_audio | global_usage_count | 0.85       | 1.0       | 0.17647058823529416 |
| jamendo         | listens            | 0.85       | 2245028.0 |<PHONE_NUMBER>6470596  |
| freesound       | num_downloads      | 0.85       | 34.0      | 6.000000000000002   |
+-----------------+--------------------+------------+-----------+-----------+---------------------+

This is not necessary for testing this PR, but to be completely safe I personally tested the data refreshes as well. This branch includes all the popularity refresh changes, including #4580 :)
Production approach
Merging this PR will not automatically update the tables/views/functions in production. We have to do that manually. To test the process, first checkout main and run just recreate to go back to plain sample data and the old schema.
Now run the image and audio popularity refreshes. (There is a bug on main, fixed in this PR, where the batched updates error when there are 0 rows to update -- as in nappy, rawpixel, and wikimedia in our sample data. You can ignore these or mark them as successful manually, it doesn't matter). Then in pgcli run SELECT * FROM public.audio_popularity_constants and SELECT * FROM public.image_popularity_constants and double check that the results look identical to the percentiles/constants calculated for the sample data on this test branch (this helps test that the constants are being calculated the exact same as before).
We are going to simulate exactly what we will do on production, by first running these queries on our local copy of main. Then we'll check out this branch without doing a recreate, simulating merging the PR. Bear with me!
Let's start: while we're still on main, run the SQL queries that we'll run on production. I give the queries for both audio and image, with commentary:
-- Audio

-- Update the metrics table to have the new columns
ALTER TABLE public.audio_popularity_metrics
ADD COLUMN val float,
ADD COLUMN constant float;

-- Insert vals into the metrics table. Here I'm using the vals we got from our sample data, but
-- on production we'll grab the actual percentile vals and constants from a snapshot.
UPDATE public.audio_popularity_metrics AS audio_metrics
SET val = new_vals.val, constant = new_vals.constant
FROM (values
	('wikimedia_audio', 1.0, 0.17647058823529416),
	('jamendo', 2245028.0,<PHONE_NUMBER>6470596),
	('freesound', 34.0, 6.000000000000002)
) AS new_vals(provider, val, constant)
WHERE new_vals.provider = audio_metrics.provider;

-- Drop the standardized popularity function so we can recreate it to not rely on the constants
-- view. Note that dropping this function necessarily drops the matview (e.g. audio_view).
-- That's okay because this view is already no longer being used anywhere, and will soon be
-- dropped in an upcoming PR. When applying in prod, though, we should make sure no provider
-- DAGs are currently running since provider DAGs use this function.
DROP FUNCTION IF EXISTS public.standardized_audio_popularity CASCADE;

-- Recreate the standardized popularity function. The only change is that it is grabbing the
-- constant from the metrics table instead of the constants view.
CREATE OR REPLACE FUNCTION public.standardized_audio_popularity(
 	provider text, meta_data jsonb
) RETURNS FLOAT AS $$
	SELECT ($2->>metric)::float / (($2->>metric)::float + constant)
	FROM public.audio_popularity_metrics WHERE provider=$1;
$$
LANGUAGE SQL
STABLE
RETURNS NULL ON NULL INPUT;

-- Note: we have not dropped the constants view yet!

-- Image. All queries are the same, just with 'image' swapped for 'audio'

ALTER TABLE public.image_popularity_metrics
ADD COLUMN val float,
ADD COLUMN constant float;

UPDATE public.image_popularity_metrics AS image_metrics
 SET val = new_vals.val, constant = new_vals.constant
 FROM (values
     ('flickr', 35.0, 6.176470588235295),
     ('stocksnap', 120.0, 21.176470588235297)
 ) AS new_vals(provider, val, constant)
 WHERE new_vals.provider = image_metrics.provider;

DROP FUNCTION IF EXISTS public.standardized_image_popularity CASCADE;

CREATE OR REPLACE FUNCTION public.standardized_image_popularity(
 	provider text, meta_data jsonb
) RETURNS FLOAT AS $$
	SELECT ($2->>metric)::float / (($2->>metric)::float + constant)
	FROM public.image_popularity_metrics WHERE provider=$1;
$$
LANGUAGE SQL
STABLE
RETURNS NULL ON NULL INPUT;

At this point, we have not merged the PR but provider DAGs and data refreshes can already be turned back on in production. DAGs at ingestion are using the constants from the metrics table, and data refreshes have been updated (in another PR) to not do popularity steps, so they're good to go.
The final step is to update the popularity refresh DAGs to update constants in the metrics table, rather than refreshing the view. That change makes it to production by merging this PR. Simulate that by checking out this branch (but do NOT just recreate, so you still have the manually edited schema). Run just up to pick up changes.
Now in pgcli, we can finally drop the constants views:
DROP MATERIALIZED VIEW public.audio_popularity_constants;
DROP MATERIALIZED VIEW public.image_popularity_constants;

And now try running the image and audio popularity refreshes and ensure they work!
Checklist

[ ] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[ ] My pull request targets the default branch of the repository (main) or a parent feature branch.
[ ] My commit messages follow best practices.
[ ] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

I've gotten through testing the local stuff and it's working well so far aside from one caveat that might not be necessarily related to this PR (I haven't tried it on main). Running the popularity refresh DAGs "worked" but for some reason all five of the refresh_popularity tasks got deferred both times I ran it locally. Regardless, I did get the updates values for flickr and stocksnap (despite the DAG never finishing successfully). Same behaviour for the audio one as well.
openledger> select * from image_popularity_metrics
+-----------+--------------------+------------+--------+--------------------+
| provider  | metric             | percentile | val    | constant           |
|-----------+--------------------+------------+--------+--------------------|
| nappy     | downloads          | 0.85       | <null> | <null>             |
| rawpixel  | download_count     | 0.85       | <null> | <null>             |
| wikimedia | global_usage_count | 0.85       | <null> | <null>             |
| stocksnap | downloads_raw      | 0.85       | 120.0  | 21.176470588235297 |
| flickr    | views              | 0.85       | 35.0   | 6.176470588235295  |
+-----------+--------------------+------------+--------+--------------------+

I'm going to take a break now and when I get back I will test the production instructions and then review the code.

Okay, I've tested the production instructions and things work! I still get the mapped task deferral behaviour with working popularity updates following the production instructions :shrug:. It does work, just confused what the deal is with the deferred tasks.
Reviewing the code now.

The popularity refresh batched updates should go into a deferred state, but they should poll to check on the status of the update every 30 minutes for image and every 1 minute for audio. I have DATA_REFRESH_POKE_INTERVAL=5 in my catalog/.env to modify this so that both media types poll every 5 seconds locally, but even if you don't have that set audio should complete pretty quickly.
Do you have the DATA_REFRESH_POKE_INTERVAL set? It's also possible something is up with the triggerer in your environments. I'm not particularly concerned since @sarayourfriend confirmed it happened when testing on main in the production instructions, and it does work for me.

With the production SQL you've shared: would it make sense/document things a bit if rather than updating the pseudo-migrations in docker/upstream_db to reflect the changes, we added a new file in there to run after all the old schema instructions?

@sarayourfriend I love this idea and your further explanation. It would make testing these sorts of changes much less involved in the future 😮  Only because this is blocking so much in the catalog, I think it's worth waiting until after this work is complete to decide on the process, maybe as part of #1836 as you say.

The changes have been applied in production; this can now be merged.


State store is set, but removed before it can be used (No matching state found in storage)

TL;DR: Redirect sign-in works, but popup doesn't. State store is set but removed before it can be used.
oidc-client.js:144 UserManager.signinPopup
oidc-client.js:144 _signin
oidc-client.js:144 _signinStart
oidc-client.js:144 PopupWindow.ctor
oidc-client.js:144 popup successfully created
oidc-client.js:144 got navigator window handle
oidc-client.js:144 OidcClient.createSigninRequest
oidc-client.js:144 MetadataService.getAuthorizationEndpoint
oidc-client.js:144 MetadataService._getMetadataProperty authorization_endpoint
oidc-client.js:144 MetadataService.getMetadata
oidc-client.js:144 Returning metadata from settings
oidc-client.js:144 metadata recieved
oidc-client.js:144 Received authorization endpoint https://domain.com/connect/authorize
oidc-client.js:144 SigninState.toStorageString
oidc-client.js:144 WebStorageStateStore.set 358d27033ed04a969c75846d4c52a9a6

If I watch my local storage I can se the correct key and value for a brief second before its removed.
oidc-client.js:144 got signin request
oidc-client.js:144 PopupWindow.navigate
oidc-client.js:144 Setting URL in popup
oidc-client.js:144 PopupWindow._callback
oidc-client.js:144 PopupWindow._cleanup
oidc-client.js:144 PopupWindow._cleanup
oidc-client.js:144 Successful response from popup window
oidc-client.js:144 _signinEnd
oidc-client.js:144 OidcClient.processSigninResponse
oidc-client.js:144 UrlUtility.parseUrlFragment
oidc-client.js:144 WebStorageStateStore.remove 358d27033ed04a969c75846d4c52a9a6
proxyConsole.js:56 No matching state found in storage

No matching key, since it's removed.

Solved: By mistake signinRedirectCallback() was fired along side with signinPopupCallback(). Removing signinRedirectCallback() fixed my problem.


Allow spaces in SDK path in flutter_tools tests

The Flutter engine now supports package: and file: imports that resolve
to paths on disk that include spaces and other URI-escaped characters.
This patch eliminates the restriction that Dart source paths not include
%20 (or other URI-escaped characters) in their paths in flutter_tool
tests.

Related #6577.


support Arduino-Pico

https://github.com/earlephilhower/arduino-pico

Hi Paul, just to clarify, the target of this request is: Port the EveApps into C++ and run with Arduino IDE , am I right?
Below is some targets I considering:

Port the EveApps into Arduino IDE, includes Eve_Hal and all the example.

The language is C++.
User can select the EVE example from the Arduino IDE

Port the pico-brteve into Arduino IDE

The language is C++

Port the pico-brteve into Arduino IDE

The language is CircuitPython

My purpose is to add the support of IDM2040 into the device list of this Arduino Pico :

Then we can port one or two examples in EveApps or Pico-BrtEve for Arduino IDE.

Hi Paul,
I'm going to apply an USB_PID number on https://github.com/raspberrypi/usb-pid for the IDM2040-7A
The purpose is to get a valid pid number in board.txt
Is this ok with you?
Best regards,
Tuan Nguyen

Hi Paul,
Please have a look to review this commit: https://github.com/brtchip-tuannguyen/arduino-pico-fork/commit/bdd8d75deebd675f7d2192fcbc179b2eead8ad84
I ported the game "Space Invader" from c/pico_Spaced_Invaders_Demo into arduino-pico and committed to my fork project.
Screenshot on IMD2040:

Porting and running steps:
porting_steps.txt

Updated the commit id: https://github.com/earlephilhower/arduino-pico/commit/7218d27d6d2678effe30e83199fc3cdcf12d835f
Json url: https://raw.githubusercontent.com/brtchip-tuannguyen/arduino-pico/Add_idm20407a_ver2/package_rp2040_index.json

Hi Paul, please help to create a new github repository to store our library for arduino-pico, this repo will be added into .gitmodules of the arduino-pico repo.
The repo name maybe BridgetekPicoArduino, or BridgetekRP2040Arduino, or just Bridgetek.
Here is some example in .gitmodules:

Best regards,
Tuan Nguyen

Pull request url: https://github.com/earlephilhower/arduino-pico/pull/912


Add cam_modifications to deployments table

In GitLab by @Tim-Hofmeester on Sep 22, 2020, 12:21
Some researchers ask the camera trap manufacturer to modify the camera trap (e.g., I know several researchers that deploy Reconyx cameras with adjusted fresnell lenses and focus point). So maybe it would be good to add if the camera was modified and how (as only cam_model would not be sufficient in these cases to know camera specifications).

In GitLab by @peterdesmet on Sep 23, 2020, 10:08
I wonder how widespread and well-documented this is in projects. Maybe it is sufficient to indicate this in deployment:comments or as a deployment:tags?

In GitLab by @Tim-Hofmeester on Sep 23, 2020, 12:59
I guess deployment:comments could be sufficient, especially as it might not be that common. Still have to find the overview of what is already in there so sorry for occasionally raising things that are already there either in other table or issue.

In GitLab by @peterdesmet on Sep 23, 2020, 14:55
No worries. deployment:comments can contain any comment regarding the deployment or location that cannot be expressed in the other fields. Since it is free-text, it is not ideal for analysis. deployment:tags on the other hand, allows for structured annotation: it can contain a list of project-defined keywords/tags that the project owner has associated with the deployment. It especially allows analysis of ones own (well-annotated) data.
If this is sufficient (and the use case probably uncommon), is it ok if I close this issue?

In GitLab by @Tim-Hofmeester on Sep 23, 2020, 16:21
Sounds really useful those deployment:tags! Yes, I think this is sufficient and I'll close the issue :-)


Type of dnsConfig added in #764 wrong

It is set to "array" when it should be set to "object".  This makes it unusable and creates validation errors when specifying dnsConfig in normal PodSpec format using a map as normal.  Please correct.

https://github.com/actions-runner-controller/actions-runner-controller/blob/master/charts/actions-runner-controller/crds/actions.summerwind.dev_runnerdeployments.yaml#L1383 should be "object"


First Bevy integration

A very basic and hacky integration of Bevy.

Run the Bevy UI: cargo run -r --bin royals_ui_bevy.
Run the CLI UI: cargo run --bin royals_ui_cli.
GameState and GameEvent are somewhat awkward.
Bevy UI is based on an EGUI debug UI, no graphics yet.
Bevy runs on the main thread.
The game is started in a separate thread.
The threads communicate via two async channels. In the future this will probably be done via a networking mechanism.
The game thread is blocked when waiting for user input.

Very nice work :+1:


[Content]: Clarify steps for Google Firebase Integration for React Native users with env vars

What article on segment.com/docs is affected?
https://segment.com/docs/connections/destinations/catalog/firebase
What part(s) of the article would you like to see updated?
Getting Started on Android
Need clarification on Step 6 which gives this command.
Analytics analytics = new Analytics.Builder(context, writeKey)
  .use(FirebaseIntegration.FACTORY)
  ...
  .build();

In a React Native project, i store all my environment variables in a .env file. I'm not sure on the Android side how do I pass that env variable over to the java files, would like the instructions to be clearer on that.
Getting Started on iOS
Need more clarification on Step 4
[config use:[SEGFirebaseIntegrationFactory instance]];

I can infer Step 3 and 4 is probably for AppDelegate.m file, but I'm not exactly sure where I should put this config variable since there is no other existing configs being declared in this file. Is it here after the [AnalyticsReactNative trackDeepLink:url withOptions:options]; ?
- (BOOL)application:(UIApplication *)application
            openURL: (NSURL *)url
            options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {

  [AnalyticsReactNative trackDeepLink:url withOptions:options];
  [config use:[SEGFirebaseIntegrationFactory instance]];
  return YES;
}

But doing so gives me the error of
❌  /Users/lyqht/Billy/ios/Billy/AppDelegate.m:37:4: use of undeclared identifier 'config'

  [config use:[SEGFirebaseIntegrationFactory instance]];

I see that from another documentation page that there is this code to add
SEGAnalyticsConfiguration *config = [SEGAnalyticsConfiguration configurationWithWriteKey:@"YOUR_WRITE_KEY"];

// Add any of your Device-mode destinations.
[config use:[SEGGoogleAnalyticsIntegrationFactory instance]];

But again, I have no idea how to pass the environment variable in.
Any help is appreciated!
Additional information
Able to set up RN project with Segment and see tracked events. Just can't really figure out how to add the firebase plugin integration properly.

@lyqht have you followed the steps here? https://segment.com/docs/connections/destinations/catalog/firebase/#setting-up-firebase-with-analytics-react-native


Event to detect Superset Viz is loading/reloading & is loaded after filters applied/refreshed in custom JS used.

I have used a custom Javascript file to customise superset for client requirement which I have added in basic.html. But I am struggling to keep the changes on chart refresh as the charts get refreshed from superset side without any event on the windows. I have considered getting a on click/change event of filters but since everything is getting updated dynamically with react I am not able to do that either.
Can anyone please suggest anything that I can use to detect the viz getting refreshed on my JS file.
Thanks.

You can only get this type of event if you right you're own custom viz plugins


Backward incompatible changes

Moved JQuery UI specific components to its own package.
Improved Web Interaction Commands.
Deprecated several methods.

Fixed issue #7


[SPARK-17125][SPARKR] Allow to specify spark config using non-string type in SparkR

What changes were proposed in this pull request?
Allow to set spark configuration using non-string type in sparkR
How was this patch tested?
Tested manually using the following command
sparkR.session(master="yarn-client", sparkConfig = list(spark.executor.instances=1))

Test build #63981 has started for PR 14699 at commit 5540366.

Test build #63981 has finished for PR 14699 at commit 5540366.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/63981/
Test FAILed.

Merged build finished. Test FAILed.

Your example was failing for a different reason:
Error in invokeJava(isStatic = TRUE, className, methodName, ...) :
  java.lang.IllegalArgumentException: spark.executor.instances should be int, but was 1.0

Means that your 1 is being interpreted as numeric instead of integer.
This works:
sparkR.session(master="yarn-client", sparkConfig = list(spark.executor.instances=1L))

Make sense, @felixcheung  Thanks

I haven't exhaustively test out configs, not sure always coercing to string might be limiting, in certain cases (eg. user was expecting 1 -> 1.0 (numeric) but now 1 -> "1" (character)

@felixcheung In what of case user was expecting 1 -> 1.0 (numeric), because internally SparkConf use string for both key and value.

It's hard to say. Right now it is being converted on the JVM side - so it is possible to have 1 -> 1.0 -> "1.0"
Also convertNamedListToEnv are being in several other cases that seem to expect numeric type - could you check that?

would you like to follow up or close this?


catalog item details controls and scrolling

When opening the details of a catalog entry you got several tabs to choose from. However if you scroll down in one tab, all the tabs get out of sight and you have to scroll up again to switch to another tab. This is quite annoying.

Fixed in https://github.com/KaotoIO/kaoto-next/pull/764


Updating readme with links to Windows quick start instructions.

This should help people getting stuck like in https://github.com/Microsoft/Docker-PowerShell/issues/64.

LGTM


Custom Dataset

Hello, I am trying to implement the model but on my custom set of images. Can you guide me on how i can annotate the images and format the json file according to the TuSimple format so that i can generate the segmentation images.

Maybe you can modify this file: https://github.com/IrohXu/lanenet-lane-detection-pytorch/blob/main/tusimple_transform.py in order to make it suitable for your data format.

Hie IrohXu

Maybe you can modify this file: https://github.com/IrohXu/lanenet-lane-detection-pytorch/blob/main/tusimple_transform.py in order to make it suitable for your data format.

hie, can i use this to test custom videos as well?

Hie IrohXu

Maybe you can modify this file: https://github.com/IrohXu/lanenet-lane-detection-pytorch/blob/main/tusimple_transform.py in order to make it suitable for your data format.

hie, can i use this to test custom videos as well?

You should write dataloader with your format.


UI dashboard to view Project Resource Quota usage

What kind of request is this (question/bug/enhancement/feature request):
Feature request
Steps to reproduce (least amount of steps as possible):
The user would like a way to easily visualize the resource quota usage across namespaces within a Project, per description below.
The Problem:
Managing quota is difficult for large projects with many namespaces. This typically requires keeping up with external spreadsheets to fully visualize what’s being used and/or switching between projects, namespaces, and editing deployments.
More detail:
Our team manages our PaaS infrastructure. We create a project for a customer and allocate quota reservations and limits based on what they are allowed to consume. This allows our customer, as a “project admin” (custom role that allows them to edit anything in the project, but not the project itself) to allocate their quota between namespaces as they need. We also define container defaults to enforce some learning on our customers, requiring that they right size their applications.
With this setup, our customers have to edit a namespace to see a view of resources available to them. However this doesn’t show actual usage, only allocation and potential consumption.
Request:
We’re requesting something like a quota dashboard. A single view within a project that shows reservation and limit, but also consumption (not metrics). Something that would make it obvious that scaling a deployment to 10 pods is going to exceed their quota based on container defaults. Perhaps something like the default Cluster page that is kind of an overview.
In addition, the quota exceeded error messages have the detail they need, but are cryptic to users that are already struggling to understand how quotas work. Having a view as described above would help this error to make more sense, but perhaps it could also be rewritten to be a bit more friendly to those less fluent in Kubernetes and quota management.
Environment information

Rancher v2.4x

gz#12417

How's the ongoing process on this. This feature is requested since v2.4x. Are there any updates on this, or do we need to implement this ourselves?


tools/osbuild-mpp: Really fix empty ostree commit object in deploy stage

The fix in 980ca03685e674ef6cda7b5383aede84dff44560 ensured that no empty commit object was created, but it still created an (empty) input object, which causes failures, like:
https://gitlab.com/CentOS/automotive/sample-images/-/merge_requests/388
We need to move the check before the line that adds the empty default input object.

Thanks @alexlarsson


Update Schunk_0_63.dcf

No homing for schunk

@ipa-mdl: please review

@thiagodefreitas @ipa-mdl: any updates here? can we merge this?


runtime: specify strict dependencies Debian package

Strict dependencies guarantees that an older version of the runtime will
not be installed together with a more recent version of the other kata
packages.
This complements commit e73473f.
Fixes: #508

/test


Cody autocomplete hanging and causing VS Code to freeze

Sourcegraph version: 5.2.2
Reported by: https://github.com/sourcegraph/accounts/issues/6938
Steps to reproduce:
Here's a short clip showing the issue: https://hello.chorus.ai/listen?guid=2cc4306dddd84b84bc5bb6f1ca5f73da
And a clip showing no logging output: https://hello.chorus.ai/listen?guid=93fbdcdc0f8344458ed500735f6d8106
Here's a clip where we discuss the size of the repo he's working in:
Worth noting that this user was in a relatively large repo with thousands of files, and the specific directory he was in had hundreds of files, and the file itself was about 1800 lines.
Expected behavior:
Cody VS Code extension doesn't hang and cause VS Code to freeze up.
Actual behavior:
Cody autocomplete hanging and causing VS Code to freeze.

This was the version before the 0.18.0 release. Unclear if the user is still seeing this issue on latest version, I'll follow up.

Wow this looks really bad, sorry about that. This is definitely not expected and we haven't heard this feedback before, either.
We will need CPU traces to understand what's going on here and what is causing the computation. The only real "work" we do on keystrokes is the context retrieval and that has a lot of checks to ensure it doesn't go unbounded. Nevertheless, we can find this out more easily:

Open the Autocomplete Trace View (cmd+shift+p)
Trigger a completion
Look at the "Context" field and the "duration" logged there.

To get CPU profiles is a bit more involved:

VS Code needs to be started with the debug protocol. This means starting VS Code from the terminal and setting the ENV var TSS_DEBUG=5859
Then, you can connect a NodeJs debugger to the port and start a CPU trace
After that, trigger an autocomplete request that experiences the latency
Once done, export the trace and post it here!


Implement delete_matched

as per https://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#method-i-delete_matched

Delete matched would require having the regex SQLite extension installed, maybe we can detect it and run the matcher only if it exists otherwise return a proper error message. The other option is to try and bundle the extension with Litestack (tricky but probably doable)

FYI https://github.com/rails/rails/issues/50443#issuecomment-1882833614
looks like delete_matched could be deprecated in 7.2 et removed in 8.0 so probably best to wait on this issue to resolve before moving forward on that

Plenty of cache stores don't have this method. Is there really a need in that?

I agree that if it's deprecated there's no need implementing it. FWIW I always found it handy when developing locally.


nix-prefetch-git: output base32 hash so output matches nix-build errors

It turns out hashFormat has never been set.

Output:
$ nix-prefetch-git https://github.com/rust-lang/rust
Initialized empty Git repository in /run/user/1000/git-checkout-tmp-DNZScQYw/git-export/.git/
remote: Counting objects: 7657, done.
remote: Compressing objects: 100% (6819/6819), done.
remote: Total 7657 (delta 4115), reused 1743 (delta 801), pack-reused 0
Receiving objects: 100% (7657/7657), 6.95 MiB | 6.16 MiB/s, done.
Resolving deltas: 100% (4115/4115), done.
From https://github.com/rust-lang/rust
 * branch            HEAD       -> FETCH_HEAD
Switched to a new branch 'fetchgit'
git revision is 98a59cf57e02b6e6a5a3bd74eb47b1422eaacc53
git human-readable version is -- none --
Commit date is 2016-02-22 07:08:25 +0000
removing `.git'...
hash is 1rikvi43h4kvi8wk323bgf5k0rmv2clm88wxyip339nsll66yiga
path is /nix/store/ri26lwkp6mp12jpqjl5f4mp6j97xpf10-git-export
1rikvi43h4kvi8wk323bgf5k0rmv2clm88wxyip339nsll66yiga

nice, thanks

Thanks!

Result of nixpkgs-review pr 13369 run on x86_64-linux 1


sockpuppetbrowser: add new chart

Description of the change
Add support for sockpuppetbrowser. The docker-compose file of changedetection-io recommends using it.
Benefits
Using this as a dependency for changedetection-io enables you to track changes on websites using screenshots etc.
Possible drawbacks
The sockpuppetbrowser is not released using tags on the container, we can only target "latest" 😞. Also the container needs added capabilities, in the docker-compose file linked above they just use SYS_ADMIN so I took that over. I don't know if there is a way to detect what the least privileges could be.
Applicable issues
N/A
Additional information

Checklist

[x] Chart version in Chart.yaml has been bumped according to Semantic Versioning.
[x] Chart artifacthub.io/changes changelog annotation has been updated in Chart.yaml. See Artifact Hub documentation for more info.
[x] Variables have been documented in the values.yaml file.

I think I miss a docs/....md file. Are they automatically generated somehow or should I copy/paste an existing one and update its contents?

Can we somehow make this a dependency of the changedetection-io chart and automatically configure it to use this browser? In the changedetection docker-compose file it's clear how that should be done on the application level.
Now I wonder how do you have changedetection currently running without this chart? 😅

I think I miss a docs/....md file. Are they automatically generated somehow or should I copy/paste an existing one and update its contents?

Also I am not sure what to do with the Readme.md of the chart, is it generated?

I think I miss a docs/....md file. Are they automatically generated somehow or should I copy/paste an existing one and update its contents?

It is generated and copied via scripts later on.
I'm using a Taskfile configuration located in the repository root here in order to run these commands locally.
For local development you can use task precommit:all and it will generate docs and do linting of the changes.

Can we somehow make this a dependency of the changedetection-io chart and automatically configure it to use this browser? In the changedetection docker-compose file it's clear how that should be done on the application level.

Yes, once this chart will be published we will be able to add it as a dependency to an existing changedetection chart.

Now I wonder how do you have changedetection currently running without this chart? 😅

In my use-cases I'm tracking a few websites which do not require client-side rendering, so checking for HTML-based diff works very well.

Also I am not sure what to do with the Readme.md of the chart, is it generated?

Yes, it is generated from README_CONFIG.md.gotmpl file in the chart root. You can check some other readme contents for an example - https://github.com/zekker6/helm-charts/blob/main/charts/apps/homer/README_CONFIG.md.gotmpl

I've processed the feedback. Let me know if I missed something!


Properly release CC Tickets

Light tickets are now removed correctly as of bf40c4cf119de6b22c96942aec58a9c7520a4e08.
Need to actually test if tickets are being removed, as some memory issues with something not being released correctly.

https://github.com/OpenCubicChunks/CubicChunks/commit/bf40c4cf119de6b22c96942aec58a9c7520a4e08 does fix


Unable to clone repo on Windows

React version (e.g., 16.8.5)
N/A
Concurrent mode yes/no
N/A
Rest Hooks version (e.g., 4.5.9)
N/A
Describe the bug
It's not possible to clone this repository on Windows
To Reproduce
Steps to reproduce the behavior:

git clone https://github.com/coinbase/rest-hooks.git

See errorCloning into 'rest-hooks'...
remote: Enumerating objects: 976, done.
remote: Counting objects: 100% (976/976), done.
remote: Compressing objects: 100% (318/318), done.
remote: Total 42200 (delta 498), reused 708 (delta 301), pack-reused 41224
Receiving objects: 100% (42200/42200), 23.16 MiB | 1.75 MiB/s, done.
Resolving deltas: 100% (23650/23650), done.
error: invalid path 'website/static/img/entities.png:Zone.Identifier'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

Expected behavior
git clone works
Additional context
This is apparently caused by special character : used in in file website/static/img/entities.png:Zone.Identifier which is not supported in Windows.
Unsupported characters by Windows file system are:  \, /, :, *, ?, ", <, >, |
Rerefernce: Stack Overflow > Fatal: Unable to checkout working tree

What is the puprose of the *:Zone.Identifier files?
I can't find any reference in codebase to these.
Looks like these are some Gmail attachment artifacts which are safe to remove

What is the puprose of the *:Zone.Identifier files?
Looks like these are some Gmail attachment artifacts that Linux creates when using drag'n'drop from browser and are safe to remove

These show up sometimes when I download zip from codesandbox.io. Haven't seen them elsewhere. Maybe it's a mac thing? Not sure


Added stub seastarfs file implementation

see #4

For now it's fine for the temporary file util to reside in fs/ as well.

We have moved the temporary_file header in #11.

Also, io_priority_class is an important bit of seastar's I/O API, so it should be passed to the block device as well (I'll make the same comment in #11, where it needs to be introduced first).

Done.


Detected a Tessel that may be booting......No Tessel Found

Hello guys,
I have a tessel 2 board, recently acquired. I have tried to follow the instruction on [http://tessel.github.io/t2-start/] however, when in enter "t2 list". I received the following response
INFO Searching for nearby Tessels...
WARN Detected a Tessel that may be booting.
WARN No Tessels Found
The power LED is blinking blue and the error LED has a continuous red light, so I suppose there is some error.
I have tried to follow some of the suggestions to fix it, but no success so far.
I'm using a 64bit Win 10 PC.
i appreciate your assistance in getting this solved. Thanks

Same issue. t2 used to work fine until a few days ago it got into this same state and no way to get it reboot properly. Blinking blue light, solid red and green.

You could try to reset the Tessel ...

If you hold down the button while plugging in power, Tessel 2 boots into DFU mode. This is typically used to load firmware built from source.

When I do that, plug in while holding down button, I get blinking blue led, and dim, solid red ERR led. And the board gets hot.

💩

Hello,
My tessel 2 was working fine until I was prompted to update the CLI. and now it does not find my tessel. any suggestions?

both happend to me in window 10

get tessel today and follow Blink LED guide
Stuck on problem and 't2 update'
error occured while 't2 update' and 't2 restore' (not working)
cant find tessel ....


How do I paginate through pages

Currently looking for a way to get the total number of pages and go through all the pages until last is reached

I did something like this:
const instance = await chromeless
.goto('https://www.website.com')
.wait(".each_result")
for (i = 0; i < 3; i++)
{
result = await chromeless
.html();
screen = await chromeless
.screenshot();

  //paginate
    await chromeless
    .click('a.btn-navigate')
    .wait(3000)

results.push(result);
console.log('in for loop: ' + i);
console.log(screen);

}


nlp admin: allow to build and reuse entity models

first implementation is available see https://github.com/theopenconversationkit/tock/tree/master/nlp/entity-evaluator/rest


Add support in BroadQuery to narrow the match to just phone or email

@wo-ist-henry in #196 made me realize that the BroadQuery API is missing an important feature!
The BroadQuery API lets the Contacts Provider use its special matching algorithms to match contacts with a given search string. Contact data matched could be anything; name, email, phone, address, organization, note, etc...
Problem
Currently, the BroadQuery API does not allow consumers to narrow the search scope to just phones or emails, which are probably very common use cases when performing searches.
Sure, consumers can use Query to perform more custom, advanced matching. However, the results may differ from the custom matching algorithm of the Contacts Provider. Getting the Query API to return the same results as the matching algorithm of the Contacts Provider may also be impossible because not all phone numbers have a non-null normalizedNumber as pointed out in #196.
Solution
Add support for narrowing the search scope in BroadQuery to just phones or emails.
The additional API could look like;
BroadQuery {
    fun match(match: Match): BroadQuery

    enum class Match {
        ANY, // Default
        PHONE,
        EMAIL
    }
}

Breaking changes will only be to rename whereAnyContactDataPartiallyMatches to wherePartiallyMatches. Removing "AnyContactData" from the function name is important to avoid confusion.
Developer notes
Matching only by phone number or email address is possible thanks to the following filter Uris defined in ContactsContract, which exist for this specific purpose.
ContactsContract {
    Contacts { CONTENT_FILTER_URI } // Default used by BroadQuery
    CommonDataKinds {
        Phone { CONTENT_FILTER_URI }
        Email { CONTENT_FILTER_URI }
    }
}

These special filter URIs are only available for the phone and email common data kinds.
Note that the EMAIL and PHONE additionally matches the contact display name. Official documentation;

Comparison table
I've done some preliminary testing on the differences between the different matching/filter algorithms. So, given the following contacts...

Display name: Robert Parr

Email<EMAIL_ADDRESS>

Display name: Bob Parr

Email<EMAIL_ADDRESS>

Display name: Bob Dole

Phone:<PHONE_NUMBER>

Display name<EMAIL_ADDRESS>
Email<EMAIL_ADDRESS>

Display name:<PHONE_NUMBER>

Phone:<PHONE_NUMBER>

Display name: Secret agent.

Address: Dole street
Company: 718
Note: Agent code is 646000. His skills are incredible!

Here are some search terms followed by matching contacts based on the type of Match used.

Search term
ANY
PHONE
EMAIL

bob
1, 2, 3
3
1, 2

incredible
1, 2, 6

2

android
2

gmail
4

.com
1, 2, 4

@

7187371991
3
3

7.1-8.7-3.7-19(91)
3
3

646
5, 6
5

646-646
6

718
3, 6
3

1991

4567

000

dole
3, 6
3

The above table gives us some insight on how sophisticated the matching (or search / indexing) algorithm is.
For the search term "bob",

PHONE matches contact 3.

Display name matches and contact has a phone even though it does match.

EMAIL matches contact 1, 2.

1 has a matching email "bob". 2 is also matched because the name matches even though the email does not. On the other hand, 3 is NOT matched even though the name matches because 3 has no email. Adding an email to 3 will cause 3 to be matched.

For the search term "incredible",

EMAIL matches 2<EMAIL_ADDRESS>but NOT 1 (bob@incredibles.com).

This means that email matching does not use contains but rather a form of startsWith.

TLDR

ANY matches any contact data; name, email, phone, address, organization, note, etc.
EMAIL matches emails or (display name + any email)
PHONE matches phones or (display name + any phone)
EMAIL and PHONE matching is NOT as simple as using the Query API with .where { [Email|Phone] contains searchTerm }

This is released in https://github.com/vestrel00/contacts-android/releases/tag/0.2.0


Camel-10141 Lets pass remaining tests on Java 9 and skip some CXF tests until CXF-7270 is released

https://issues.apache.org/jira/browse/CAMEL-10141
https://issues.apache.org/jira/browse/CXF-7270
This PR passes remaining failing tests on Java 9 build 164 (latest). I've skipped some CXF tests until CXF-7270 is released (running against CXF's SNAPSHOT works locally).

Thanks for the PR it has been merged. Do you mind closing this?


UML-932 - Users should start their journey from the gov.uk start page

Purpose
Briefly describe the purpose of the change, and/or link to the JIRA ticket for context
Fixes UML-932
Approach
rewrite service roots to gov.uk start pages in the web Nginx configuration.
Learning
Using referrers may be inconsistent
http://nginx.org/en/docs/http/ngx_http_referer_module.html
So instead we are performing a rewrite on the start page of the service.
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
https://www.liquidweb.com/kb/redirecting-urls-using-nginx/
Checklist

[ ] I have performed a self-review of my own code
[ ] I have added relevant logging with appropriate levels to my code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[ ] I have added tests to prove my work
[ ] The product team have tested these changes

Coverage remained the same at 81.604% when pulling 64f07ae55ae7fdd4d42fbfd6c8c353f4c1ea6d33 on UML-932 into 93d644c659b83376e4d10d57661764137db99d1f on master.

It's even got tests!


How to order by a custom (computed) colum?

Summary of problem or feature request
How to order by a custom (computed) colum?
Code snippet of problem
I have
Column::computed('date_time_insertion', 'Data e Ora'),

Where date_time_insertion is an appended virtual attribute of my model.
this is needed to localized date format
But I need to keep the column sortabke
System details

Operating System: indipendent
PHP Version: php 7.4
Laravel Version: 8
Laravel-Datatables Version 9

Is this a date field that is part of the table? If yes, you can do something like:
Column::make('date_time_insertion')->title('Data e Ora')->name('date_time_field_name'),

I always make confusion between the goal of 'name' and of 'data'.
Resolved using your syntax
I create a custom query, due to need to sort by joined table field
I also added an alias to each fields but it's not related to this, I suppose
        return $model
            ->select('derogations.id as derogations_id', 'derogations.seller_user_id as seller_id', 'debtors.name as debtor_name', 'derogations.request_date', 'derogations.close_date', 'derogations.status')
            ->join('debtors','derogations.debtor_user_id', '=', 'debtors.id')
            ->newQuery();

I added a 'request_date_formatted' as  data, and then used derogations.request_date (sql table and field name) to allow sorting
Column::computed('request_date_formatted', 'Data inserimento')->name('derogations.request_date')->orderable(true),

I kindly suggest to add this example in the documentation [i am using the 9, but it's ok to add into the last version only]

Feel free to submit a PR in docs, Thanks!


Is there any dependency on angularjs version? Does grid support 1.4 angularjs version

Yes, there is an upgrade for angular 1.4 which is a bug that was fixed in the datagrid.
You notice it more in angular 1.4 with listeners that appeared to stop firing in the app, even though it did happen in earlier versions as well. It just was harder to notice.


Design and implement database model

Make an entity relationship diagram
Implement it in PostgreSQL models

Completed in #14


command: add new CLI command to retrieve the project's version

Depends on https://github.com/build-trust/ockam/issues/4062
We want to add a new command that retrieves the version of a given project.

Add new command in ockam_command::project named ockam project version {name} that sends a request to the API developed at https://github.com/build-trust/ockam/issues/4062 that outputs the project version
Add test in the commands.bats file

We love helping new contributors!
If you have questions or need help as you work on your first Ockam contribution, please leave a comment on this discussion.
If you're looking for other issues to contribute to, checkout issues labeled -  https://github.com/build-trust/ockam/labels/good first issue or https://github.com/build-trust/ockam/labels/help wanted

Hi,
May I please start working on this issue?

Hi @bharattech yes, please do

Hey Eric @etorreborre ,
Need your help: Please take a look at function get_project_version_response from /implementations/rust/ockam/ockam_api/src/cloud
The Request get path is empty.
Let me know your thoughts

You need to try it out but it is possible that an empty path is valid and corresponds to this endpoint definition on the Orchestrator side.


eureka: add fate noises in bozja

This was asked for in discord, but having played with it for a while, I think it's not worth it.  There are just SO many fates that it is continually booping.  Putting this here for discussion, but I am inclined to not merge this.

cc @KattTails FYI

I think it could be useful if given the option to choose which fates to notify on. Personally there's a few fates I completely ignore, but chain fates that lead to the engagements are important to me.
FWIW I was looking at making a Bozja overlay but I wanted to include the CE pops, and I got sidetracked trying to track down a hard time tracking down the networking data. It doesn't use the same actorcontrol packets as regular fates, and seems to be internally under a new system called Dynamic Events.

I would also limit the callouts to the "important" fates that spawn CE with maybe an option to also enable "unimportant" fates

I think a good way of handling might be is having all the fates implemented, defining the important fates (chains for CEs), and allowing the option of showing all fates or only important ones, Preferably there'd be a way to allow the user to choose the fates they want to mark as important.
Also we should probably hide the fates on the map until popped to reduce clutter, as many spawn on the same spots.

I've pushed an WIP of the eureka overlay with bozja support here.
It's still noisy as it's missing the important fate filtering, but it's a start.

I've figured out the CE opcode, its 0x299, structure looks like

Byte
type
comment

0x20
4 bytes
pop time_t

0x24
2 bytes
CE time remaining (0 until 0x2A is 3

0x28
1 byte
CE key as found DynamicEvents exd

0x29
1 byte
Number of players in CE

0x2A
1 byte
Status (1-Registration, 2-Preparing, 3-Commenced)

0x2C
1 byte
Progress %

There might be more to it, but this seems like the useful data.
@quisquous I haven't contributed to the plugin in a while, should PR's be targetted to the OverlayPlugin implementation or here?

It looks like eureka is still using cactbot's onFateEvent.  OverlayPlugin has fate watching code, but I do not see any events hooked up to it.  So, I would say add it to cactbot and it'll get merged into OverlayPlugin by ngld at a future time.

Abandoning this in favor of #1890.


Add assertion to test if response has deactivation token

Coverage increased (+0.0004%) to 99.601% when pulling 6f88b2c0210ff44239ac61d1179ea3e2cd830b23 on petong:master into be764c4eea8e7f67b3eab09a772345ff5f09817e on LINKIWI:master.

LGTM, thanks for the contribution!

329a0582a4e96be6195b659e1115ef520b87d93d has been deployed to production at demo.modernpaste.com.


Git push fails with pre-push Husky hook

Description
Git Push hook works flawlessly when I just type git push in console but fails with no useful output when I try to push via Atom.
I'm using Husky and gh-pages. Here's my package.json.
Here's the Atom output:
19:18:31.406189 git.c:418               trace: built-in: git push origin master
19:18:31.408457 run-command.c:643       trace: run_command: unset GIT_CONFIG_PARAMETERS GIT_PREFIX; ssh<EMAIL_ADDRESS>'git-receive-pack '\''uyouthe/noo.git'\'''
19:18:33.229843 run-command.c:643       trace: run_command: .git/hooks/pre-push origin git@github.com:uyouthe/noo.git
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/uyouthe/.npm/_logs/2019-05-27T16_18_40_098Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>predeploy: `npm run build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>predeploy script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      /Users/uyouthe/.npm/_logs/2019-05-27T16_18_40_125Z-debug.log
error: failed to push some refs to 'git@github.com:uyouthe/noo.git'

Here's the log file:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'deploy' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'predeploy', 'deploy', 'postdeploy' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
7 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/uyouthe/repos/noo/node_modules/.bin:/Users/uyouthe/repos/noo/node_modules/.bin:/Users/uyouthe/repos/node_modules/.bin:/Users/uyouthe/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/bin:/Applications/Atom Beta.app/Contents/Resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core:/Users/uyouthe/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Applications/010 Editor.app/Contents/CmdLine:/Library/Developer/CommandLineTools/usr/libexec/git-core
8 verbose lifecycle<EMAIL_ADDRESS>CWD: /Users/uyouthe/repos/noo
9 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'npm run build' ]
10 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
11 info lifecycle<EMAIL_ADDRESS>Failed to exec predeploy script
12 verbose stack Error<EMAIL_ADDRESS>predeploy: `npm run build`
12 verbose stack Exit status 1
12 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
12 verbose stack     at EventEmitter.emit (events.js:182:13)
12 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
12 verbose stack     at ChildProcess.emit (events.js:182:13)
12 verbose stack     at maybeClose (internal/child_process.js:970:16)
12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:257:5)
13 verbose pkgid<EMAIL_ADDRESS>14 verbose cwd /Users/uyouthe/repos/noo
15 verbose Darwin 18.6.0
16 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "deploy"
17 verbose node v11.1.0
18 verbose npm  v6.7.0
19 error code ELIFECYCLE
20 error errno 1
21 error<EMAIL_ADDRESS>predeploy: `npm run build`
21 error Exit status 1
22 error Failed at the<EMAIL_ADDRESS>predeploy script.
22 error This is probably not a problem with npm. There is likely additional logging output above.
23 verbose exit [ 1, true ]

Steps to Reproduce

Create a repository with package.json in it.
Install Husky and define a pre-push hook. Make sure it works via console.
Try pushing via Atom.

Expected behavior: I want it to build and deploy seamlessly.
Actual behavior: It fails via atom while working just fine via console.
Reproduces how often: Every time I try to push.
Versions
I'm using Atom 1.36.0-beta1 on macOS 10.14.5.

This doesn't appear to have anything to do with Atom or Husky, it looks like your npm run build step is failing:
npm ERR<EMAIL_ADDRESS>build: `react-scripts build`
npm ERR! Exit status 1

Make sure that that is working correctly in the Atom environment, my guess is that react-scripts is making an assumption about the environment that holds true in your CLI environment, but isn't true inside Atom.
If you exit Atom entirely and launch it from the CLI environment with atom . does your hook work?


create a "media accounts" section in the tag profile

accounts from top 9 posts

available in the paid cloud version


V5 LeastLoadStrategy panic

What version of V2Ray are you using?
v5.0.2 Developer Preview
What problems have you encountered?
LeastLoadStrategy panic
Please attach your configuration here
"routing": {
        "balancers": [
            {
                "tag": "servers",
                "selector": [
                    "servers"
                ],
                "strategy": {
                    "type": "LeastLoad",
                    "settings": {
                        "healthCheck": {
                            "destination": "http://detectportal.firefox.com/success.txt",
                            "connectivity": "http://connectivitycheck.platform.hicloud.com/generate_204",
                            "timeout": 5,
                            "interval": 60,
                            "sampling": 10
                        },
                        "maxRTT": "500s",
                        "expected": 1,
                        "baselines": [
                            "30s",
                            "50s",
                            "100s",
                            "200s"
                        ]
                    }
                }
            },

Please attach error logs here
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0x10d4858]

goroutine 110 [running]:
github.com/v2fly/v2ray-core/v5/app/router.(*LeastLoadStrategy).getNodes(0xc008002600, {0xc008a0e160, 0x0, 0x1}, 0x746a528800)
        github.com/v2fly/v2ray-core/v5/app/router/strategy_leastload.go:149 +0xf8
github.com/v2fly/v2ray-core/v5/app/router.(*LeastLoadStrategy).pickOutbounds(0xc008002600, {0xc008a0e160, 0x0, 0x10cd2a0})
        github.com/v2fly/v2ray-core/v5/app/router/strategy_leastload.go:78 +0x2a
github.com/v2fly/v2ray-core/v5/app/router.(*LeastLoadStrategy).PickOutbound(0xc0004c3c00, {0xc008a0e160, 0x18, 0x18})
        github.com/v2fly/v2ray-core/v5/app/router/strategy_leastload.go:68 +0x25
github.com/v2fly/v2ray-core/v5/app/router.(*Balancer).PickOutbound(0xc0004c3c00)
        github.com/v2fly/v2ray-core/v5/app/router/balancing.go:44 +0x1f4
github.com/v2fly/v2ray-core/v5/app/router.(*Rule).GetTag(...)
        github.com/v2fly/v2ray-core/v5/app/router/config.go:28
github.com/v2fly/v2ray-core/v5/app/router.(*Router).PickRoute(0x1757720, {0x176fbb0, 0xc0072f2510})
        github.com/v2fly/v2ray-core/v5/app/router/router.go:80 +0x5a
github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).routedDispatch(0xc007f3db40, {0x1757720, 0xc0005e35f0}, 0xc0000711c0, {{0x1758a28, 0xc0073182a0}, 0x0, 0x0})
        github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:300 +0xdf
created by github.com/v2fly/v2ray-core/v5/app/dispatcher.(*DefaultDispatcher).Dispatch
        github.com/v2fly/v2ray-core/v5/app/dispatcher/default.go:215 +0x465

It looks like the configuration is incorrect.
https://github.com/v2fly/v2ray-core/blob/3ef7feaeaf737d05c5a624c580633b7ce0f0f1be/infra/conf/v4/observatory.go#L28-L32

After adding selectors into observatory as subjectSelector, the configuration seems to work.
Would it be nice if the observatory can be automatically created when a LeastLoad balancer is present?

Now I am confused. If I use burstObservatory instead of observatory in the v2 json configuration, it crashes with the same error.
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0xe9740f]

After adding selectors into observatory as subjectSelector, the v2ray does not crash anymore, but the balancer is still not working. All traffic is routed into the default even if I use
                "type": "field",
                "inboundTag": [
                    "socks"
                ],
                "balancerTag": "servers"
            }


Mark malloc extension allocation as ignored for the LeakSanitizer

Calms "-fsanitize=address" mode

Thanks for patch and apologies for slow reaction. This looks sensible. Can you please combine all the patches ?

Hi @alk. Github has squash and merge option. It's not the same?

I want nice and sensible commit message.
Ah, another thing for commit specifically. windows doesn't have "weak" AFAIR. But lsan might still be useful there. We'll probably want to ifdef this somehow.

@alk  Unfortunately, I do not have windows build to verify this patch. I've applied the requested fixes.

Hi @alk, ptal

Hi @alk , is something wrong with the PR ?

I need some more time. Thing about weak attribute is it doesn't change anything for shared libraries. So then link order determines which function actually gets used. Stuff specified earlier on command line (or implicitly) usually gets precedence. So we'll need to check if libtcmalloc.so could actually override lsan's function. Which would be undesirable.

Also looks like weak is not really supported on OSX. Eh...

I guess this change brings more work than value :D. It was meant for
convenience, we can drop it.
On Mon, Apr 22, 2019, 09:32 Aliaksey Kandratsenka (aka Aliaksei
Kandratsenka<EMAIL_ADDRESS>wrote:

Also looks like weak is not really supported on OSX. Eh...
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/gperftools/gperftools/pull/1087#issuecomment-485339761,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA4BFCCJXO73MMXKOQSNSEDPRVLZHANCNFSM4GXT7ZZA
.


objection init at 1.11.0

Description of changes
objection - runtime mobile exploration tool

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Some checks haven’t completed yet, and dont needed to, its my friend i know him. Very important to merge, everything is fine!

@natsukium can you check? <3

The patchapk subcommand requires zipalign(
https://github.com/NixOS/nixpkgs/issues/215861
Without it the program is not functional


Add VSX conesearch in the variable star profile

Closes #561
In addition, we now mutualise the buttons creation to ease their re-use (apps.utils.create_button_for_external_conesearch)

Ah, I was thinking about doing that, but was too lazy to do it properly :-)
Could you also localize the actual dbc.Button construction to a single place so that it might be changed easier, if we will ever do restyling? The most of parameters are the same for all buttons, and couple of edge cases may be handled through some additional keyword parameter somewhere.

Done in the last commit :-)


[Bug] Textareas over floating window

Here we go again...

This is fixed! No problem even with custom text areas!


Project A

This is a project I have to start during my training.

@cgjr this is about to start. please read through.

hey @cgjr could you please review Script A.

we found a bug! please fix it!


HWKALERTS-204 notifyListenersDeferred should filter correct events

publishCache and publishDataIdsCache should work in atomic way

Good find/fix.


Speed up builds

Webpack is notoriously slow using craco with the esbuild plugin is a good performance upgrade to having a optimized build 5-10 seconds and a development server can start between 0-3 seconds.

https://github.com/pmndrs/racing-game/pull/63/commits/dbe91ec465f1a8f161b2e98dfeddae1a8f0aaa1e -> Cuz https://github.com/webpack/webpack/issues/10227#issuecomment-706752571

Just curious as to why you decided on craco > rewired?

Just curious as to why you decided on craco > rewired?

Both are great and offer more or less the same functionality to customize CRA. Craco currently has an Esbuild Plugin(something rewired doesn't have and don't feel like to create one). And thereby the commit history of rewind is a bit concerning for me https://github.com/timarney/react-app-rewired/commits/master by which craco is looking a bit more promising https://github.com/gsoft-inc/craco/commits/master


Add new module submissions

FSRMDsc
WSManDsc
iSCSIDsc

Fixes #372

This change is

Review status: 0 of 4 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


displaying time bug with hls

when i trying watch any m3u8 video AV can stops. but remaining time continues to countdown, sometimes ignore pause.
my system: ArchLinux x86_64
mpv from: official archlinux repo
hardware: HP255-G7
how i launch mpv: mpv https://de8.libria.fun/videos/ts/8339/0001-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0002-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0003-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0004-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0005-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0006-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0007-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0008-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0009-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0010-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0011-hd/playlist.m3u8 https://de8.libria.fun/videos/ts/8339/0012-hd/playlist.m3u8  --force-media-title='Непоседливая лисица Сэнко / Sewayaki Kitsune no Senko-san'
maybe problems with resuming playbacks.. not sure
also i can't close mpv without killing process

It seems that the root cause is there is that one of the functions is blocking the loop, which makes the process hangs. That's why the remaining time countdown does not stop and pauses are not handled.

It seems that the root cause is there is that one of the functions is blocking the loop, which makes the process hangs. That's why the remaining time countdown does not stop and pauses are not handled.

Please let me know if the issue persists. I'll close this issue for now.

Please let me know if the issue persists. I'll close this issue for now.

Hey, just started using this and the issue is still happening.

Hey, just started using this and the issue is still happening.

Could you please provide more information for me to debug?

what OS you are using
your mpv and mpv-discord versions
the command line arguments you used to start mpv

arch linux, latest version of mpv-discord and mpv 0.33, no special cli arguments, just mpv. The process hangs and consumes 90% cpu, so obviously I'm gonna stop using it, but i just wanted to report the issue.

Thanks for your report and sorry for the late response!
But I'm not able to reproduce the issue after it was (supposedly) fixed at e2c90b6.
Maybe a possible workaround is to kill the process by calling os.execute in the Lua script.
This is confusing...🤔 guess I'll have to do some more investigation on this issue.

quit bug seems fixed, but timer bug no...
https://user-images.githubusercontent.com/40523124/107985957-ca6f3380-6fd3-11eb-9e2a-53ddc9b6d67d.mp4


Simplify issue report templates

Specifically to match the description here: https://lists.apache.org/thread/tkxb4wmd2b3hqgztvw3skv05yqf734k5

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

You've got an unrelated CheckNotNull change in the PR.

OK I am going to squash down the fixup! commits.

ah yea I failed to start the branch off github/master and so now I have fix that bit


Chaos when orientation changes during upload

Activity destroyed/recreated, screen goes blank, callbacks called back, upload murdered and restarted ...
Make the main activity portrait only, for now.

Later, consider issue #87 [Nice landscape mode]

8b41fb46c


Error: Cannot find module '@angular/tsc-wrapped/src/tsc'

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[X ] 3.x
I'm submitting a ...  (check one with "x")
[X ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
After I've upgraded to the latest 3.4.0 ionic serve does not work anymore.
That's what I get: Error: Cannot find module '@angular/tsc-wrapped/src/tsc'
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
global packages:

    @ionic/cli-utils : 1.4.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.4.0

local packages:

    @ionic/app-scripts<EMAIL_ADDRESS>    @ionic/cli-plugin-cordova       : 1.4.0
    @ionic/cli-plugin-ionic-angular : 1.3.1
    Cordova Platforms               : android 6.1.2 browser 4.1.0
    Ionic Framework                 : ionic-angular 3.4.0

System:

    Node       : v8.1.2
    OS         : Linux 4.10
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed
    npm        : 5.0.3

I downgraded node to 7.7.1 and everything works again.
For what I've understood it's a compatibility problem with app-scripts, is that right?
Any plan to make it compatible?

@bogomips Yes the app-scripts package are not compatible with NPM5. We will release a new version soon to fix this issue.

Hello all! Closing this as a duplicate of https://github.com/ionic-team/ionic-app-scripts/issues/1039

I started a new project with npm 5 and all of ionics latest updates and I am still having this exact issue. It makes sense to me if npm 5 is the issue but in the changelog for ionic-app-scripts 1.3.10 it says:

Ionic updated to npm 5 across the board, so please update to npm 5 to utilize our lock file when contributing.

(https://github.com/ionic-team/ionic-app-scripts/blob/master/CHANGELOG.md#1310-2017-06-28)
I find this confusing and am wondering if this is still a bug or not?

I discovered the project name should be in alpha letters and it works for me

thsk

@darmali What is "alpha letters"?

@AlirezaHaghshenas that mean you should create the project name  without special characters like ( _ , + - ..... etc)


Ngrok Tunnels to use with AGIXT

Feature/Improvement Description
Sometimes you don't want to port forward for security reasons and just want to expose AGIXT through Ngrok. I also think this feature would be nice to add because say you're working remotely from a server and you can't port forward again for whatever reason that might be you can just spin up ngrok and have it expose AGiXT for you.
Proposed Solution
To add Ngrok in the setup script
Acknowledgements

[X] I have searched the existing issues to make sure this feature has not been requested yet.
[X] I have provided enough information for everyone to understand why this feature request is needed in AGiXT.

Added in #1136


Push Scene from a tab

I have a problem when i try to push a scene from a tab:
Example:
<scene key="home" tabs>
	<scene key="a" icon={...} ... />
	<scene key="b" icon={...} initial ... >
		<scene key="1" ... />
	</scene>
	<scene key="c" icon={...} ... />
	<scene key="d" icon={...} ... />
</scene>

in the scene with key="b" i have a button:
<Button onPress={Actions.search}>
	Complete
</Button>

when i press the button i can see this with REDUX:
action Object {key: "search", type: "REACT_NATIVE_ROUTER_FLUX_PUSH"}
but the scene not change...
If i change scenarios like this:
<scene key="home" tabs>
	<scene key="a" icon={...} ... />
	<scene key="b" icon={...} initial ... />
	<scene key="c" icon={...} ... />
	<scene key="d" icon={...} ... />
        <scene key="1" ... />
</scene>

when i press the button i can see this with REDUX:
action Object {key: "search", type: "REACT_NATIVE_ROUTER_FLUX_JUMP"}
the render work but i can't see the back button in the navbar.

I want a persistent tabbar ( search, notification, UserProfile ) and push other scene from search or notification or userProfile with a back button in the navbar.

I use clone to achieve this:
<scene key="search" clone> <scene key="home" tabs>...

I have this error:
is not tab bar, jump action is not valid

Can you paste full scene setup?

<RouterWithRedux>
  <Scene key="modal" component={Modal}>
    <Scene key="root" hideNavBar selector={...} unmountScenes tabs >
      <Scene key="auth" >
        <Scene key="welcome" />
        ...
      </Scene>
      <Scene key="search" clone />
      <Scene key="main" tabs >
        <Scene key="list" icon={...} />
        <Scene key="localize" icon={...} tabs initial >
          <Scene key="a" icon={...} />
          <Scene key="b" icon={...} />
        </Scene>
        <Scene key="profile" icon={...} />
      </Scene>
    </Scene>
  </Scene>
</RouterWithRedux>

i want push the "search" scene from "a" .

You never said "search" is a tab, so by default type is jump. Not sure how to get this working. Why do you need "root" as tabs?

because the root is a selector component...

Why don't you do it facebook F8App style to do the switch for auth?

There is a limit with the tab?

Probably not, but for me it's too complex if every scene is a tab...

I think so too, i can remove the third tab but i want a persistent tab at the bottom.
Maybe the tabs is not the right way.

I assume you want to persist main tabs.
From your scene setup "auth, search, main" makes no sense to be a tab because as I see it you are not navigating/jumping between them, are you?

Yes, but i want to show the main tabs ( with list, localize and profile and not with auth, search,main)  after the login action.
So if the user is authenticated then show the main tabs.

Try type replace for auth and main and remove tabs from root

I meant reset not replace, sorry

@sarovin To solve problem what to do - to jump or to push for given actions[key], two keys are actually created actions[key] for jump and actions[key+''] for push, maybe you could try to add '' and check how it works.

The solution is this:
<RouterWithRedux>
  <Scene key="modal" component={Modal}>
    <Scene key="root" hideNavBar selector={...} unmountScenes tabs >
      <Scene key="auth" >
        <Scene key="welcome" />
        ...
      </Scene>
      <Scene key="main" >
        <Scene key="search" />
        <Scene key="tabs" tabs initial >
          <Scene key="list" icon={...} />
          <Scene key="localize" icon={...} tabs initial >
            <Scene key="a" icon={...} />
            <Scene key="b" icon={...} />
          </Scene>
          <Scene key="profile" icon={...} />
        </Scene>
      </Scene>
    </Scene>
  </Scene>
</RouterWithRedux>

That looks about right since you would never navigate to scene in same level as main once logged in


[Bug Bounty] Committee selection can fork leading to multiple concurrent committees

High-level description of the bug [1 sentence]
ETH committee selection can fork leading to multiple concurrent committees operating, this needs to be at least addressed and explained in the spec.
Attack scenario
In ETH2 committees are selected based on the current state of the chain, which in turn depends
on the winning branch of the block tree.
The spec seems to not address the fact that since potentially Casper may not finalize for a long time, the LMD GHOST fork rule can lead to long-time reoderings in the chain.
An attacker can potentially reorder the chain, say, one day back in the past, totally changing committee  assignments.  The committee members that thought they were  validating will be invalidated.
It then seems  that new true committees will not be able to operate, since no-one can not respond to changes happening back in time, unless there is a time machine invented.
It may be that the spec actually does allow multiple alternative committees operating at the same time, that correspond to alternate branches.  If yes, this needs to be explained in the spec. The way the spec currently is written it seems to state that there is a unique committee at each moment in time, which introduces confusion.
As I already mentioned, it may be a documentation issue, but the fact that this is not discussed at all in the spec is not good.
Impact: Describe the effect this may have in a production setting [1 to 2 sentences]
The chain may lose consistency and irreparably stall.
Components: Point to the files, functions, and/or specific line numbers where the bug occurs [1 to 2 sentences]
def get_committee_assignment(state: BeaconState,
epoch: Epoch,
validator_index: ValidatorIndex
) -> Optional[Tuple[Sequence[ValidatorIndex], CommitteeIndex, Slot]]:
Committee assignment depends on the state of the chain, which is not finalized
https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/validator.md#validator-assignments
Reproduction: If used any sort of tools/simulations to find the bug, describe in detail how to reproduce the buggy behavior. Showcasing the bug using the python spec and associated test infrastructure found in the spec repo is preferred!

Start the chain.
Turn off Casper for a while to simulate LMD Ghost only.
Introduce a long-term reorg by  voting to for a very old alternative previously non-winning branch.

Details: Very specific details about the bug. What state must the system be in, what types of messages must be included and in which order, etc
I think this is pretty generic, the only condition is a long-term reorg that changes the committees.
It may be that the spec provides some type of defense against this, but I was not able to find it after re-reading the spec several times.
If some type of protection exist, it needs to be documented. So it may be either a documentation bug or a more fundamental spec issue.
Fix: Description of suggested fix if available
Seems that committees need to be selected only based on Casper-finalized state.
This means, that older finalized state needs to be used if newer does not yet exist.
It may be that the spec actually does allow multiple alternative committees operating at the same time, that correspond to alternate branches.  If yes, this needs to be explained in the spec.
Note: if there is any bounty, please send it to Cancer Discovery fund
http://med.stanford.edu/cancer/about/help/make-a-gift.html

This looks more like a misunderstanding than a bug. That said, it's a relevant concern, and has already been raised here: #1523 (Or at least very similar).

This is a known feature of the spec.
Within the context of the state transition inclusion of attestations, only those from the most recent  and previous epoch wrt the chain in question can be included on chain, and thus from known shufflings.
Within the context of the block tree and LMD GHOST fork choice, all valid attestations from all blocks in the fork choice view are considered.
Within the context of attester slashings, indices (rather than on-chain calculated shufflings) are used to slash committees from unknown (from the view of the current chain) forks.

An attacker can potentially reorder the chain, say, one day back in the past, totally changing committee assignments. The committee members that thought they were validating will be invalidated.

An attacker can attempt to create some chain from the past with different committees, but (1) in most contexts this chain will have very little support (even in the context of non-finality) and be unlikely to be reorged to, and (2) the attacker chain would need to advance to a recent slot for considered at which point, it is indeed viable to look at and a node might swap to it if the LMD GHOST says so

Seems that committees need to be selected only based on Casper-finalized state.
This means, that older finalized state needs to be used if newer does not yet exist.

This would certainly make shufflings cleaner for client implementations, but would lose the benefit of short lookahead when the chain is not operating optimally, breaking some of the assumptions about randomness and committee selection.

The chain may lose consistency and irreparably stall.

Given how the state transition and fork choice handle forks, I do not believe that this is the case. The fork choice can generically handle the block tree, and incoming attestations are validated against the "target" state of the branch they are attesting to. So weight can be added to branches of the chain, a new head can be found, and state transitions up to this new head are self consistent.

It may be that the spec actually does allow multiple alternative committees operating at the same time, that correspond to alternate branches. If yes, this needs to be explained in the spec.

As you may have noted, the spec is particularly... terse. The existence of alternate shufflings in alternate branches is a very well known feature for client teams.
The concern when you open this up is less about pure consensus and fork choice issues (these structures are designed to handle it) and more about potential DoS issues. There is a tough balance between caching/pre-computing shufflings and being able to re-calculate depending on new information (new chains). In long running times of no finality, the potential DoS vector of an attacker exposing some deep reorg and inducing you to calculate epoch's worth of state transitions is a major concern.

An attacker can attempt to create some chain from the past with different committees, but (1) in most contexts this chain will have very little support (even in the context of non-finality) and be unlikely to be reorged to, and (2) the attacker chain would need to advance to a recent slot for considered at which point, it is indeed viable to look at and a node might swap to it if the LMD GHOST says so
Lets imagine that 10% of the stake is malicious.
Then, isnt it true that malicious validators, without any help from honest validators,  will be able to advance the state of the alternative branch from an old point back in time to the current time?  This branch will be much weaker then the winning branch, but then due to an inactivity leak the alternative branch will be able to finalize, so one will end up with two correctly finalized branches, so one will have to apply LDM rule again, after finalization, to decide the fork.
How will the current clients behave if they are faced with two correctly finalized alternative branches?
Will the following realistic attack work?

Take control of 1% of stake.
Recreate an alternative branch, going back 1 year in time and extending to the current time,  where only these 1% nodes participate.
Note, that on this branch the good guys are inactive, so they will be leaked out.
Finalize this branch using Casper (note that at the current time 1% will turn into 1%).
Present the finalized branch to nodes to potentially crash the entire network, since finalization
is supposed to be final, so presumably nodes are not implemented to deal with two alternative
Casper-finalized heads, or at they?

To rephrase my question, should one conclude that the inactivity leak in the example breaks the mathematical finality Casper finalization, and nodes need to have additional finality mechanisms on top of Casper such as using the LMD rule again?

Right, this attack vector does exist, and it must exist because otherwise if 1-p of nodes go offline there is no way to continue the chain and eventually get back to normal. The response is that this attack is one of the two things (the other being validator rotation) that puts an upper bound on the weak subjectivity period of a chain, so the only solution is that clients need to log on often enough that when they see the attacker's chain they must have already seen a finalized block on the good chain after the attacker split off, and so the client will refuse to switch.

From your explanation it seems that the weak subjectivity period should be less or equal to the inactivity leak time.
It is dangerous to accept branches older than inactivity leak time.
So, does one need a check in the source code that specifically reject any new incoming branches older than inactivity leak time?

does one need a check in the source code that specifically reject any new incoming branches older than inactivity leak time?

See https://github.com/ethereum/eth2.0-specs/issues/1520

@dapplion reminded - all clients have implemented weak subjectivity checks to guard against this attack. I'm closing this issue now.


VS Code: Code suggestions always use black background

I switched the VS Code theme from dark to light background. However in the Cody chat pane any sample code still has a dark background. See attached image. Should the Code snippets follow the selected theme? Code snippets in the inline chat window do use the same theme. Again see the attached image.

The issue here is that the two components use a completely different pipeline for markdown to html conversion and sanitization.
The inline chat uses vscode.MarkdownString while the chat pane code is not vscode specific and uses markedjs + DOMPurify.
We will face the same problem in issue https://github.com/sourcegraph/cody/issues/41
We should probably generalize this and use one solution everywhere. Otherwise issues like this one and the one linked above will always have to be fixed in different places and for every editor plugin.
If you decide which one to use, I'm happy to provide the implementation.


Ability to manage configurations

Create a core plugin that interfaces with dext-core-utils to allow updating configurations via the Dext Bar.

👍  This would be nice. Currently sitting at a blank input and not sure how to install plugins to make it  do stuff.


Fix i_Ctrl-a

Fixes #402 and solves #283.
Current implementation was correctly getting the boundaries for the inserted text, but it was removing the front text first, shifting the position of the remaining text and thus incorrectly removing the text coming after it.
By simply removing the tail first, the shift happens only after the inserted text has been trimmed, so it works correctly now.
And it needed to be substracted 2 instead to 1 for the tail range because of the colEnd position being actually +1 from the last letter of the inserted text and the array range getting until -1 of the specified end index. So the difference is actually 2.

Thanks, a test would be ideal. Also in the future please include the description in the commit message.

looks like there is already a failing test, so that just needs to be updated perhaps

Even better, amend the commit.

Also in the future please include the description in the commit message.

Hi! I apologize for my absence. I included the description in the commit message as requested, rebased to check if the problem was still happening (yes), and here I includet the test for before and after this fix.
Steps:

Insert some text inside a line
Exit insert mode
Enter insert mode somewhere else
Press CTRL-A

PROBLEM

FIXED

I added a new test, but it currently fails. However, it was failing before this PR, so I don't think it should block merging. However, if you can take a shot at fixing this, it would be great!

Awesome, that seems to work much better! It's always nice when the solution involves less magic code :p
Is this ready for merging? Thanks!

Yes! I forgot to change the draft status, sorry!
If this gets merged, this would be my first actual-code contribution, so this is very exciting! (Even if it was just one line xd)
I'm glad I can contribute somehow

I just removed the "currently fails" comment in the test. If you too agree, I think it's ready

I think the failing test is not related to this PR.
Is there something else needed for this to get merged?

Thanks for the PR!


Update EMS hostname uniq validation for OpenStack Domain

Keystone v3 introduced Domain, which is a namespace for OpenStack objects.
Two OpenStack Providers with different domains can live together now.
This affects only OpenStack Cloud Provider.

@miq-bot add_label providers/openstack

The change makes sense, so we can have multiple domains with same IP. Just clean the WIP things and it should be ready.

code looks good to me :+1:

@miq-bot remove_label wip

:+1:   @blomquisg, is this mergeable?

@miq-bot assign @blomquisg

@miq-bot assign @chessbyte

looks good :+1:

@aufi @Ladas should this be backported to Darga?

@chessbyte This is for a feature intended for Euwe (@aufi, @Ladas feel free to correct me)

@chessbyte @tzumainn I think this should be backported to darga since it partially fixes keystone v3 support - adding multiple domains with same keystone endpoint was not possible (however I cannot find BZ for that)

Darga backport details:
commit 1ffa046583726331029d0303917aa4f1341e5e2a
Author: Oleg Barenboim<EMAIL_ADDRESS>Date:   Tue Jul 19 09:34:33 2016 -0400

    Merge pull request #9222 from aufi/update_ems_uniq_check_for_openstack

    Update EMS hostname uniq validation for OpenStack Domain
    (cherry picked from commit fb1dd5d6ece2debd911f94bc17fd524786bb792d)

It's ok to backport this, unless something else prevents it.


 The context and stack windows remain empty, but the following message is displayed in the status bar every time I refresh the page:

This is with or without ?XDEBUG_SESSION_START=sublime.xdebug, restarted webserver, double-checked php.ini... I can't think of anything else, please advise.

I need help, everything is working fine except my breakpoints. The xdebug_content and stack are showing the stuff, but when I debug a file, i can't see which break-point is being debugged. This problem is similar to @stridera. My sublime is on a windows 7, the server (LAMP) is localhost.
{
"folders":
[
{
"path": "\\ubuntu\local.martinquito.mjquito.com"
}
],
"settings": {
"xdebug": {
"path_mapping": {
"/opt/bitnami/apache2/htdocs/" : "\\ubuntu\local.martinquito.mjquito.com"
},
"port": 9000,
}
}
}

Hi Martomo
I am using sublime3 and its built in xdebug plugin. The zf2 application code stepping happens only in the initial bootstrapping module but doesnt stop in controllers.
Any reason why this could be ?
I also see client connection timeout errors in xdebug-debug.log file
thanks

{
"folders":
[
{
"path": "C:\xampp\htdocs\myrpoj",
"follow_symlinks" : true,
}
],
"settings" :
	{
		 "xdebug":
		 {

			"path_mapping" :  { "C:\\xampp\\htdocs\\myproj" : "D:\\work\\projects\\myproj" },
		"url" : "http://myproj.localhost/",
		"super_globals": true,
        "close_on_stop": true
		}
	}

}

I was having the same problem.  The application was breaking in the breakpoint, but the little yellow arrow as not being displayed.  After working on it for several hours, Martomo comment on path_mapping gave me an idea.  The path mapping is CASE SENSITIVE.  I had /home/vagrant/PhpProject/.  The folder in the virtualbox was phpproject.


Add kubernetes module for aws

Description
https://scalar-labs.atlassian.net/browse/DLT-7400
Done

Add Kubernetes module for AWS
Only support node group

Confirm

Terraform apply

$ cd example/aws/kubernetes
$ terraform apply -var-file=example.tfvars

Copy configuration files (scalar-k8/conf)

inventory.ini
kube_config (Copy from ${eks_cluster_name}_kubeconfig)

Fix scalar-k8/conf/scalardl-custom-values.yaml

-      service.beta.kubernetes.io/azure-load-balancer-internal: "true"
-      service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "k8s_ingress"
+      service.beta.kubernetes.io/aws-load-balancer-type: clb
+      service.beta.kubernetes.io/aws-load-balancer-internal: "true"
+      # service.beta.kubernetes.io/azure-load-balancer-internal: "true"
+      # service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "k8s_ingress"

ansible-playbook (scalar-k8/)

$ ansible-playbook -i ${SCALAR_K8S_CONFIG_DIR}/inventory.ini playbooks/playbook-install-tools.yml
$ ansible-playbook -i ${SCALAR_K8S_CONFIG_DIR}/inventory.ini playbooks/playbook-deploy-scalardl.yml
$ ansible-playbook -i ${SCALAR_K8S_CONFIG_DIR}/inventory.ini playbooks/playbook-deploy-prometheus.yml

Get resources

$ k get pod,svc -o wide

Ref

https://github.com/terraform-aws-modules/terraform-aws-eks
https://github.com/cloudposse/terraform-aws-eks-cluster

@tei-k Question.
I got the following kube_config output after terraform apply,
clusters:
- cluster:
    server: https://D0BE5C2FAD77ED66ED29817523BB7182.yl4.us-west-1.eks.amazonaws.com
    certificate-authority-data: LS0tLS1CRUdJTiBDRV...

but the server host in that file resolves to private IP addresses. Because of this kubectl fails to communicate with the endpoint.
$ host d0be5c2fad77ed66ed29817523bb7182.yl4.us-west-1.eks.amazonaws.com
d0be5c2fad77ed66ed29817523bb7182.yl4.us-west-1.eks.amazonaws.com has address <IP_ADDRESS>
d0be5c2fad77ed66ed29817523bb7182.yl4.us-west-1.eks.amazonaws.com has address <IP_ADDRESS>

Can you tell what is happening?

@ymorimo

but the server host in that file resolves to private IP addresses. Because of this kubectl fails to communicate with the endpoint.

Good point! 👍 Sorry for missing of explanation on this point.
Because cluster_endpoint_public_access is false in the current default setting, So cannot access this endpoint from local.
To operate from the bastion we need to set up authentication manually.
Can you first create environment with cluster_endpoint_public_access = "true" ?
example.tfvars
# cluster_endpoint_private_access      = "true"
cluster_endpoint_public_access       = "true"


Fix projects UI

[x] Hide search until it is implemented
[x] change card components
[x] change grid item from center to start

implemented #214