How we should work with different enviroments?

What problem does this feature solve?
More clearest way to work with different enviroments.
What does the proposed API look like?
I think we need only one .env file, that contain all kind of enviroment variables.
That file should not be tracked by VCS.
But we can have documented .env.example.
I mean build script should load variables only from one .env
NOT merging .env.local with .env.whatever
NOT loading multiple .env
JUST load .env and build
For CI, dev, stage, ..., or every other enviroment, you should preconfigure .env, thats all.
Dont need magic mode for vue-cli-service build --mode=internal.
vue-cli-service build should see .env and just build.
Should use dotenv.
The process for any kind of enviroment setup:

pull (vcs)
configure(.env)
build(vue-cli-service build)

# Usage:
# bash
vue-cli-service build
APP_ENV=/full/custom/path/to/your/env/vars vue-cli-service build
vue-cli-service build --env=/full/custom/path/to/your/env/vars

// Possible implementation
const args = require('yargs').argv
require('dotenv').config({path: process.env.APP_ENV || process.args.env || '.env'})

// Usage:
// package.json
{
    "scripts": {
        "build": "vue-cli-service build",
        "build:first_variant": "vue-cli-service build --env=/full/custom/path/to/your/env/vars",
        "build:second_variant": "ENV_PATH=/full/custom/path/to/your/env/vars vue-cli-service build",
    }
}

People may want some variables checked in, some not. Your use case is not the only use case. If you don't need modes, just don't use it.


Update tutorial and examples

We had several API changes and we need to update the tutorial and examples to reflect that.

We could also release a new ROSS version to match the tutorial correctly. So, with each new version we have to release a tutorial update that conforms to the latest version.
Another idea is to make recurring updates in the tutorial (according to API changes and new features) but store them in another branch, then merging those changes only when releasing a new version, so we don't waste time reviewing every change from the last version to the new one.

Another idea is to make recurring updates in the tutorial (according to API changes and new features) but store them in another branch, then merging those changes only when releasing a new version, so we don't waste time reviewing every change from the last version to the new one.

Agreed. I think we should also have some way of automatically run all notebooks after we deploy a new version. I think this is possible to do on travis CI:
before_deploy: "echo 'ready?'"
deploy:
  ..
after_deploy:
  - ./after_deploy_1.sh
  - ./after_deploy_2.sh

I will try to implement that.

I have finished updating all notebooks (examples and tutorial).
@GabrielBachmann is taking a look on them and will be adding them soon.

PR #395 closes this issue.


Change language in 'Don't be Racist' section

I think this is a strict improvement over what was there, since I could understand it before, but can now. 👍
In normal times, I wouldn't be super comfortable with anthropomorphizing a virus, but maybe this is an effective rhetorical technique for getting people to take action?

I am with you but these aren't normal times. Coronavirus is invisible, and therefore people lash out at each other instead of protecting each other. People need to see coronavirus for the common enemy it is; only that will draw people together.

I nominate @monicacecilia to be second reviewer here.


[Bug] package io.grpc.health.v1 does not exist

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
Dubbo Java 3.3.1, OpenJDK 1.8, openEuler22.03
Steps to reproduce this issue
mvn clean package -DskipTests
What you expected to happen
The error is reported as follows，I compiled successfully on machines on other systems such as centos8, but I don't know what caused the difference.
[INFO] --- maven-remote-resources-plugin:3.1.0:process (process-resource-bundles) @ dubbo-rpc-triple ---
[INFO] Preparing remote bundle org.apache.apache.resources:apache-jar-resource-bundle:1.5
[INFO] Copying 3 resources from 1 bundle.
[INFO]
[INFO] --- maven-resources-plugin:3.3.1:resources (default-resources) @ dubbo-rpc-triple ---
[INFO] Copying 19 resources from src/main/resources to target/classes
[INFO] Copying 2 resources from ../.. to target/classes/META-INF
[INFO] Copying 1 resource from ../.. to target/classes/META-INF/dubbo-versions
[INFO] Copying 3 resources from target/maven-shared-archive-resources to target/classes
[INFO]
[INFO] --- flatten-maven-plugin:1.6.0:flatten (flatten) @ dubbo-rpc-triple ---
[INFO] Generating flattened POM of project org.apache.dubbo:dubbo-rpc-triple:jar:3.3.1...
[INFO]
[INFO] --- maven-compiler-plugin:3.13.0:compile (default-compile) @ dubbo-rpc-triple ---
[INFO] Recompiling the module because of changed dependency.
[INFO] Compiling 219 source files with javac [forked debug target 1.8] to target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
/home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleProtocol.java:[45,44] error: package io.grpc.health.v1.HealthCheckResponse does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/TriBuiltinService.java:[33,24] error: package io.grpc.health.v1 does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/TriBuiltinService.java:[34,24] error: package io.grpc.health.v1 does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/TriBuiltinService.java:[49,12] error: cannot find symbol
  symbol:   class Health
  location: class TriBuiltinService
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[28,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[29,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[30,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[31,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[32,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[33,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[34,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[35,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[36,33] error: package io.grpc.reflection.v1alpha does not exist
[ERROR] /home/stage/root/spack-stage-dubbo-3.3.1-ljcurzemeprkoyo3ixhz3dxhszsn3fct/spack-src/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/service/ReflectionV1AlphaService.java:[43,73] error: package DubboServerReflectionTriple does not exist

Anything else
No response
Are you willing to submit a pull request to fix on your own?

[ ] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Since these codes are generated from proto files, you need to compile them once in Maven before proceeding with packaging.@simon28li

Since these codes are generated from proto files, you need to compile them once in Maven before proceeding with packaging.@simon28li

Can you tell me the specific steps?

Since these codes are generated from proto files, you need to compile them once in Maven before proceeding with packaging.@simon28li

Can you tell me the specific steps?

try mvn clean complie package -DskipTests

Please close this pr as complete.


Typescript 2.0.6 breaks gdl definition

In Visual Code 1.7.1, using Typescript 2.0.6, we get back the error reported in #1 : Argument of type 'TemplateStringsArray' is not assignable to parameter of type 'string[]'.
The correct definition in index.d.ts seems to be :
export default function gql(literals: TemplateStringsArray, ...placeholders: Array): Document;

My bad : I was working with 0.1.11 and 0.1.17 (latest)


New version: peterpalowski.foobar2000 1.6.12

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Note: foobar2000 will release x64 build from version 2.0. I will add it to repo once it released to stable (now in beta).
Microsoft Reviewers: Open in CodeFlow

Will need to update hash as I don't really downloaded the installer. Morderators please feel free to fix it. Other informations should be ok. Once hash fixed, it can be immediately  marked ready for review.

？


Question about Vnnlib Syntax

Thank you for sharing your codebase!
I'm not familiar with vnnlib files, and I got confused from the following lines about verifying Lyapunov condition.
; Verifying Lyapunov condition (output 0) holds (positive), and
; Lyapunov function (output 1) is less than the level set value.
(assert (or
  (and (<= Y_0 -1e-06))
  (and (<= Y_2 -3.000001))
  (and (>= Y_2 3.000001))
  (and (<= Y_3 -3.000001))
  (and (>= Y_3 3.000001))
))
(assert (<= Y_1 36.48387))

^(link)
Is it saying Y_0 <= -1e-6 or Y_2 <= -3 or Y_2 >= 3 or Y_3 <= -3 or Y_3 >= 3, AND Y_1 <= 36.48?
I thought Y_0 is the condition term (link) that needs to be non-negative?
Or maybe I'm reading the syntax wrong?
Thanks!

Hi @hoy021, vnnlib format defines a counterexample which may satisfy the opposite of the Lyapunov condition (see https://www.vnnlib.org/). The verifier verifies the opposite of the specification defined in the vnnlib files.

That makes sense for the first term (e.g. Y_0 <= -1e-6 or Y_2 <= -3 or Y_2 >= 3 or Y_3 <= -3 or Y_3 >= 3).
But don't we want to enforce Y_1 <= 36.48? based on the comment "Lyapunov function (output 1) is less than the level set value."?
Sorry if it's a silly question.


Possibly outdated

import InsolvencyAnnouncementsGer as ia

ia.insol_proc_scr(reg = ["HRA", "HRB"], state = "Berlin",date_from = "30.08.2022", date_to = "", name = "",
                  domicile = "", department_number = "", register_reference = "", seq_number  = "", year = "",
                  reg_court = "", reg_number = "", subject = "", search_type = "unlimited", ins_court = "",
                  scrape_html = True)

returns
  File "InsolvencyAnnouncementsGer.py", line 208, in insol_proc_scr
    text = soup.find_all('table')[1].find_all('p')[0].find_all('b')[0].get_text()
IndexError: list index out of range

with the variable soup being
Register type: HRA
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>403 Forbidden</title>

Forbidden

You don't have permission to access this resource.

My guess is that something is outdated. Going to dig into it and post here...

seems like
alt.insolvenzbekanntmachungen.de
does not exist anymore and
neu.insolvenzbekanntmachungen.de
should be used.


Group focus and page focus bugs

Group focus bug (simple):
Focus callback is not called for lv_group_focus_obj, just lv_group_focus_next and lv_group_focus_prev.
Page focus (less simple):
An example setup:

animations enabled and lv_page_focus is called with anim_time non-zero.
multiple objects on a page, two of which (Object 1 and Object 2) can not be visible at the same time - so triggering lv_page_focus on either would result in the other not visible.
Object 1 is visible, lv_page_focus is called on Object 2, not visible.
before the animation starts to move focus to Object 2, lv_page_focus is called on Object 1
lv_page_focus on Object 1 does nothing because it is technically visible, since the focus has not moved to Object 2 yet
animation for page focus on Object 2 is done, Object 1 is not visible even though it was the last object to have lv_page_focus called on it

To fix this, the focus animation should still "happen" (really, no animation will happen) even when the object is already in focus, in order to cancel any already existing focus animation. The animation time should be 0 for this case, so the result is just deleting the existing animation.
@kisvegabor,  here is my take at this fix, but you may prefer some other flow for achieving the same goal.
Note that this modification also forces anim_time to 0 when animations are not enabled - in the current code, nothing will happen when calling lv_page_focus with a non-zero anim_time with animations disabled. In my eyes this way makes more sense.
void lv_page_focus(lv_obj_t * page, lv_obj_t * obj, uint16_t anim_time)
{
    lv_page_ext_t * ext = lv_obj_get_ext_attr(page);
    lv_style_t * style = lv_page_get_style(page, LV_PAGE_STYLE_BG);
    lv_style_t * style_scrl = lv_page_get_style(page, LV_PAGE_STYLE_SCRL);

    lv_coord_t obj_y = obj->coords.y1 - ext->scrl->coords.y1;
    lv_coord_t obj_h = lv_obj_get_height(obj);
    lv_coord_t scrlable_y = lv_obj_get_y(ext->scrl);
    lv_coord_t page_h = lv_obj_get_height(page);

    lv_coord_t top_err = -(scrlable_y + obj_y);
    lv_coord_t bot_err = scrlable_y + obj_y + obj_h - page_h;

#if USE_LV_ANIMATION
    bool cancel_anim = false;
#else
    anim_time = 0;
#endif
    /*If obj is higher then the page focus where the "error" is smaller*/

    /*Out of the page on the top*/
    if((obj_h <= page_h && top_err > 0) ||
       (obj_h > page_h && top_err < bot_err)) {
        /*Calculate a new position and let some space above*/
        scrlable_y = -(obj_y - style_scrl->body.padding.ver - style->body.padding.ver);
        scrlable_y += style_scrl->body.padding.ver;
    }
    /*Out of the page on the bottom*/
    else if((obj_h <= page_h && bot_err > 0) ||
            (obj_h > page_h && top_err >= bot_err)) {
        /*Calculate a new position and let some space below*/
        scrlable_y = -obj_y;
        scrlable_y += page_h - obj_h;
        scrlable_y -= style_scrl->body.padding.ver;
    } else {
        /*Already in focus*/
#if USE_LV_ANIMATION
        cancel_anim = true;
#else
        return;
#endif
    }

    if(anim_time == 0) {
        lv_obj_set_y(ext->scrl, scrlable_y);
    }
#if USE_LV_ANIMATION
    else {
        lv_anim_t a;
        a.act_time = 0;
        a.start = lv_obj_get_y(ext->scrl);
        a.end = scrlable_y;
        a.time = (cancel_anim ? 0 : anim_time);
        a.end_cb = NULL;
        a.playback = 0;
        a.repeat = 0;
        a.var = ext->scrl;
        a.path = lv_anim_path_linear;
        a.fp = (lv_anim_fp_t) lv_obj_set_y;
        lv_anim_create(&a);
    }
#endif
}

Hi,
Simple
Thank you for pointing this out!
Complex
Thank you for the examination and the precise description!
Your proposed solution sounds great! I would think in the similar way. :)
You mentioned that nothing happen with zero anim. time if animations are disabled. True. I tried to follow a systematic way of thinking for these cases like in lv_roller_set_selected. So set anim_time or anim_en to zero if animations are disabled. It seems I forget to do this in this function.
Do you have time to add these updates in a Pull request?
Just in case of you have modifications in lvgl I run a code formatter on the source code so there are lot of changes in the beta. So it might be difficult to merge.

I am not sure if it is related to this, but i want do something and it is didn't work:
I want use a keypad with group focus to scroll a page with 2 button ( up / down ).
But i can't do this with the example "lv_test_group".
If it is a normal behavior, can be great to add the possibility to scroll manually with function (it maybe already the case but i don't no how)

Hi,
Righ now lv_page does nothing if added to a group but it's really useful feature. So I just added it to beta branch and also fixed the original bug related to lv_page_focus.

So I just added it

sry, you mean added the possibility to navigate with group ?

Yes. Now You can use LV_GROUP_KEY_DOWN/RIGHT to scroll down and LV_GROUP_KEY_UP_LEFT to scroll up the page.

Please let me know how it works for you when you've tested it.

It is implemented in 5.2 branch ? Yes, i will do some feedback about it.
It is possible to scroll with a function too ? I want use a timer to do automatic scrolling when no activity. Will be very useful for all object with scrolling capabilities.

It's in the beta branch.
Adding scroll function is also a good idea. But should go to dev-5.2

The discussion about the mentioned new scrolling feature should continue in https://github.com/littlevgl/lvgl/issues/298
As the original issue is solved I close this topic. If you find some related bugs feel free to comment here.


[BugFix] fix cast '-' as int return 0

Why I'm doing:
mysql> select cast('-' as int);
+------------------+
| CAST('-' AS INT) |
+------------------+
|                0 |
+------------------+

What I'm doing:
mysql> select cast('-' as int);
+------------------+
| CAST('-' AS INT) |
+------------------+
|             NULL |
+------------------+

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)
[ ] I have added documentation for my new feature or new function
[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.3
[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@Mergify backport branch-3.2

@Mergify backport branch-3.1

@Mergify backport branch-3.0

@Mergify backport branch-2.5


Provide a build-time option to dynamically link libsqlite3.so

Hi,
I'm trying to get better-sqlite3 working with mvsqlite. mvsqlite can LD_PRELOAD into existing SQLite applications, given that the application dynamically links to libsqlite3.so. I patched better-sqlite3's build scripts and it works.
Maybe it would be nice to have a build option to make better-sqlite3 dynamically link against the system libsqlite3, instead of statically linking to the packaged one?

Dynamic linking could be considered in the future.

I have a bad hack to do this in https://github.com/lf-/better-sqlite3/tree/shared_linking

This would be really helpful and I would like to bump this suggestion.
The current configuration is difficult to use with pnpm based projects. It requires monkey patching to get the --build-from-source option to work and is not persistent across new better-sqlite3 releases. Even the npm solution is less than ideal.
It would be nice if better-sqlite3:

defaulted to dynamically linking the system sqlite3 library which most have,
allowed the user to specify at runtime the location of an alternate sqlite3 library to load,
only downloaded and compiled as a last resort.

The current build system also seems to limit the user to the amalgamation.

I'd also like to make a node-better-sqlite3 package available for OpenWRT (Linux distro for embedded devices, e.g. WiFi routers).
Currently, there is a node-sqlite3 package, but on an embedded device, pretty much every downside listed in better-sqlite3's README is much more important!
I've got a node-better-sqlite3 OpenWRT package working with static linking, but it's ineligible to become an official OpenWRT package, since pretty much every Linux package repository forbids static linking.

My issue is the current custom compile option limits you to the amalgamation and sticks you with a specific set of compile options.
This is an issue with extensions thst rely on external libraries like the included ICU unicode extension. I have to manually edit the gypi files to get it to compile with the libraries and work with out crashing.
Dynamic library inclusion would fix this issue.

+1 with variants like mvsqlite and dqlite dynamic linking is a highly desired feature!


Question about React.createClass been deprecated

Hello, I think it may be an issue with paypal xComponent creating a React Component with createClass method, but I would like to know if is there any solution to this warning:
React.createClass is deprecated and will be removed in version 16. Use plain JavaScript classes instead. If you're not yet ready to migrate, create-react-class is available on npm as a drop-in replacement.
Thanks,

@jmaguirrei use "class ABC extends React.Component" instead.

@vuuet Looks like the script https://www.paypalobjects.com/api/checkout.js is using createClass, not your wrapper.
I wonder if there is any workaround, because React 16 is 'ad portas'.
For example, is it possible to just copy this script inside the project and modify the createClass in place?
Thanks.

I close this issue since the warning comes from Paypal's original script https://www.paypalobjects.com/api/checkout.js
This was also inactive for a while!
Thanks


Support patterns of one-parameter constructors with a tuple argument

This PR brings support for patterns of constructors expecting one argument that can be a tuple such as Some (x,y).
Closes #210

About tests' location, I would suggest to update them in a different commit for now, postponing the decision on what we do with the positive/negative distinction when dealing with #298

Just rebased on main to fix the formatting issues that were from main itself.


Update advanced filtering section to mention that values within a key are OR-ed

Advanced filtering section, mentions:

In advanced filtering, you specify the:
operator type - The type of comparison.
key - The field in the event data that you're using for filtering. It can be a number, boolean, or string.
value or values - The value or values to compare to the key.

The value part should make it clear that multiple values when provided are OR-ed when doing the match.
This was discussed here: https://github.com/MicrosoftDocs/azure-docs/issues/37717#issuecomment-525908404

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

ID: 1b572f63-312f-4567-5f06-d09bcccf303e
Version Independent ID: df817c5f-24e4-bdc7-511c-141d07a53d15
Content: Event filtering for Azure Event Grid
Content Source: articles/event-grid/event-filtering.md
Service: event-grid
GitHub Login: @spelluru
Microsoft Alias: spelluru

Hi @sandeepiiit Thank you for your feedback! We will review and update as appropriate.

@spelluru Any updates on this ?

@sandeepiiit I have assigned this to content author to review and update as appropriate.

#in-progress

Updated the article.
#please-close


feat: Added Simon Game

Hey @SubstantialCattle5 @arjun-sir
I've added a new website enabling users to play the Simon Game in response to issue #28 .
Kindly look at it once and accept this request if you deem it worthy enough.
Thanks

Sorry for getting back to you late, but unfortunately I cant find any "simon-game" in your repository. Make sure you have pushed the changes you made and/or made the PR with the correct branch


undefined method when invoking multiple workers from script/delayed_job

Having a bit of a problem running multiple workers.
When creating workers with rake jobs:work jobs run without and problem, but when creating workers with ruby script/delayed_job -n 5 start all jobs fail with undefined method on Syck::DomainType.
I've searched quite a bit, but can't seem to find the solution for this.  I am running DelayedJob on the Mongoid backend.  Gem versions:
rake 0.9.2
rails 3.0.6
delayedjob 2.1.4
delayedjob_mongoid 1.0.2
Full error below:
{undefined method `getStream' for #<Syck::DomainType:0x00000004f5f5d8>\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/performable_method.rb:20:in `perform'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/backend/base.rb:87:in `invoke_job'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:120:in `block (2 levels) in run'\\n/usr/lib/ruby/1.9.1/timeout.rb:57:in `timeout'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:120:in `block in run'\\n/usr/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:119:in `run'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:177:in `reserve_and_run_one_job'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:104:in `block in work_off'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:103:in `times'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:103:in `work_off'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:78:in `block (2 levels) in start'\\n/usr/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:77:in `block in start'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:74:in `loop'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:74:in `start'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:104:in `run'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:83:in `block in run_process'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/application.rb:249:in `call'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/application.rb:249:in `block in start_proc'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/daemonize.rb:197:in `call'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/daemonize.rb:197:in `call_as_daemon'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/application.rb:253:in `start_proc'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/application.rb:293:in `start'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/controller.rb:70:in `run'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons.rb:195:in `block in run_proc'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/cmdline.rb:109:in `call'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons/cmdline.rb:109:in `catch_exceptions'\\n/var/lib/gems/1.9.1/gems/daemons-1.1.4/lib/daemons.rb:194:in `run_proc'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:81:in `run_process'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:75:in `block in daemonize'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:73:in `times'\\n/var/lib/gems/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:73:in `daemonize'\\nscript/delayed_job:5:in `<main>'

Check you codebase  for the following line and remove it
YAML::ENGINE.yamler = 'syck'
I had a similar problem, I was using yaml_db gem to store my db in yaml format, but yaml_db has an issue with psych parser.
I followed that thread http://stackoverflow.com/questions/4980877/rails-error-couldnt-parse-yaml
fixed one problem and then created another! :P


Helper module of get-path-and-version functions for command line tools

Work towards #32.
Currently based on a mixture of the existing get_version functions in pyani (e.g. pyani/anim.py and pyani/fastani.py) and my similar code in THAPBI PICT: https://github.com/peterjc/thapbi-pict/blob/v1.0.13/thapbi_pict/versions.py
Then tweaked to pass the ruff checks and refactored to reduce duplicated code.
TODO: Do we really need to catch stdout and stderr separately?

IIRC mummer3 uses an annoying mixture of stderr and stdout, hence that bit of code.

I guess I need to test locally with mummer3 and mummer4, but I'd hope searching stdout+stderr combined would work there too...

I guess I need to test locally with mummer3 and mummer4, but I'd hope searching stdout+stderr combined would work there too...

The results of nucmer --version > stdout.txt 2> stderr.txt will surprise you

The codacy analysis seems to be all about subprocess calls, plus using assert in tests which this PR now explicitly ignores for pre-commit.

Huh, RuntimeError: fastani not found on $PATH
I'll review the CI setup as I thought we could assume that was present...

I have no strong view on the use of tools.py, other names could be utils.py or dependencies.py?

I'm good with these changes - thanks @peterjc !


Revert "[feature] Feature add CircleCi"

Reverts dollarshaveclub/ember-router-scroll#113

@yowainwright I need approvals of these reverts before I can merge, if you don't mind please.


Lollipop widget (recharts)

Overview
WIP - Lollipop chart and widget.

Closing as we have gone for the HTML approach.


Plugins processes not cleaned up, possibly only when errors occur

Describe the bug
Lyra is not cleaning up plugin processes on all occasions and I am finding this sort of thing in my process list:
  501 81143     1   0 11Feb19 ??         0:00.02 /System/Library/PrivateFrameworks/KerberosHelper/Helpers/DiskUnmountWatcher
  501 83702     1   0  4Feb19 ??         0:21.65 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build751753963/b001/exe/main --debug plugin example
  501 83703     1   0  4Feb19 ??         0:23.97 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build751753963/b001/exe/main --debug plugin identity
  501 83704     1   0  4Feb19 ??         0:24.55 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build751753963/b001/exe/main --debug plugin aws
  501 83705     1   0  4Feb19 ??         1:02.73 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build751753963/b001/exe/main --debug plugin tfaws
  501 83708     1   0  4Feb19 ??         0:38.76 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build751753963/b001/exe/main --debug plugin tfkubernetes
  501 87235     1   0  4Feb19 ??         0:23.31 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build695187835/b001/exe/main --debug plugin example
  501 87236     1   0  4Feb19 ??         0:24.09 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build695187835/b001/exe/main --debug plugin identity
  501 87237     1   0  4Feb19 ??         0:25.16 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build695187835/b001/exe/main --debug plugin aws
  501 87238     1   0  4Feb19 ??         1:03.76 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build695187835/b001/exe/main --debug plugin tfaws
  501 87242     1   0  4Feb19 ??         0:39.54 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build695187835/b001/exe/main --debug plugin tfkubernetes
  501 87982     1   0  4Feb19 ??         0:23.01 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build002614375/b001/exe/main --debug plugin example
  501 87983     1   0  4Feb19 ??         0:22.48 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build002614375/b001/exe/main --debug plugin identity
  501 87984     1   0  4Feb19 ??         0:25.68 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build002614375/b001/exe/main --debug plugin aws
  501 87987     1   0  4Feb19 ??         0:38.82 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build002614375/b001/exe/main --debug plugin tfkubernetes
  501 87989     1   0  4Feb19 ??         1:45.03 /var/folders/26/7dm8dk111n1109jy0p7t0wgr0000gn/T/go-build002614375/b001/exe/main --debug plugin puppet

It might only be in the case that the run fails.
To Reproduce
Not sure, but I have recently been testing both plugins that panic and have had plenty of badly formed workflows, so could be at either stage of the run.
Expected behavior
No plugin processes left alive once Lyra exits.

I think this is a duplicate of #179, for which I have a solution in https://github.com/lyraproj/wfe/pull/16.

Should be solved by lyraproj/wfe#16

Looks like this has cropped up again.
I'm seeing many plugins running after failed Lyra runs:
  501 42458     1   0 13Mar19 ??         0:00.27 build/goplugin-example
  501 42459     1   0 13Mar19 ??         0:00.27 build/goplugin-identity
  501 42460     1   0 13Mar19 ??         0:00.26 build/goplugin-puppetdsl
  501 42461     1   0 13Mar19 ??         1:20.24 build/goplugin-tf-aws
  501 42463     1   0 13Mar19 ??         0:46.19 build/goplugin-tf-azurerm
  501 42464     1   0 13Mar19 ??         0:10.92 build/goplugin-tf-github
  501 42465     1   0 13Mar19 ??         0:39.67 build/goplugin-tf-google
  501 42466     1   0 13Mar19 ??         0:42.05 build/goplugin-tf-kubernetes
  501 42500     1   0 13Mar19 ??         0:11.81 build/goplugin-aws
  501 42501     1   0 13Mar19 ??         0:00.25 build/goplugin-example
  501 42502     1   0 13Mar19 ??         0:00.25 build/goplugin-identity
  501 42503     1   0 13Mar19 ??         0:00.25 build/goplugin-puppetdsl
  501 42504     1   0 13Mar19 ??         1:20.37 build/goplugin-tf-aws

That's also our suspect for this identity service problem:
2019-03-28T18:44:08.487Z [DEBUG] lyra.identity: 2019-03-28T18:44:08.487Z [ERROR] Invoke failed: error="Go function GetExternal returned error 'timeout' (file<EMAIL_ADDRESS>line: 104)"
2019-03-28T18:44:08.497Z [DEBUG] lyra: GetExternal: intId=lyra://puppet.com/aws_ts/aws_subnet1?hid=TerraformAws%3A%3AAws_subnet&rt=TerraformAws%3A%3AAws_subnet extId=<nil>
2019-03-28T18:44:08.499Z [DEBUG] lyra: Create state: intId=lyra://puppet.com/aws_ts/aws_subnet1?hid=TerraformAws%3A%3AAws_subnet&rt=TerraformAws%3A%3AAws_subnet

which leads to:
invocation of Identity::Service getExternal failed: PCORE_GO_FUNCTION_ERROR Go function GetExternal returned error 'timeout' (file<EMAIL_ADDRESS>line: 104)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/servicesdk@v0.0.0-20190320113120-6be298b18bf0/grpc/client.go:63 (github.com/lyraproj/servicesdk/grpc.(*Client).Invoke)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/wfe@v0.0.0-20190321125752-37a17f3018a7/service/identity.go:33 (github.com/lyraproj/wfe/service.(*identity).getExternal)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/wfe@v0.0.0-20190321125752-37a17f3018a7/service/crud.go:64 (github.com/lyraproj/wfe/service.ApplyState)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/wfe@v0.0.0-20190321125752-37a17f3018a7/wfe/resource.go:64 (github.com/lyraproj/wfe/wfe.(*resource).Run)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/wfe@v0.0.0-20190321125752-37a17f3018a7/wfe/workflowengine.go:453 (github.com/lyraproj/wfe/wfe.(*workflowEngine).runActivity)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/wfe@v0.0.0-20190321125752-37a17f3018a7/wfe/workflowengine.go:403 (github.com/lyraproj/wfe/wfe.(*workflowEngine).activityWorker)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/wfe@v0.0.0-20190321125752-37a17f3018a7/wfe/workflowengine.go:319 (github.com/lyraproj/wfe/wfe.(*workflowEngine).Run.func2)
 at /Users/scott/go/pkg/mod/github.com/lyraproj/pcore@v0.0.0-20190320221415-6e1d1bd9c47d/px/context.go:165 (github.com/lyraproj/pcore/px.Fork.func1)
2019-03-28T18:44:10.583Z [DEBUG] lyra: plugin process exited: path=build/goplugins/identity pid=5950
2019-03-28T18:44:10.583Z [DEBUG] lyra: plugin exited

@scottyw could the lingering processes be the result of killing lyra with kill or Ctrl-C? If so, this would be fixed by #221. If not, the please provide more info about in what situations the processes refuse to die.

One thing that I just notices is that the lyra generate starts all the plugins but the just forgets to kill them. I'll fix that.

I'm not using ctrl-C, just seeing the run panic due to (expected) workflow failures. I'll keep an eye on master now and check it's all grand.

@scottyw please note that a "make all" would also leave plugin processes dangling due to #230.

Oh of course. That's not ideal.


Weekly Permissions sync 2024-12-22

Weekly Permissions sync 2024-12-22

superseded by https://github.com/microsoftgraph/microsoft-graph-devx-content/pull/936


Exception on /feeder_gateway/get_block_traces with --fork-network "alpha-goerli"

Describe the bug (observed vs expected behavior)
When I run devnet:
poetry run starknet-devnet --seed 42 --accounts 1 --fork-network "alpha-goerli"

and later I try to connect with starkscan https://devnet.starkscan.co/ I have this Exception:
[2023-03-09 14:50:25 +0100] [3314] [ERROR] Exception on /feeder_gateway/get_block_traces [GET]
Traceback (most recent call last):
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/flask/app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/flask/app.py", line 1518, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/asgiref/sync.py", line 240, in __call__
    return call_result.result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/mikiw/.cache/pypoetry/virtualenvs/starknet-devnet-Xwx3J2b3-py3.8/lib/python3.8/site-packages/asgiref/sync.py", line 306, in main_wrap
    result = await self.awaitable(*args, **kwargs)
  File "/mnt/c/Workspace/ShardLabs/starknet-devnet/starknet_devnet/blueprints/feeder_gateway.py", line 158, in get_block_traces
    block_transaction_traces = await _get_block_transaction_traces(block)
  File "/mnt/c/Workspace/ShardLabs/starknet-devnet/starknet_devnet/blueprints/feeder_gateway.py", line 86, in _get_block_transaction_traces
    if block.transaction_receipts:
AttributeError: 'NoneType' object has no attribute 'transaction_receipts'

Is it because transaction_receipts are missing from http://localhost:5050/feeder_gateway/get_block_traces?blockNumber=pending ?
Not reproducible on alpha-goerli

[ ] This issue is only present on Devnet and cannot be reproduced on alpha-goerli (check the box if true).

To Reproduce
Steps to reproduce the behavior:

Run devnet poetry run starknet-devnet --seed 42 --accounts 1 --fork-network "alpha-goerli"
Call http://localhost:5050/feeder_gateway/get_block?blockHash=0x7d328a71faf48c5c3857e99f20a77b18522480956d1cd5bff1ff2df3c8b427b there is 500

Devnet version

I am using Devnet version:
[ ] This happens with a dockerized Devnet (check the box if true).
This does not appear on the following Devnet version:

System specifications

OS:
CPU:
Memory:
Python version:

so https://github.com/Shard-Labs/starknet-devnet/pull/419 fix was merged
now when new version will be released we will ask starkscan team to check this issue

new version was released so now I'll ask starkscan team to look into it

It's on starkscan team roadmap but still, not fixed.


Repo README: Improve wording regarding TOP provided solution

Because
People are very commonly concerned when they see their exercise solutions differ from the provided solutions. This is primarily from two parts:

Learners are initially directed straight to the relevant exercise directory and not told to read the repo README (where a note about the provided solution is). This has been addressed in #27055
The README note on provided solutions, despite saying the provided one isn't the only solution, the rest of the sentence seems to be interpret-able as "if your solution differs, check with the community if it's actually allowed".

This PR

Improves the wording of the relevant README note to clarify intent (unified wording with javascript-exercises repo)

Issue
Closes #27053
Additional Information
In conjunction with #424 from the css-exercises repo
Pull Request Requirements

[x] I have thoroughly read and understand The Odin Project Contributing Guide
[x] The title of this PR follows the location of change: brief description of change format, e.g. 01-flex-center: Update self check
[x] The Because section summarizes the reason for this PR
[x] The This PR section has a bullet point list describing the changes in this PR
[x] If this PR addresses an open issue, it is linked in the Issue section
[x] If applicable, I have ensured that the TOP solution files match the Desired Outcome image

Wording changes made as per https://github.com/TheOdinProject/javascript-exercises/pull/424#discussion_r1458939509


add asmacdo orcid

@asmacdo note that this repo should no longer be used (I will archive) -- it now exists as joss-paper branch of https://github.com/nipy/heudiconv - if anything PRs should be sent against that one


Additional space between y axis labels and chart

Add additional space between y axis labels and the rest of the charts:

Fixed in #9


forge fmt minor unexpected formatting results

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (cce3a44 2022-07-20T00:34:27.703293Z)
What command(s) is the bug in?
forge fmt
Operating System
Windows
Describe the bug
Hello there!
Nothing major but I believe the formatting is a bit odd in some cases. Two cases I noticed:

Opening brace goes to the next line when the line is long (but not too long!):
Before:
        if (something() || somethingElse() || anotherThing() || someOtherThin()) {
            return false;
        }

After:
        if (something() || somethingElse() || anotherThing() || someOtherThin())
        {
            return false;
        }

Curiously, if the last function in the expression is someOtherTh(), which would still make the line length go past 80, the line stays the same, and if it's someOtherThing(), it works as expected by moving the expression to the next line.

Binary operators seem to always be positioned at the same column when breaking long expressions into multiple lines:
This one I'm less sure than the first one about whether it's a bug or just something that's not currenty implemented but will be.
Before:
bool somethingElse = something == 2 || something == 3 || something == 5 || something == 7 || something == 11;

After:
bool somethingElse = something
    == 2
    || something
    == 3
    || something
    == 5
    || something
    == 7
    || something
    == 11;

That's it. By the way, I've been trying out forge and it's been a great experience. Good work!

Here is a similar example but even more extreme: https://github.com/sambacha/dappspec/blob/master/solidity/src/Recommendations/Large-Integers.md

cc @rkrasiuk / @jpopesculian unsure if this is still the case

I was hoping that the linter would allow one line conditionals. Going to append this here as a comment for now instead of making a new issue.

@ewilz currently we support this only in yul blocks. feel free to open a feature request for fmt config option

Everything here appears to be resolved now, so closing this


memo not stored for received transactions

Despite adding a note to the invoice (which correctly shows up on the sender side) the memo field is not being stored on the receiver side.
In the API when querying transactions all:
 "memo": null,

for every:
 "direction": "RECEIVE",

In the mobile wallet intraledger transactions have a Description:
From <USERNAME>

The LN transactions are just:
Invoice

Reported previously in #2449, closing in favor of the previous discussion.


Feature Request: MoveMouseRelative

References:

Relative mouse movement and CoreWindow
AutoHotKey-MouseMove

Ok, Thank you for your suggestion, I will think about it or add it in future.


Create Documentation

Update home page with mode details and how to.

Did any started on documentation, do we have any draft version of documentation.

Hi,
documentation has not yet started.
Draft of front-end here:
[http://accountgo-dev.cloudapp.net:8080/accountsreceivable/salesorders/form

Looks nice :+1:

I will try to update some part of the current documentation some of it are a bit misplaced based on my experience setting it up.

Agree. It's also important documentation and guides always up to date.
On Wed, Oct 17, 2018, 1:20 AM vivencio2<EMAIL_ADDRESS>wrote:

I will try to update some part of the current documentation some of it are
a bit misplaced based on my experience setting it up.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AccountGo/accountgo/issues/4#issuecomment-430342700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKMkY2pVoMcoNjv3o1mcgHJ5e25MR_ZIks5uliN7gaJpZM4DYEYI
.


How to run on Windows OS?

Hello.
I have tried to install the docker image according to the tutorial video.
But, docker run command has failed with the following message;
no matching manifest for windows/amd64 10.0.19045 in the manifest list entries
I searched and it may be dependency or main docker image is for linux only.
Could you please let me know how I can run the docker image on windows OS with WSL or manual server starting guide (entry point, environment settings and so on) on windows OS?
Best regards.

I solved the issue about "no matching manifest for windows/amd64 10.0.19045 in the manifest list entries" by switching container type of windows docker desktop into linux container.
However, if any manual deployment guide is provided, it will be very helpful to run the server on windows OS manually instead of using docker in order to deploy the server to production machine without installing WSL2.
Best regards.


sp_whoisactive widgets return no results when refreshed

SQL Operations Studio Version: March public preview 0.27.3
Steps to Reproduce:

Open a dashboard for a server where sp_whoisactive is installed and go to the sp_whoisactive dashboard tab. All the widgets will show values
Click on any of the widgets to refresh. The refresh will fail

In addition to failing, the widget also renders the "No results to show" message on top of the old data:

@kburtram This should not be sp_whoisactive specific issue. It's a regular widget that uses exec statement. We fixed many widget issues last month. We might introduce a regression
@anthonydresser thought?

I don't see this on other insights so

I run the exec statements. It does take few seconds for the query result to return, so it might be issue with getting query results or widget doesn't property wait for the data to return.

I don't see how that would make a difference since insights just uses the standard query code for sqltoolsservice, so it just waits for the query to finish.


XLM

Dobrý den, poslal jsem na penezenku bez Tagu je možná rada, jak dostat platbu zpět?
Děkuji

Every transaction to a custodial exchange requires a valid memo for every deposit. It's impossible to change the memo once the transaction is submitted.
You need to contact the destination exchange support team and provide a link to your transaction. They probably can process your deposit manually.

Dobry den,
Děkuji. Jak zjistím s čísla peněženky kam bylo odesláno,
Komu patří, abych ho mohl kontaktovat?
GAWPTHY6233GRWZZ7JXDMVXDUDCVQVVQ2SXCSTG3R3CNP5LQPDAHNBKL
Děkuji za pomoc
Filio
ne 20. 12. 2020 v 21:39 odesílatel orbitlens<EMAIL_ADDRESS>napsal:

Every transaction to a custodial exchange requires a valid memo for every
deposit. It's impossible to change the memo once the transaction is
submitted.
You need to contact the destination exchange support team and provide a
link to your transaction. They probably can process your deposit manually.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/orbitlens/stellar-expert-explorer/issues/264#issuecomment-748667898,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASDQC64YTJS4CY4KB3EWGN3SVZOIFANCNFSM4U4BAZ6A
.

Contact the destination exchange. If you sent money to Bitfinex, then contact their support.


Provider 'xxx' must return a value from $get factory method.

I'm trying to "classify" an existing angular factory, and I am not sure I understand what this is telling me.   This is how it was originally written in coffeescript:
'use strict';

angular.module('App')
.factory 'Data', [
  '$log'
  '$q'
  ($log, $q) ->

    openDB : ->
      db = new PouchDB 'myDB'
      return db

    getDB: ->
      db = $q.defer()
      db = @openDB()
      db.allDocs {include_docs: true}, (err, res) ->
        if err
          $log.log err
          db.resolve err
        else
          db.resolve res.rows
      return db.promise

#[and so on]

It goes on in the same vein with all the usual CRUD functions like findRecord, addRecord, etc.  It works fine, but I wanted to "classify" this code to better encapsulate it for future reuse.
this is how I rewrote it:
class Data extends Factory
  constructor: ($log, $q) ->
    openDB : ->
      db = new PouchDB 'myDB'
      return db

    getDB: ->
      db = $q.defer()
      db = @openDB()
      db.allDocs {include_docs: true}, (err, res) ->
        if err
          $log.log err
          db.resolve err
        else
          db.resolve res.rows
      return db.promise

#[and so on]

However, I am getting the following error:
 Provider 'Data' must return a value from $get factory method.

I'm not sure I understand what is going wrong, and the examples in the API reference do not show a factory with more than one method.  Can you help me understand how the classify utility would handle this?

I have figured it out for myself.  You MUST add an explicit return object for the constructor function.  You cannot rely on the coffee script editor's implicit return.  The code should read:
class Data extends Factory
  constructor: ($log, $q) ->
    return {
      openDB : ->
        db = new PouchDB 'myDB'
        return db
    #[and so on]
    }

hi @rlrhett, yep.  CoffeeScript usually returns the last line automatically, but with a class constructor function, it does not.  :)
You got it.


Increasing slick slider's height

I tried following this answer, nothing worked unless I missed something. Here's the link of the website
I want the images to fit vertically in slick slider, either by scaling them down, or ideally changing the height of the slider. I don't want adaptive height, the height should be fixed on all sliders.

123

I tried
.slide, .slide a, .caroufredsel_wrapper, #homepage-banner {
	height: 667px !important;
}

Whilst that definitely increased the height, the images still don't fit perfectly, which you could see clearly in the last slide.
The image height is 667px, the banner height increased but the slider is still cropping part of it. If I increase the height to 1000px, it won't make any difference. By the way, the width you see written in the html snippet above, I didn't write it, slick slider did that automatically.

Can you isolate that in a fiddle or disable the autoplay option? I cannot check it as it constantly rewrite everything

You closed it even before answering so there's no point in answering, what's the point of answering if you close it? you're not trying to answer, you're trying to close.

I solved this issue on my own a month ago
The slide is removed now because even if I got to fix this issue, I wasn't able to fix the autocrop issue, So I used glidejs
In order to pause the page in order to inspect it, you use the debug mode, in chrome that's right-click -> open inspector and then you press f8 or fn + f8.  If you don't know how to do that you're not qualified to answer my question or any JS question sorry. @kenwheeler you picked the wrong admin to take care of your project. A project that relies on JS needs a veteran JS developer and that's JS 101.

Hello @elieobeid7 I close the issues with a note asking for a way to reproduce it. On the new ticket it says
use this jsfiddle to reproduce your bug:
http://jsfiddle.net/simeydotme/fmo50w7n/
we will likely close your issue without it.

Thank you


Vite: Sourcemap warning suppression

Describe the bug
When building an app using vite and vanilla extract, and when the build.sourcemap vite config option is set to true, I receive a bunch of sourcemap warnings.
i.e.
vite v2.9.9 building for production...
✓ 15216 modules transformed.
rendering chunks (2)...Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
Sourcemap is likely to be incorrect: a plugin (vanilla-extract) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help
...

The vanilla extract docs list a way to supress this warning for esbuild:
https://github.com/seek-oss/vanilla-extract#esbuild
but I haven't found a way to suppress them for Vite. Would love to be able to suppress these if possible.
Link to reproduction

System Info
Output of npx envinfo --system --npmPackages @vanilla-extract/css,@vanilla-extract/webpack-plugin,@vanilla-extract/esbuild-plugin,@vanilla-extract/vite-plugin,@vanilla-extract/sprinkles,webpack,esbuild,vite --binaries --browsers:
  System:
    OS: macOS 12.2.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 3.75 GB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.asdf/installs/nodejs/16.13.1/bin/node
    Yarn: 1.22.17 - /opt/homebrew/bin/yarn
    npm: 8.3.0 - ~/.asdf/plugins/nodejs/shims/npm
  Browsers:
    Chrome: 101.0.4951.64
    Firefox: 100.0.2
    Safari: 15.3
  npmPackages:
    @vanilla-extract/css: ^1.6.8 => 1.6.8
    @vanilla-extract/vite-plugin: ^3.1.6 => 3.1.6
    @vanilla-extract/webpack-plugin: ^2.1.5 => 2.1.10
    vite: ^2.9.9 => 2.9.9

The rollup plugin generates a similar warning https://rollupjs.org/guide/en/#warning-sourcemap-is-likely-to-be-incorrect

I'm not sure creating sourcemaps for VE files is possible, as the transform that occurs is not an AST transform. I agree this warning is not ideal though. Not sure what the recommended approach is here. Is there a way to tell Vite/Rollup that this transform won't create a sourcemap and to not warn about it? Or am I wrong about sourcemaps being a viable option?

I think it may be difficult to create exact sourcemaps, but it might be possible to at least provide a mapping to the relevant style()/createSprinkles()/globalStyle()/etc call in the source .css.ts? This would be better than nothing as it helps to find the correct file.

@graup Do you have any ideas on how to implement it?

For now, it should be possible to suppress the warnings by returning empty source maps. Haven't tested it but I think in the transform functions we just need to change
return processVanillaFile(...)

to
return {
  code: await processVanillaFile(...),
  map: { mappings: '' }
}

I'll have a think about if we can return more meaningful maps there.


[SMALLFIX] Minor cleanups

Followup to small style errors introduced in https://github.com/Alluxio/alluxio/pull/4383

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12459/
Test PASSed.

LGTM


feature: Support Vite by falling back from process.env to import.meta.env

In all of our packages, we support no-config on platforms that use process.env. Vite does not -- it uses import.meta.env, with a catch. To avoid exposing system env vars to your build process, Vite requires its env vars to be prefixed with VITE_.
This means, for example, that the following code in Postgres:
export function postgresConnectionString(
  type: ConnectionStringType = 'pool',
): string | undefined {
  let connectionString: string | undefined;

  switch (type) {
    case 'pool': {
      connectionString = process.env.POSTGRES_URL;
      break;
    }
    case 'direct': {
      connectionString = process.env.POSTGRES_URL_NON_POOLING;
      break;
    }
    default: {
      const _exhaustiveCheck: never = type;
      const str = _exhaustiveCheck as string;
      throw new VercelPostgresError(
        'invalid_connection_type',
        `Unhandled type: ${str}`,
      );
    }
  }

  if (connectionString === 'undefined') connectionString = undefined;
  return connectionString;
}

could support Vite by doing:
export function postgresConnectionString(
  type: ConnectionStringType = 'pool',
): string | undefined {
  let connectionString: string | undefined;

  switch (type) {
    case 'pool': {
-      connectionString = process.env.POSTGRES_URL;
+      connectionString = process.env?.POSTGRES_URL ?? import.meta.env?.VITE_POSTGRES_URL;
      break;
    }
    case 'direct': {
-      connectionString = process.env.POSTGRES_URL_NON_POOLING;
+      connectionString = process.env?.POSTGRES_URL_NON_POOLING ?? import.meta.env?.VITE_POSTGRES_URL_NON_POOLING;
      break;
    }
    default: {
      const _exhaustiveCheck: never = type;
      const str = _exhaustiveCheck as string;
      throw new VercelPostgresError(
        'invalid_connection_type',
        `Unhandled type: ${str}`,
      );
    }
  }

  if (connectionString === 'undefined') connectionString = undefined;
  return connectionString;
}

We could also potentially enhance the error by detecting if the user is running Vite by doing something like:
if (import.meta.env.MODE !== undefined) {
  // enhance error with a "You might need to prefix your environment variables with `VITE_`" message
}

cc #99 and #107 -- this would allow both of these use cases to be zero-config.

When running console.log(import.meta?.env?.VITE_KV_REST_API_URL); inside the package, right before reading process.env.KV_REST_API_URL, it logs undefined (note that it's calling the index.js file and not the .cjs).  The same log works inside a +page.server.ts file.
The only workaround I found is to define the env variables inside the vite.config.ts file.
export default ({ mode }) => {
  process.env.VITE_KV_REST_API_URL = "..."
  return defineConfig({
    plugins: [sveltekit()],
  });
};

I'm silly, we can't do this. The reason Vite only reads VITE_ variables into import.meta.env is so that they don't accidentally get bundled into client code. This would inevitably expose variables at some point. Instead, I added docs to our packages:
https://github.com/vercel/storage/pull/117
@correttojs Not sure if there's a good place on front to put some sort of setup instructions like this, but basically one of those two solutions is what people need to do. (The first one is pretty close to what you're doing here.)


How to train with multiple videos in my custom dataset?

Hello, I've tried to train with my own dataset whose folder is as below:
/dataset_folder/HR/video_num/*.png
/dataset_folder/LR/X4/video_num/*.png
And I've organized them following the instructions in Data/datasets.yaml:
Root: /home/user
Path:
      CUSTOM-TRAINHR[video]: dataset_folder/HR
      CUSTOM-TRAINLR[video]: dataset_folder/LR/X4
Dataset:
      CUSTOM[video]:
             train:
                   hr: CUSTOM_TRAINHR
                   lr: CUSTOM_TRAINLR
my valset is the same format as organized above.
However, Traceback was thown when I tried the command:
python train.py sofvsr --dataset custom --epochs 100 --cuda
which is:
Traceback (most recent call last):
  File "train.py", line 99, in <module>
   main()
 File "train.py", line 93, in main
   t.fit([lt, lv], config)
  File "/home/zp/VideoSuperResolution-master/VSR/Backend/Torch/Framework/Trainer.py", line 110, in fit
   memory_limit=mem)
 File "/home/zp/VideoSuperResolution-master/VSR/DataLoader/Loader.py", line 322, in make_one_shot_iterator
   raise fs.exception()
 File "/home/user/.conda/envs/zp/lib/python3.6/concurrent/futures/thread.py", line 56, in run       result = self.fn(*self.args, **self.kwargs)
 File "/home/zp/VideoSuperResolution-master/VSR/DataLoader/Loader.py", line 393, in _prefecth_chunk
   self.cache['hr'].append(img.read_frame(img.frames))
 File "/home/zp/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 362, in read_frame
   image_bytes = [BytesIO(self.read()) for _ in range(frames)]
 File "/home/zp/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 362, in <listcomp>
   image_bytes = [BytesIO(self.read()) for _ in range(frames)]
 File "/home/zp/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 129, in read     raise EOFError(f'End of File! {self.name}')
EOFError: End of File! 068
It usually occurs after one epoch, but sometimes the epoch_num can also be 2 or 3.
Besides, totally my trainset has 240 videos or 240*100=24000 frames. However, it can just read 200 batchs when my batch_size is set to 4.
I just wonder how to train with multiple videos as mentioned above?
Cause when I just use one video folder containing 100 frames, everything is ok.
Thx.

@LoSealL Are you still maintaining the project? If so, I really need your help.

@iPrayerr Sorry, didn't get noticed. I will check soon.

@iPrayerr Hi, The root in datasets.yaml means the root folder to your image/video data. In your case, the root must be /. Or you can set root=dataset_folder and CUSTOM-TRAINHR[video]: HR

It usually occurs after one epoch, but sometimes the epoch_num can also be 2 or 3.
Besides, totally my trainset has 240 videos or 240*100=24000 frames. However, it can just read 200 batchs when my batch_size is set to 4.
I just wonder how to train with multiple videos as mentioned above?
Cause when I just use one video folder containing 100 frames, everything is ok.

If I correct the data path, the training procedure is OK in my testing environment. If you meet any errors, please feel free to paste full logs here to help me debug.
In VSR training, for each epoch, the total number of batches if fixed by --steps which by default is 200, no matter how many pictures in your dataset, because it randomly crops patches from them.

It usually occurs after one epoch, but sometimes the epoch_num can also be 2 or 3.
Besides, totally my trainset has 240 videos or 240*100=24000 frames. However, it can just read 200 batchs when my batch_size is set to 4.
I just wonder how to train with multiple videos as mentioned above?
Cause when I just use one video folder containing 100 frames, everything is ok.

If I correct the data path, the training procedure is OK in my testing environment. If you meet any errors, please feel free to paste full logs here to help me debug.
In VSR training, for each epoch, the total number of batches if fixed by --steps which by default is 200, no matter how many pictures in your dataset, because it randomly crops patches from them.

OK, thanks a lot, I'll try. I'll paste more logs if new problems are raised.

@LoSealL Hi, I've followed your instructions previously which still didn't work.
Here're more of the details:

My environment:
Hardware: 32G RAM, 12G GTX 1080Ti
Software: Ubuntu 16.04, Python 3.6.5, tensorflow-gpu 1.10.0, tensorboardX 2.0, PyTorch 1.1.0, Protobuf 3.6.0

My dataset folders(actually it's REDS):
train_hr: /data/ruan/REDS/train/train_sharp//.png
train_lr: /data/ruan/REDS/train/train_sharp_bicubic//.png
val_hr: /data/ruan/REDS/val/val_sharp//.png
val_lr: /data/ruan/REDS/val/val_sharp_bicubic//.png
Here the first "*" stands for various num of videos(from 000 to a max num), where the second stands for a specific single frame(from 00000000 to a max num).

Settings related to my dataset in Data/datasets.yaml:

_Root: /data/ruan/REDS
Path:
REDSTRAIN-HR[video]: train/train_sharp
REDSTRAIN-LR[video]: train/train_sharp_bicubic
REDSVAL-HR[video]: val/val_sharp
REDSVAL-LR[video]: val/val_sharp_bicubic
Dataset:
REDS[video]:
train:
hr: REDSTRAIN-HR
lr: REDSTRAIN-LR
val:
hr: REDSVAL-HR
lr: REDSVAL-LR_

Parameters of SOF-VSR in Train/par/pytorch/sofvsr.yaml:

_sofvsr:
channel: 1
scale: 4
depth: 3
batch_shape: [2, 3, 1, 32, 32]
lr: 1.0e-4
lr_decay:
method: multistep
decay_step: [250, 500, 750, 1000, 1250]
decay_rate: 0.5_

Training Logs:

(1) Set no memory_limit:
zp@HP-Z840:/data/zp/Graduation/VideoSuperResolution-master/Train$ CUDA_VISIBLE_DEVICES=1 python train.py sofvsr --dataset reds --cuda --epochs 50
2020-04-15 04:07:04,621 WARNING: [!] PyTorch version too low: 1.1.0, recommended 1.2.0
2020-04-15 04:07:05,914 INFO: LICENSE: SOF-VSR is implemented by Longguan Wang. @LongguanWang https://github.com/LongguangWang/SOF-VSR.
2020-04-15 04:07:14,027 INFO: Total params: 1639676
2020-04-15 04:07:14,028 WARNING: trying to restore state for optimizer opt, but failed.
2020-04-15 04:07:14,028 INFO: Fitting: [SOF]
| 2020-04-15 04:09:25 | Epoch: 1/50 | LR: 0.0001 |
30%|####################6                                                 | 59/200 [04:33<04:56, 2.10s/batch, image=00.09236, flow/lvl1=00.02955, flow/lvl2=00.02333, flow/lvl3=00.08839]
Killed
(2) Set memory_limit:
_zp@HP-Z840:/data/zp/Graduation/VideoSuperResolution-master/Train$ CUDA_VISIBLE_DEVICES=1 python train.py sofvsr --dataset reds --cuda --epochs 50 --memory_limit 2GB
2020-04-15 04:29:45,743 WARNING: [!] PyTorch version too low: 1.1.0, recommended 1.2.0
2020-04-15 04:30:29,301 INFO: LICENSE: SOF-VSR is implemented by Longguan Wang. @LongguanWang https://github.com/LongguangWang/SOF-VSR.
2020-04-15 04:31:20,773 INFO: Total params: 1639676
2020-04-15 04:31:20,775 WARNING: trying to restore state for optimizer opt, but failed.
2020-04-15 04:31:20,775 INFO: Fitting: [SOF]
| 2020-04-15 04:31:51 | Epoch: 1/50 | LR: 0.0001 |
100%|#####################################################################| 200/200 [05:31<00:00,  1.45s/batch, image=00.07591, flow/lvl1=00.06990, flow/lvl2=00.08228, flow/lvl3=00.10484]
| Epoch average image = 0.106827 |
| Epoch average flow/lvl1 = 0.048361 |
| Epoch average flow/lvl2 = 0.063642 |
| Epoch average flow/lvl3 = 0.105035 |
Test: 100%|################################################################################################################################################| 10/10 [00:39<00:00,  1.91s/it]
psnr: 12.935657,
| 2020-04-15 04:38:32 | Epoch: 2/50 | LR: 0.0001 |
100%|#####################################################################| 200/200 [05:10<00:00,  1.43s/batch, image=00.04348, flow/lvl1=00.05901, flow/lvl2=00.06701, flow/lvl3=00.07531]
| Epoch average image = 0.034973 |
| Epoch average flow/lvl1 = 0.040674 |
| Epoch average flow/lvl2 = 0.045621 |
| Epoch average flow/lvl3 = 0.059479 |
Traceback (most recent call last):
File "train.py", line 99, in
main()
File "train.py", line 93, in main
t.fit([lt, lv], config)
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/Backend/Torch/Framework/Trainer.py", line 130, in fit
self.benchmark(v.val_loader, v, memory_limit='1GB')
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/Backend/Torch/Framework/Trainer.py", line 159, in benchmark
memory_limit=v.memory_limit)
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/Loader.py", line 322, in make_one_shot_iterator
raise fs.exception()
File "/home/zp/anaconda3/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/Loader.py", line 393, in prefecth_chunk
self.cache['hr'].append(img.read_frame(img.frames))
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 362, in read_frame
image_bytes = [BytesIO(self.read()) for _ in range(frames)]
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 362, in
image_bytes = [BytesIO(self.read()) for _ in range(frames)]
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 129, in read
raise EOFError(f'End of File! {self.name}')
EOFError: End of File! 023
In (2), whatever the --memory_limit sets, the traceback is still the same.
Besides, when I again reload parameters to train further, at most it'll step for one epoch:
_zp@HP-Z840:/data/zp/Graduation/VideoSuperResolution-master/Train$ CUDA_VISIBLE_DEVICES=1 python train.py sofvsr --dataset reds --cuda --epochs 50 --memory_limit 6GB
2020-04-15 04:45:22,443 WARNING: [!] PyTorch version too low: 1.1.0, recommended 1.2.0
2020-04-15 04:45:23,823 INFO: LICENSE: SOF-VSR is implemented by Longguan Wang. @LongguanWang https://github.com/LongguangWang/SOF-VSR.
2020-04-15 04:45:32,135 INFO: Total params: 1639676
2020-04-15 04:45:32,136 INFO: Restoring params for sof from /data/zp/Graduation/VideoSuperResolution-master/Results/sofvsr/save/sof_ep0001.pth.
2020-04-15 04:45:32,375 INFO: Fitting: [SOF]
| 2020-04-15 04:46:51 | Epoch: 2/50 | LR: 0.0001 |
100%|#####################################################################| 200/200 [06:21<00:00,  1.48s/batch, image=00.05740, flow/lvl1=00.06096, flow/lvl2=00.07924, flow/lvl3=00.09723]
| Epoch average image = 0.081686 |
| Epoch average flow/lvl1 = 0.055793 |
| Epoch average flow/lvl2 = 0.086770 |
| Epoch average flow/lvl3 = 0.147451 |
Test: 100%|################################################################################################################################################| 10/10 [00:39<00:00,  2.19s/it]
psnr: 12.557086,
Traceback (most recent call last):
File "train.py", line 99, in
main()
File "train.py", line 93, in main
t.fit([lt, lv], config)
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/Backend/Torch/Framework/Trainer.py", line 110, in fit
memory_limit=mem)
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/Loader.py", line 322, in make_one_shot_iterator
raise fs.exception()
File "/home/zp/anaconda3/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/Loader.py", line 393, in prefecth_chunk
self.cache['hr'].append(img.read_frame(img.frames))
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 362, in read_frame
image_bytes = [BytesIO(self.read()) for _ in range(frames)]
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 362, in
image_bytes = [BytesIO(self.read()) for _ in range(frames)]
File "/data/zp/Graduation/VideoSuperResolution-master/VSR/DataLoader/VirtualFile.py", line 129, in read
raise EOFError(f'End of File! {self.name}')
EOFError: End of File! 020

When I loaded the corresponding tensorboard log, only one point was recorded in each subfig.

Hope that the above will be helpful for your debugging.

@LoSealL Besides, haven't your code support calculating ssim anymore?
If you are free from your recent jobs, I'm really looking forward to your reply(including the previous logs I've pasted).

@iPrayerr I don't get how you arrange your training data

My dataset folders(actually it's REDS):
train_hr: /data/ruan/REDS/train/train_sharp//.png
train_lr: /data/ruan/REDS/train/train_sharp_bicubic//.png
val_hr: /data/ruan/REDS/val/val_sharp//.png
val_lr: /data/ruan/REDS/val/val_sharp_bicubic//.png
Here the first "*" stands for various num of videos(from 000 to a max num), where the second stands for a specific single frame(from 00000000 to a max num).

Are they look like:
train_sharp/001.png   train_sharp/002.png
train_sharp_bicubic/001.png   train_sharp_bicubic/002.png

Then all images in the same folder in video mode will be treated as one video clip.
In order to tell the dataloader the right video data, I'd like to arrange data like:
train_sharp/v01/001.png   train_sharp/v01/002.png
train_sharp/v02/001.png   train_sharp/v02/002.png
...
train_sharp_bicubic/v01/001.png   train_sharp_bicubic/v01/002.png
train_sharp_bicubic/v02/001.png   train_sharp_bicubic/v02/002.png
...

I don't even remember I added ssim in the validation!
SSIM is too heavy, and it will significantly slow down the validation speed. So I usually calculate it offline.
BTW, using skimage.measure.compare_ssim  is very useful to get ssim and other metrics.

train_sharp/v01/001.png   train_sharp/v01/002.png
train_sharp/v02/001.png   train_sharp/v02/002.png
...
train_sharp_bicubic/v01/001.png   train_sharp_bicubic/v01/002.png
train_sharp_bicubic/v02/001.png   train_sharp_bicubic/v02/002.png
...

@LoSealL Sorry, I've forgotten a "*". Previously I meant /data/ruan/REDS/train/train_sharp/*/*.png, not  /data/ruan/REDS/train/train_sharp/*.png
The data is just like what you've been arranged.
And still raised the problem.

@iPrayerr You're right, this is a bug when enabling memory_limit. Sorry for this, and I made a patch to fix it.

Thanks a lot.
I've just tested, seems that everything's ok now.

@LoSealL Hi, sorry to bother you again. Now when the above problem was solved, I found that both psnr and ssim are quite low in many algorithm's testing process after training(ssim is added by myself and doesn't effect the training process). I've tried 6 algorithms and all of them are of the same problem.
Here're two examples:

zp@HP-Z840:/data/zp/Graduation/VideoSuperResolution-master/Train$ CUDA_VISIBLE_DEVICES=1 python train.py vespcn --dataset reds --epochs 35 --steps 8000 --val_steps 300 --cuda --memory_limit 1.5GB
2020-04-17 06:03:20,380 WARNING: [!] PyTorch version too low: 1.1.0, recommended 1.2.0
2020-04-17 06:03:32,087 INFO: LICENSE: VESPCN is proposed at CVPR2017 by Twitter. Implemented by myself @LoSealL.
2020-04-17 06:03:55,234 INFO: Total params: 878787
2020-04-17 06:03:55,235 WARNING: trying to restore state for optimizer opt, but failed.
2020-04-17 06:03:55,235 INFO: Fitting: [VESPCN]
| 2020-04-17 06:04:20 | Epoch: 1/35 | LR: 0.0001 |
100%|#################################################################################################| 8000/8000 [1:56:12<00:00,  1.19batch/s, image=00.02813, flow=00.05529, tv=00.09024]
| Epoch average image = 0.056315 |
| Epoch average flow = 0.040478 |
| Epoch average tv = 0.330291 |
Test: 100%|##############################################################################################################################################| 300/300 [05:33<00:00,  1.08it/s]
psnr: 12.205831, ssim: 0.483721,
| 2020-04-17 08:06:16 | Epoch: 2/35 | LR: 0.0001 |
100%|#################################################################################################| 8000/8000 [1:49:09<00:00,  1.25batch/s, image=00.09327, flow=00.03729, tv=00.04959]
| Epoch average image = 0.052351 |
| Epoch average flow = 0.035497 |
| Epoch average tv = 0.070800 |
Test: 100%|##############################################################################################################################################| 300/300 [05:32<00:00,  1.00s/it]
psnr: 11.771148, ssim: 0.445891,

zp@HP-Z840:/data/zp/Graduation/VideoSuperResolution-master/Train$ CUDA_VISIBLE_DEVICES=1 python train.py rbpn --dataset reds --epochs 35 --steps 8000 --val_steps 300 --cuda --memory_limit 2GB
2020-04-17 07:44:38,519 WARNING: [!] PyTorch version too low: 1.1.0, recommended 1.2.0
2020-04-17 07:44:40,218 INFO: LICENSE: RBPN is implemented by M. Haris, et. al. @alterzero
2020-04-17 07:44:40,218 WARNING: I use unsupervised flownet to estimate optical flow, rather than pyflow module.
2020-04-17 07:44:47,539 INFO: Total params: 14510537
2020-04-17 07:44:47,540 WARNING: trying to restore state for optimizer adam, but failed.
2020-04-17 07:44:47,540 INFO: Fitting: [RBPN]
| 2020-04-17 07:45:05 | Epoch: 1/35 | LR: 0.0001 |
100%|##############################################################################################| 8000/8000 [1:16:33<00:00,  1.89batch/s, flow=00.02468, image=00.19080, total=00.21548]
| Epoch average flow = 0.131890 |
| Epoch average image = 0.258228 |
| Epoch average total = 0.390117 |
Test: 100%|##############################################################################################################################################| 300/300 [02:50<00:00,  2.13it/s]
psnr: 12.385075, ssim: 0.432265,
| 2020-04-17 09:04:39 | Epoch: 2/35 | LR: 0.0001 |
100%|##############################################################################################| 8000/8000 [1:19:01<00:00,  1.94batch/s, flow=00.17723, image=00.29885, total=00.47607]
| Epoch average flow = 0.159079 |
| Epoch average image = 0.214459 |
| Epoch average total = 0.373538 |
Test: 100%|##############################################################################################################################################| 300/300 [02:49<00:00,  2.09it/s]
psnr: 12.186343, ssim: 0.446204,
I just crop 2 epochs as example, as more than 2 can lead to the same result as well(srcnn has been trained over 37 epochs or 296000 iterations and still found the same problem).
I guess there may be something wrong with several hyper-parameters. Could you offer me some suggestions?
Thx. :)

Usually 2 ways to debug:

Record the training image patches (through SummaryWriter/tensorboard, or just save on the disk). Check the training pair to see if they matched as desired.
Check the hyper-parameters, especially the learning rate and batch size. The convergence may be very sensitive to them.
Training on the pre-trained weights, it will be easier to converge.

I didn't train sof-vsr from scratch, you can check the paper and my implementation carefully.
I just fine-tuned sof-vsr above the official pre-trained weight and the result is expected to me.

OK, I'll try.

@LoSealL Hi, I've got the problem. In eval process after training, the label patchs aren't corresponded to the lr input and sr results, which leads psnr to a pretty low value. Actually, for each
pair of label image and eval image, they are completely two different images.
Here's one pair of example. The first is label and the second is the corresponding sr result used to calculate psnr.

I don't know if this is a bug.
For some algorithms like SOF-VSR, when I trained just in one video, the bug vanished.
For other algorithms like SRCNN, even when I trained just in one video the bug still remains.
Maybe you can check it?

Mostly the problem raises when I train in multiple videos.

@LoSealL Hello, I've seen your latest comment named "Fix dataloader mess up the file order".
I've tested it in the previous dataset and treated it as a image dataset to test CARN. However, nothing has been fixed at all.
Specifically, in test process, I separatelly saved LR, GT and CARN's SR results. Still, some of them are matched, while most aren't, which is the same as the previous version.
However, when I run check_dataset.py, it didn't find any unmatched pair:
_zp@HP-Z840:/data/zp/Graduation/VideoSuperResolution-master/Train$ python check_dataset.py redimg
2020-04-23 00:51:37,680 WARNING: [!] PyTorch version too low: 1.1.0, recommended 1.2.0
Dataset: REDIMG
=========  CHECKING  train  =========
Found train set in "REDIMG":
Found 24000 ground-truth train data
Found 24000 custom degraded train data
=========  CHECKING  val  =========
Found val set in "REDIMG":
Found 3000 ground-truth val data
Found 3000 custom degraded val data
=========  CHECKING  test  =========
REDIMG doesn't contain any test data._
Do you know what's the problem?

@iPrayerr Affirmative. It's a bug.

@LoSealL Hi, thanks for your previous debug, now the previous problem has been fixed.
The next problem is about evaluation("testvid" and "testimg" are two types of my dataset, organized like I've mentioned before):
When I ran the following command for evaluation:
python eval.py vespcn --cuda -t testvid --pretrain=../Results/vespcn/save/vespcn_ep0039.pth
The number of eval pairs, I guess, is the same as the number of my eval videos.
However, when I ran another command:
python eval.py srcnn --cuda -t testimg --pretrain=../Results/srcnn/save/srcnn_ep0047.pth
It will be the number of all of my video frames.
I'm not sure if that's reasonable.
Does it mean that you just select a random eval batch from each video when executing video evaluation? I don't know if that's convictive.

@LoSealL Hi, thanks for your previous debug, now the previous problem has been fixed.
The next problem is about evaluation("testvid" and "testimg" are two types of my dataset, organized like I've mentioned before):
When I ran the following command for evaluation:
python eval.py vespcn --cuda -t testvid --pretrain=../Results/vespcn/save/vespcn_ep0039.pth
The number of eval pairs, I guess, is the same as the number of my eval videos.
However, when I ran another command:
python eval.py srcnn --cuda -t testimg --pretrain=../Results/srcnn/save/srcnn_ep0047.pth
It will be the number of all of my video frames.
I'm not sure if that's reasonable.
Does it mean that you just select a random eval batch from each video when executing video evaluation? I don't know if that's convictive.
And what should I do if I want to calculate avg PSNR among all of my frames in video algorithms using eval.py?

@LoSealL Hello. If you have looked at my question could you please reply in time? Sorry to bother you so often but I'm really urgent to do experiments by your project recently. :(


Fix NDK env var discrepancy in integration tests

NDK_ROOT was being set, but not ANDROID_NDK_HOME, the latter pointing to the VM's default installation of NDK21 or so. This was causing a build failure for the integration tests.

Looks like this doesn't quite work properly on Windows.
install_prereqs.sh downloads the NDK to a UNIX path "/tmp/...", which translates to something very different on Windows (C:\Users<user>\AppData...). But when I set an env var in the workflow file to that, it does not get translated to such a path, so the NDK isn't found on Windows. Going to test a different way to set the env vars.
Didn't run into the issue previously since it was apparently using the default value for ANDROID_NDK_HOME, which pointed to a valid path for the NDK already on the VM.

Looks like this doesn't quite work properly on Windows.
install_prereqs.sh downloads the NDK to a UNIX path "/tmp/...", which translates to something very different on Windows (C:\Users\AppData...). But when I set an env var in the workflow file to that, it does not get translated to such a path, so the NDK isn't found on Windows. Going to test a different way to set the env vars.
Didn't run into the issue previously since it was apparently using the default value for ANDROID_NDK_HOME, which pointed to a valid path for the NDK already on the VM.

There are a number of Windows Android issues, I believe @vimanyu was considering disabling the Windows Android workflows and making it a separate task to get it working again.

Also, with the change I merged into dev, it should actually build now if you stop setting ANDROID_NDK_HOME (it shouldn't try to build those alternate ABIs with the default NDK) which might be sufficient for now.


Add Lit v3 docs (undiscovered)

This PR adds the Lit 3.0 documentation - without adding v3 to the selector yet.

First I copied all the v2 docs to v3.
Then fixed all cross links /docs/v2 to /docs/v3.
Replaced {% api  with {% api-v3 which ensures links to API go to v3 api.
Updated the upgrade guide page with Lit 3.0 specific guidance.
Added a pre-release banner.

I am unsure how to update the browser requirements page.

TODO: Hide from search index.


New Shiny Grid

We have to came up with a shiny, super-simple grid, the one that we had is too complex and not really usable (will be removed). Maybe we can use directly the flex-box model.

@gabrielhl @cjhowald  can we consider to suggest or include the foundation grid as a dependency?
http://foundation.zurb.com/sites/docs/flex-grid.html
What do you think?

I am okay with it.

It seems weird to me to be making a sort of framework but have another one as a dependency. But you're the developers :)

@gabrielhl Here the fact is that a grid system is not dependent to any brand solutions design... so implementing our grid is reinventing the wheel...
"...It seems weird to me to be making a sort of framework but have another one as a dependency..."
I think the dress-code is not a framework... is more a library (it doesn't provide abstract components, it provides opinionated styled component).

OK then!


404 page missing

The 404 page now redirects to https://developers.italia.it/404.html, should we handle this differently? @sebbalex

Dup of #152


Possible to support variables in settings.json?

VSCode Version: 1.20
OS Version: MacOS 10.13

Would it be possible to have variable support in the settings.json file.
An example of when this could be used:
A popular Java extension is called Lombok. To use Lombok with the Red Hat Java Extension, you have to change some arguments for language server. 2 of those arguments are full paths to the lombok.jar that Maven (Java build system). I work on a Linux machine and a MacOS machine. Maven stores downloaded JARs to ~/.m2. On Linux ~ expands to /home/username, while on MacOS it expands to /Users/user.name. Now if I could use an environment variable in the settings.json file, I could keep the setting platform agnostic in the form of ${env:HOME}/.m2/path/to/lombok.jar

Duplicate of #2809


doc: Update language in README to be more clear

Codecov Report

Merging #8 (df8afdd) into main (f72df15) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #8   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           17        17
  Lines          559       559
=========================================
  Hits           559       559

Continue to review full report at Codecov.

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


⚠ Processors has degraded performance

In 00ab52e, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 103 ms

Resolved: Processors performance has improved in 9b255c7.


Add note about noqa

If you can hold of merging I just want to check something with the rel-eng team.

Great! Can I leave it with you regarding merging it? I don't have permissions.

👍 I'm not sure what the rules are there either tbh! @philandstuff @davbo ?

as it's in the manual section, it doesn't need heavyweight approval. if you're both happy I'll just merge 👍

👍 Thanks @philandstuff