NoSuchObjectError returned when i perform a search in starttls mode

Hello, I'm sort of stuck. Having successfully binded and performed search queries in simple bind mode i get an error when i perform the same queries after binding in starttls mode. Here's a snippet of the code
`
var ou = 'ou=foo,dc=example,dc=bar'
var opts = { scope : 'sub' }
var dosomething  = function(err, res) {
assert.ifError(err)
console.log(res);
}
var executeSearch = function(base,searchoptions,fn) {
//NOTE: cli binded and starttls called in bind callback
cli.search(base,searchoptions,[],function(err,res) {
var arr = [];
if(err) return fn(err);
res.on('searchEntry', function(entry) {
  arr.push(entry.object);
});

res.on('error', function(err) {
   console.error('the following error occured: \n' + err);
   fn(err);
});

res.on('end', function(result) {
   fn(null,arr)
});

});
}
executeSearch(abase,opts, dosomething)
`
here's the error stack:
NoSuchObjectError: No Such Object
at messageCallback (/home/dani/Dev/projects/eaglepost/src/eaglepost-admin/node_modules/ldapjs/lib/client/client.js:1419:45)
at Parser.onMessage (/home/dani/Dev/projects/eaglepost/src/eaglepost-admin/node_modules/ldapjs/lib/client/client.js:1089:14)
at emitOne (events.js:77:13)
at Parser.emit (events.js:169:7)
at Parser.write (/home/dani/Dev/projects/eaglepost/src/eaglepost-admin/node_modules/ldapjs/lib/messages/parser.js:117:8)
at TLSSocket.onData (/home/dani/Dev/projects/eaglepost/src/eaglepost-admin/node_modules/ldapjs/lib/client/client.js:927:32)
at emitOne (events.js:77:13)
at TLSSocket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at TLSSocket.Readable.push (_stream_readable.js:110:10)

I am having this same issue, running the query without StartTLS works flawlessly, however once i use StartTLS it claims it can't find the exact same object.

After playing with this, i was able to get it working using this.
var ldap = require('ldapjs');
var client = ldap.createClient({url: 'ldap://ldap.example.com'});

client.starttls({},[],function(start_err,start_res){
    client.bind('dc=example,dc=com','secret',function(err){
        client.search('ou=Users,dc=example,dc=com', {scope: 'sub'}, [], function(search_err,res){
            res.on('searchEntry', function(entry) {
                console.log('entry: ' + JSON.stringify(entry.object));
            });
            res.on('searchReference', function(referral) {
                console.log('referral: ' + referral.uris.join());
            });
            res.on('error', function(err) {
                console.error('error: ' + err.message);
            });
            res.on('end', function(result) {
                console.log('status: ' + result.status);
            });
        });
    });
});

So this appears to be an issue with calling starttls -after- binding, rather than before, i also had some trouble with nested callbacks that would make wrapper.js freak out, so i just inlined all my code for my project.

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


Corrupted files produced when writing certain images as WebP

magick-wasm version
0.0.31
Description
For certain images, image.write(MagickFormat.WebP, ..) produces an unreadable file with no header that corresponds to any image format. Swapping MagickFormat.WebP for e.g. MagickFormat.Png while keeping everything else the same produces a valid image given the same input data. In our case, this only happens for a small percentage of input images, but is consistent.
Images
Here are a problematic original image + the images produced by magick-wasm when using respectively MagickFormat.WebP (corrupted) and MagickFormat.Png (successful): Archive.zip

How are you saving the file?

How are you saving the file?

In our usecase we're using the results in-memory without saving them to disk. We've only saved them now to help debug the issue here. We've confirmed that the corruption before saving the file by printing to console the first view bytes from the buffer/UInt8Array in memory that results from image.write. The printed bytes are the same as those of the image in the zip file as seen in a hex editor 28 e3 67 00.

Confirmed the bug is likely not in ImageMagick. The buffer content gets changed upon returning it from a function, which is quite baffling but unrelated.

I have updated the documentation of that method to make it more clear to explain why that happens:
/**
 * Writes the image to a byte array.This array points to native memory and will be give back to the native
 * memory manager after the excution of the function. A copy of the data should be made if it needs to be
 * used after the function has completed.
 */


Provide more thorough logs for Azure Pipelines scaler

Proposal
Provide more thorough logs for Azure Pipelines to provide insights on the configuration and how our integration with Azure Pipelines is.
Use-Case
Improve the troubleshooting of failures given we are a bit in the dark in a few past reports.
Anything else?
No response

Things it should log if not already, the organization name and pool ID.
#2342 will handle error if pool does not exist

I think this is solved since this other is solved (https://github.com/kedacore/keda/issues/2342).
Now KEDA logs an explicit error in case of not existing poolID or poolName

Ok to close then?


Gitbash Executable Output Fix

When testing out Gitbash, I noticed there was a print that was not being formatted. This fixes the issue.

I see this is also fixed in #1475. Might just be worth waiting for that one as they fixed it a bit differently.


Setup CI

Looks good! Might be worth seeing if you can use a matrix to avoid duplicating the job steps - there's a way to include environment variables so it should be possible to map ubuntu-latest to the linux lock file for example.

Thanks, great suggestion! I think that has been achieved in the latest commits.


Refactor: Change IMPORT icon on Character index page

Description
Change the Import button on the Character index page from a plus to an upward arrow.
Possible Implementation
The new icon can be found here.

Hey team! Please add your planning poker estimate with ZenHub @AnnieTran13 @bcobo341 @willyyhuang @luigibesani


Some folders are not showing

Signal (DefaultFolderTypeId is 185) is a non-ipm folder in the root folder.
Get-StoreQuery can find this folder but it's not showing in MFCMAPI.
What's the reason?

The folder must not be exposed through MAPI.

@stephenegriffin Why and how is this controlled? Thanks.

server decides what it does and does not expose through MAPI


Add fixes and tests for 0-, 1-, and 2-vertex geoloops and holes

This includes the fixes from #800, plus one more fix for estimating a 1-vertex polygon. Includes the following tests:

0-vertex polygon, all modes
1-vertex polygon, all modes
2-vertex polygon, all modes
polygon with 0-vertex hole, all modes
polygon with 1-vertex hole, all modes
polygon with 2-vertex hole, all modes

Hopefully #800 will be green once rebased on top of this.

coverage: 98.829% (+0.005%) from 98.824%
when pulling<PHONE_NUMBER>afda2b260c5b12fb6f15ca7caa5eac on nrabinowitz:polyfill-pathological
into 8207a9c7af073635c97e6a93bbaf99a08ed98d4c on uber:master.


setup-all-apt-v2.sh uses the deprecated apt-key command

I'm sorry if this is not the right place to report issues related to setup-all-apt-v2.sh, which is not part of this repository, but I was not aware of anywhere else better.
The installer script setup-all-apt-v2.sh currently uses the apt-key command to add the repository's key to APT's trusted keyring, but this method has been deprecated due to security reasons.
According to the Debian's document the recommend method is to create a new GPG key ring in some location (such as /usr/share/keyrings/mackerel.gpg) and then pin the repository signature to it in the APT source file
deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mackerel.gpg] http://apt.mackerel.io/v2/ mackerel contrib

PS: I am not a security expert nor a Debian committer so I can't take responsibility for the correctness of the above method.

Thank you for reporting.
We understand this issue. We'll work on it.

We fixed setup-all-apt-v2.sh and not the script doesn't use apt-key command.
Close this issue as it has already been resolved.


[Failing Test]: SpannerWriteIT is failing on master.

What happened?
https://ci-beam.apache.org/job/beam_PreCommit_Java_GCP_IO_Direct_Phrase/188/
The test seems to be failing because it is trying to insert null values in the field Value of the Spanner test table user.
The below exception is being thrown by the test on master branch w/o any changes.
com.google.cloud.spanner.SpannerException: FAILED_PRECONDITION: com.google.api.gax.rpc.FailedPreconditionException: io.grpc.StatusRuntimeException: FAILED_PRECONDITION: Value must not be NULL in table users.

Issue Failure
Failure: Test is continually failing
Issue Priority
Priority: 2 (backlog / disabled test but we think the product is healthy)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

The test is recovered green


Updating NaturalUser's user_category to owner

Hi,
Currently not possible to update a NaturalUser's user_category from python sdk. It is possible to do so from the dashboard.
Is this a known issue?
See following code
import mangopay
from mangopay.resources import NaturalUser
import datetime

mangopay.client_id = ""
mangopay.apikey = ""
mangopay.sandbox = True

#### case 1: create user and set user_category=OWNER from the start
#### IT WORKS
mango_user = NaturalUser(
    first_name="firstname",
    last_name="lastname",
<EMAIL_ADDRESS>    country_of_residence="FR",
    nationality="FR",
    birthday=int(datetime.datetime(1990, 1, 1).timestamp()),
    user_category="OWNER",
    terms_and_conditions_accepted=True,
)
mango_user.save()

#### case 2: create user and set user_category=OWNER during an update
#### IT DOES NOT WORK
mango_user = NaturalUser(
    first_name="firstname",
    last_name="lastname",
<EMAIL_ADDRESS>    country_of_residence="FR",
    nationality="FR",
    birthday=int(datetime.datetime(1990, 1, 1).timestamp()),
)
mango_user.save()

mango_user.user_category = "OWNER"
mango_user.terms_and_conditions_accepted = True
mango_user.save()

It gives the following error
mangopay.exceptions.APIError: {"Message":"One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.","Type":"param_error","Id":"30ea1be3-cff7-4dd6-bfc2-97cc50ec6495#1662302752","Date":1662302753.0,"errors":{"Address":"Address is a required field and should be fill with complete information"}}

Hello @villqrd,
When you update the user and set it to Owner, you should add all required data (birthday, nationality and address).

Hello @fredericdelordm
Do you agree that the field address is optional for creating a natural user Owner? Please find the relevant documentation here https://docs.mangopay.com/endpoints/v2.01/users#e1059_create-a-natural-user-owner.
It is also marked as optional for updating a natural user (see below in documentation).
Then why would this field be required for updating a user that was created before this change to Owner?.

Hello @villqrd, agree with you. Let me double check and come back to you,

@villqrd Could you contact me at frederic.delord(at)mangopay.com and send me your clientId please? Could you please also retry the request. We will have a look at it.

@fredericdelordm thanks I sent you an email
Observe that it seems like more broadly speaking it is not possible to save an OWNER user a second time
Following code fails
import mangopay
from mangopay.resources import NaturalUser
import datetime

mangopay.client_id = ""
mangopay.apikey = ""
mangopay.sandbox = True

#### case 1: create user and set user_category=OWNER from the start
#### IT WORKS
mango_user = NaturalUser(
    first_name="firstname",
    last_name="lastname",
<EMAIL_ADDRESS>    country_of_residence="FR",
    nationality="FR",
    birthday=int(datetime.datetime(1990, 1, 1).timestamp()),
    user_category="OWNER",
    terms_and_conditions_accepted=True,
)
mango_user.save() # OK
mango_user.save() # fails

mangopay.exceptions.APIError: {"Message":"One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.","Type":"param_error","Id":"ce2ce8f3-c091-4d68-924d-bf6b352deee9#1662716933","Date":1662716934.0,"errors":{"Address":"Address is a required field and should be fill with complete information"}}

Hello @villqrd,
In the meantime, before the second call, could you just set Address to null ? That will prevent this error.
Have a nice day,

Hi @fredericdelordm
Thank you for updating.
It does prevent this error, however it leads to a different error.
import mangopay
from mangopay.resources import NaturalUser
from mangopay.utils import Address
import datetime

mangopay.client_id = ""
mangopay.apikey = ""
mangopay.sandbox = True

mango_user = NaturalUser(
    first_name="firstname",
    last_name="lastname",
<EMAIL_ADDRESS>    country_of_residence="FR",
    nationality="FR",
    birthday=int(datetime.datetime(1990, 1, 1).timestamp()),
    user_category="OWNER",
    terms_and_conditions_accepted=True,
)
mango_user.save() # OK
mango_user.address = None
mango_user.save() # fails

mangopay.exceptions.APIError: {"Message":"The user already accepted our terms and conditions","Type":"invalid_action","Id":"c4f668a3-6950-4d40-bba4-5ba795e356d4#1663950552","Date":1663950553.0,"errors":null}

Setting mango_user.terms_and_conditions_accepted = None gets rid of this error as well. I suppose this is a temporary fix for this particular case.
However there are lots of places in our code base call .save on a user, making sure that the offending attributes are set to None is not ideal :crying_cat_face:

terms_and_conditions_accepted should not be submitted twice. It's a design error in the API. It's going to be fix in the October release

@fredericdelordm Any updates on this please ? I am worried that our platform will not be usable anymore because we cannot properly set OWNER/PAYER property of users....

Hello @villqrd, it's going to be fix on the API side later this month. The API will not return an error if the full address object is returned with null values.

Hello @fredericdelordm ,
This snippet still does not work
import mangopay
from mangopay.resources import NaturalUser
from mangopay.utils import Address
import datetime

mangopay.client_id = ""
mangopay.apikey = ""
mangopay.sandbox = True

#### case 1: create user and set user_category=OWNER from the start
#### IT WORKS
mango_user = NaturalUser(
    first_name="firstname",
    last_name="lastname",
<EMAIL_ADDRESS>    country_of_residence="FR",
    nationality="FR",
    birthday=int(datetime.datetime(1990, 1, 1).timestamp()),
    user_category="OWNER",
    terms_and_conditions_accepted=True,
)
mango_user.save()

#### case 2: create user and set user_category=OWNER during an update
#### IT DOES NOT WORK
mango_user = NaturalUser(
    first_name="firstname",
    last_name="lastname",
<EMAIL_ADDRESS>    country_of_residence="FR",
    nationality="FR",
    birthday=int(datetime.datetime(1990, 1, 1).timestamp()),
)
mango_user.save()

mango_user.user_category = "OWNER"
mango_user.terms_and_conditions_accepted = True
mango_user.save()

It seems like a mandatory feature in order to follow the actions required you sent by email.

Hello @villqrd, we are bit late regarding this fix (it's included in a larger release). I will update you when it's done.

@fredericdelordm , please can you give an update on this?

Hello @villqrd,
The fix has been released end of November.
Have a nice day


Alter cabal bounds to build on nightly-2015-07-23

Bump the lens upper bound and remove the semigroups dependency.

Thanks


Support ignore_flakiness property in .ci.yaml

Test deflake bot has been checking test flake status, and will create a PR to deflake if recent runs are all not flaky.
We need to skip a certain set of tests from the above process, like the ios32 ones which are not stable. Currently these tests are hard-coded in the deflake logic, but they should be handled in the .ci.yaml.
Related: https://github.com/flutter/cocoon/pull/1399#discussion_r729966013

Another context: https://github.com/flutter/flutter/issues/95193#issuecomment-1116750654
The auto flake bot scans through existing flaky bugs, query flaky status and update these bugs. If the flake rate exceeds 2%, the bot promotes the priority to P1 even though test owners have purposely downgraded.
The ignore_flakiness can also be used to skip flake stats update.

ignore_flakiness is now available in ci.yaml


Alignment setting in draw_string doesn't do anything

Tested versions
v4.3.beta3.official [82cedc83c]
System information
Newest MacOS / Mac mini M1
Issue description
I'm trying to align a string drawn in _draw using HORIZONTAL_ALIGNMENT_LEFT etc but none of them has any effect.
Steps to reproduce
Paste the code from the MRP field. This is what it looks like on my end, as it can be seen all three strings are aligned to the left despite the different settings:

Minimal reproduction project (MRP)
Edit: whoops it looks like the MRP field doesn't support code tags?
Just paste this into a freshly opened project into an empty Node2d:
`extends Node2D
var default_font
var default_font_size
func _ready():
default_font = ThemeDB.fallback_font
default_font_size = ThemeDB.fallback_font_size
func _process(_delta):
queue_redraw()
func _draw():
draw_string(default_font, Vector2(64, 100), "Hello LEFT", HORIZONTAL_ALIGNMENT_LEFT, -1, default_font_size)
draw_string(default_font, Vector2(64, 200), "Hello RIGHT", HORIZONTAL_ALIGNMENT_RIGHT, -1, default_font_size)
draw_string(default_font, Vector2(64, 300), "Hello CENTER", HORIZONTAL_ALIGNMENT_CENTER, -1, default_font_size)
`

Thank you for reporting, consolidating in:

https://github.com/godotengine/godot/issues/80163

See there for more details, if you think something was missed about this and it's not the same issue, please comment here and it can be reopened


Numba 0.42.1 on Linux : 'No threading layer could be loaded' when config.THREADING_LAYER = 'omp'

Hi all, sorry if this is not appropriate as its my first bug report. It may simply be user error. Trying to get numba to use OpenMP as the threading layer, following the bare bones example from the documentation. This is clearly a problem with the 'Unknown import problem'. It was installed via pip install intel-openmp
Minimum Working Example
from numba import config, njit, threading_layer
import numpy as np

config.THREADING_LAYER = 'omp'

@njit(parallel=True)
def foo(a, b):
    return a+b

x = np.arange(10.)
y = x.copy()

foo(x, y)

print("Threading layer chosen: %s" % threading_layer())

Output
Traceback (most recent call last):
  File "threading_layer_test.py", line 18, in <module>
    foo(x, y)
  File "/home/yoshi/.local/lib/python2.7/site-packages/numba/dispatcher.py", line 367, in _compile_for_args
    raise e
numba.errors.LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
No threading layer could be loaded.

File "threading_layer_test.py", line 12:
def foo(a, b):
    return a+b
    ^

[1] During: lowering "id=0[LoopNest(index_variable = parfor_index.8, range = (0, a_size0.1, 1))]{1: <ir.Block at threading_layer_test.py (12)>}Var(parfor_index.8, threading_layer_test.py (12))" at threading_layer_test.py (12)
`Traceback (most recent call last):
  File "threading_layer_test.py", line 18, in <module>
    foo(x, y)
  File "/home/yoshi/.local/lib/python2.7/site-packages/numba/dispatcher.py", line 367, in _compile_for_args
    raise e
numba.errors.LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
No threading layer could be loaded.

File "threading_layer_test.py", line 12:
def foo(a, b):
    return a+b
    ^

[1] During: lowering "id=0[LoopNest(index_variable = parfor_index.8, range = (0, a_size0.1, 1))]{1: <ir.Block at threading_layer_test.py (12)>}Var(parfor_index.8, threading_layer_test.py (12))" at threading_layer_test.py (12)

System
__Time Stamp__
2019-03-08 06:09:36.885706

__Hardware Information__
Machine                                       : x86_64
CPU Name                                      : skylake
Number of accessible CPU cores                : 8
Listed accessible CPUs cores                  : 0-7
CFS restrictions                              : None
CPU Features                                  :
adx aes avx avx2 bmi bmi2 clflushopt cmov cx16 f16c fma fsgsbase invpcid lzcnt
mmx movbe pclmul popcnt prfchw rdrnd rdseed rtm sahf sgx sse sse2 sse3 sse4.1
sse4.2 ssse3 xsave xsavec xsaveopt xsaves

__OS Information__
Platform                                      : Linux-4.15.0-36-generic-x86_64-with-LinuxMint-19-tara
Release                                       : 4.15.0-36-generic
System Name                                   : Linux
Version                                       : #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018
OS specific info                              : LinuxMint19tara
glibc info                                    : glibc 2.7

__Python Information__
Python Compiler                               : GCC 7.3.0
Python Implementation                         : CPython
Python Version                                : 2.7.15rc1
Python Locale                                 : en_AU UTF-8

__LLVM information__
LLVM version                                  : 7.0.0

__CUDA Information__
Error: CUDA device intialisation problem. Error at driver init:

CUDA driver library cannot be found.
If you are sure that a CUDA driver is installed,
try setting environment variable NUMBAPRO_CUDA_DRIVER
with the file path of the CUDA driver shared library.
:
Error class: <class 'numba.cuda.cudadrv.error.CudaSupportError'>

__ROC Information__
ROC available                                 : False
Error initialising ROC due to                 : No ROC toolchains found.
No HSA Agents found, encountered exception when searching:
Error at driver init:
NUMBA_HSA_DRIVER /opt/rocm/lib/libhsa-runtime64.so is not a valid file path.  Note it must be a filepath of the .so/.dll/.dylib or the driver:

__SVML Information__
SVML state, config.USING_SVML                 : False
SVML library found and loaded                 : False
llvmlite using SVML patched LLVM              : True
SVML operational                              : False

__Threading Layer Information__
TBB Threading layer available                 : True
OpenMP Threading layer available              : False
+--> Disabled due to                          : Unknown import problem.
Workqueue Threading layer available           : True

__Numba Environment Variable Information__
None set.

__Conda Information__
Conda not present/not working.
Error was [Errno 2] No such file or directory

Thanks for the report. As noted, that there is an "unknown problem" would be the reason it doesn't work, once that is fixed the code above should work fine. On linux IIRC the OpenMP threading layer is linked against libgomp.so to provide the necessary functionality, so this needs to be present and functioning correctly.
Please could you paste the output (redacting any parts you don't wish to share) of the following:
python -c 'from numba.npyufunc import omppool'

and
ldd $(find `python -c 'import sys; print(sys.prefix)'`|egrep 'omppool.cpython.*\.so')

The first may report a more raw error about the problem with omppool and the second is checking the linkage of the omppool DSO. Thanks again!

It may simply be an issue with my install of OpenMP, however as I followed the instructions (and I'm not a dev) and I was aware there were issues with this in the 0.40 build I figured better safe than sorry.
python -c 'from numba.npyufunc import omppool'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name omppool

and
ldd $(find `python -c 'import sys; print(sys.prefix)'`|egrep 'omppool.cpython.*\.so')
ldd: missing file arguments
Try `ldd --help' for more information.

@Yoshi2112 thanks, this has jogged my memory :) I assume you pip installed Numba? If so the reason the OpenMP backend doesn't work is because it is disabled since 0.40.1 in wheel builds (and evidently isn't built/shipped as noted by ldd: missing file arguments). An issue describing some of the details is here https://github.com/numba/numba/issues/3400 .
For a working OpenMP backend use the Anaconda distribution package or compile from source?

I did pip install numba. I only use my linux machine (with a Python 2.7 environment) to run particle codes (hence the need for speedup and multiprocessing). I will try reinstalling everything in a conda environment instead (and hope I don't break any dependencies). Would you be able to tell me how to install OpenMP from source without going through the Anaconda distribution? Just for completion and reference.
Thanks for your help! :)

I see, then what you experience is expected (#3400).

Would you be able to tell me how to install OpenMP from source without going through the Anaconda distribution?

Apologies, I perhaps wasn't sufficiently clear, it's Numba that needs compiling from source, instructions are here: http://numba.pydata.org/numba-doc/latest/user/installing.html#installing-from-source, a from-source build would detect the libgomp present on your machine and so the OpenMP threading layer would get built and should work fine.
I'm going to close this ticket as I think the issue is resolved. If you have any further issues please open a new ticket. Thanks for using Numba.


Azure Data Studio on Mac Just Spins but Works on Windows

-All latest versions on Mac fail to connect with a new or edited connection, but the latest Windows version works fine.
The most recent installed on local laptop that fails is: 1.42.0 (Universal)
ADS in Windows connects immediately with the same connection string and settings.
The behavior is it just spins when trying to connect to my database on a new or edited connection. When trying to connect to an existing/cached connection that normally works, it just spins, but closing the app and restarting allows for an existing connection to succeed. Trying to create a new connection, or editing a connection gets me spinning again, until I close the app.
I see no errors, just spinning - viewing all views in the OUTPUT tab.
Question: What can I do to see why it spins?
Version: 1.42.0 (Universal)
Commit: 22f384e569bc90d8b3231cc8c8cff99ea16c5052
Date: 2023-03-17T18:04:34.407Z (1 wk ago)
VS Code: 1.67.0
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.3.0

Does this issue occur when all extensions are disabled?: Yes/No

@cheenamalhotra and @aasimkhan30 I couldn't tell whether this is a connection or object explorer issue, could you please take a look at the issue?

@Oury-MSFT
Please feel free to close the issue if issue is resolved, or let us know if you need additional support.

Closing as discussed internally.


java bolt sdk has a plan to support AppMentionBotEvent.class or app_mention:bot_message event?

Reproducible in:
The Slack SDK version
1.29.2
Java Runtime version
openjdk version "17.0.9" 2023-10-17 LTS
OpenJDK Runtime Environment Zulu17.46+19-CA (build 17.0.9+8-LTS)
OpenJDK 64-Bit Server VM Zulu17.46+19-CA (build 17.0.9+8-LTS, mixed mode, sharing)

OS info

Steps to reproduce:

assign handler about AppMentionEvent to slack app.

App.event(AppMentionEvent.class, this.appMentionEventHandler);

using workflow, mention bot.
Then bot returns below warn logs.

2024-01-30 11:36:13.783  WARN 116277 --- [socket-mode-message-processor-worker-71] com.slack.api.bolt.App                   : No BoltEventHandler registered for event: app_mention:bot_message
---
[Suggestion] You can handle this type of event with the following listener function:

app.event(AppMentionBotEvent.class, (payload, ctx) -> {
  return ctx.ack();
});

2024-01-30 11:36:13.783  WARN 116277 --- [socket-mode-message-processor-worker-71] c.s.api.bolt.socket_mode.SocketModeApp   : Unsuccessful Bolt app execution (status: 404, body: {"error":"no handler found"})

Expected result:
Expected java-slack-sdk has AppMentionBotEvent.class. but doesn't.
Actual result:
Curious I need to create my own AppMentionBotEvent.class or you plan to support it.
Because above log suggested to me to use AppMentionBotEvent.class.
Requirements

I can confirm this issue. I have an app_mention event handler defined in my Bolt for Java app. When a user app-mentions my bot, the app_mention handler executes as expected. However, when I built a workflow to at-mention my bot, the following logs show up:
[socket-mode-message-processor-worker-32] WARN com.slack.api.bolt.App - No BoltEventHandler registered for event: app_mention:bot_message
---
[Suggestion] You can handle this type of event with the following listener function:

app.event(AppMentionBotEvent.class, (payload, ctx) -> {
  return ctx.ack();
});

[socket-mode-message-processor-worker-32] DEBUG com.slack.api.bolt.App - The handler completed (request type: Event)
[socket-mode-message-processor-worker-32] WARN com.slack.api.bolt.socket_mode.SocketModeApp - Unsuccessful Bolt app execution (status: 404, body: {"error":"no handler found"})

I think the underlying cause of the issue is that ONLY in the case that a non-human creates the app mention event, the event contains a subtype - which surprised me (I thought only message events contain those, which is what is described in our docs). I tested this scenario out (a workflow that at-mentions a Bolt app) and the type of such an event is app_mention and the subtype is bot_message. A human app-mention event has no subtype.
The suggestion you saw in the logs comes from this area of the code. This, in turn, assembles the specific event class Bolt suggests to listen for using the toEventClassName.
I think this is a bug, but it is unclear to me whether this is a bug in the above toEventClassName only or something deeper. Specifically, I would expect a registered app-mention handler to be able to handle BOTH human and non-human app mentions. In fact, this is the case in Bolt for JS. Another thing to consider when evaluating this is that there are no app_mention event subtypes that apps on the api.slack.com/apps page can register to; there is only one event.
@seratch what is your opinion here? Do you agree with my assessment?


adoping a more efficient division algorithm for bigint.

Not the ulong_divmod can calculate<PHONE_NUMBER>0000000000000L // 3333L !

Thanks for your work :)
You solved a problem that no one has been able to solve for a long time.


OneOf validation issue when schema has all fields optionals (not required)

What is going on?
AJV has oneOf keyword. Validators have to validate data against all schemas to establish validity according to this keyword.
I have validation schema that has one field (field 'json') which may be one of two schemas (schema 'A' and schema 'B').
This two schemas have different fields and all of these fields are optional (not required).
const schema = {
  type: 'object',
  properties: {
    json: {
      type: 'object',
      oneOf: [
        {
          title: 'A',
          type: 'object',
          properties: {
            propA: {
              type: 'number',
            }
          },
        },
        {
          title: 'B',
          type: 'object',
          properties: {
            propB: {
              type: 'number'
            }
          },
        }
      ]
    }
  },
  required: ['json']
};

const data = {
  json: {
     propA: 123,
  },
};

When I'm trying to validate object with this schema where I have field 'json' with type of one of the validation schemas (schema 'A' or schema 'B') validator says data.json should match exactly one schema in oneOf.
You can minimal repository with all tests in index.js. Start script with npm run start.
All minimal repo content
Code
const Ajv = require("ajv");
const ajv = new Ajv({allErrors: true});

function test(data) {
  const valid = validate(data)
  if (valid) console.log("Valid!\n")
  else console.log(`Invalid: ${ajv.errorsText(validate.errors)}\n`)
}

const schema = {
  type: 'object',
  properties: {
    json: {
      type: 'object',
      oneOf: [
        {
          title: 'A',
          type: 'object',
          properties: {
            propA: {
              type: 'number',
            }
          }
        },
        {
          title: 'B',
          type: 'object',
          properties: {
            propB: {
              type: 'number'
            }
          },
        }
      ]
    }
  }
};

const validate = ajv.compile(schema)

const data = {
  json: {},
};

data.json.propA = 123;
console.log(`1: Should be VALID (because it fits object 'A') but it is INVALID => INCORRECT VALIDATION`);
test(data);

data.json.propA = '123';

console.log(`2: Should be INVALID (because of 'propA' must be number) but it's VALID => INCORRECT VALIDATION`);
test(data);

delete data.json.propA;
data.json.propB = 123;

console.log(`3: Should be VALID (because it fits object 'B') but it is INVALID => INCORRECT VALIDATION`);
test(data);

data.json.propB = '123';

console.log(`4: Should be INVALID (because of 'propA' must be number) but it's VALID => INCORRECT VALIDATION`);
test(data);

schema.properties.json.oneOf[0].required = ['propA'];
delete data.json.propB;

console.log(`5: Should be VALID (because it fits object 'B' -> 'propB' optional) but it is INVALID => INCORRECT VALIDATION`);
test(data);

console.log(`6: Should be VALID (because it fits object 'A' -> 'propA' number) but it is INVALID => INCORRECT VALIDATION`);
data.json.propA = 123;
test(data);

console.log(`7: Should be INVALID (because it doesn't fit object 'A' -> 'propA' must be number) but it's VALID => INCORRECT VALIDATION`);
data.json.propA = '123';
test(data);

delete data.json.propA;

console.log(`9: Should be VALID (because it fits object 'B' -> 'propB' number) but it's INVALID => INCORRECT VALIDATION`);
data.json.propB = 123;
test(data);

console.log(`10: Should be INVALID (because it doesn't fit object 'B' -> 'propB' must be number) but it's VALID => INCORRECT VALIDATION`);
data.json.propB = '123';
test(data);

delete schema.properties.json.oneOf[0].required;
schema.properties.json.oneOf[1].required = ['propB'];
console.log(`11: Should be VALID (because it fits object 'A' -> 'propA' optional) and it's VALID => CORRECT VALIDATION`);
test(data);

console.log(`12: Should be VALID (because it fits object 'A' -> 'propA' number) and it's VALID => CORRECT VALIDATION`);
data.json.propA = 123;
test(data);

console.log(`13: Should be INVALID (because it doesn't fit object 'B' -> 'propB' must be number) and it's INVALID => CORRECT VALIDATION`);
data.json.propA = '123';
test(data);

delete data.json.propA;

console.log(`14: Should be VALID (because it fits object 'B' -> 'propB' number) but it's INVALID => INCORRECT VALIDATION`);
data.json.propB = 123;
test(data);

console.log(`15: Should be INVALID (because it doesn't fit object 'B' -> 'propB' must be number) but it's VALID => INCORRECT VALIDATION`);
data.json.propB = '123';
test(data);

Output
1: Should be VALID (because it fits object 'A') but it is INVALID => INCORRECT VALIDATION
Invalid: data/json must match exactly one schema in oneOf

2: Should be INVALID (because of 'propA' must be number) but it's VALID => INCORRECT VALIDATION
Valid!

3: Should be VALID (because it fits object 'B') but it is INVALID => INCORRECT VALIDATION
Invalid: data/json must match exactly one schema in oneOf

4: Should be INVALID (because of 'propA' must be number) but it's VALID => INCORRECT VALIDATION
Valid!

5: Should be VALID (because it fits object 'B' -> 'propB' optional) but it is INVALID => INCORRECT VALIDATION
Invalid: data/json must match exactly one schema in oneOf

6: Should be VALID (because it fits object 'A' -> 'propA' number) but it is INVALID => INCORRECT VALIDATION
Invalid: data/json must match exactly one schema in oneOf

7: Should be INVALID (because it doesn't fit object 'A' -> 'propA' must be number) but it's VALID => INCORRECT VALIDATION
Valid!

9: Should be VALID (because it fits object 'B' -> 'propB' number) but it's INVALID => INCORRECT VALIDATION
Invalid: data/json must match exactly one schema in oneOf

10: Should be INVALID (because it doesn't fit object 'B' -> 'propB' must be number) but it's VALID => INCORRECT VALIDATION
Valid!

11: Should be VALID (because it fits object 'A' -> 'propA' optional) and it's VALID => CORRECT VALIDATION
Valid!

12: Should be VALID (because it fits object 'A' -> 'propA' number) and it's VALID => CORRECT VALIDATION
Valid!

13: Should be INVALID (because it doesn't fit object 'B' -> 'propB' must be number) and it's INVALID => CORRECT VALIDATION
Invalid: data/json/propA must be number, data/json/propB must be number, data/json must match exactly one schema in oneOf

14: Should be VALID (because it fits object 'B' -> 'propB' number) but it's INVALID => INCORRECT VALIDATION
Invalid: data/json must match exactly one schema in oneOf

15: Should be INVALID (because it doesn't fit object 'B' -> 'propB' must be number) but it's VALID => INCORRECT VALIDATION
Valid!

Default issue template
What version of Ajv are you using? Does the issue happen if you use the latest version?
8.6.3, Yes.
Ajv options object

const Ajv = require("ajv");
const ajv = new Ajv({allErrors: true});

JSON Schema

{
   "type":"object",
   "properties":{
      "json":{
         "type":"object",
         "oneOf":[
            {
               "title":"A",
               "type":"object",
               "properties":{
                  "propA":{
                     "type":"number"
                  }
               }
            },
            {
               "title":"B",
               "type":"object",
               "properties":{
                  "propB":{
                     "type":"number"
                  }
               }
            }
         ]
      }
   }
}

Sample data

{
   "json":{
      "fieldA":123
   }
}

Your code

const validate = ajv.compile(schema)
const valid = validate(data);
if (valid) console.log("Valid!\n");
else console.log(`Invalid: ${ajv.errorsText(validate.errors)}\n`)

Validation result, data AFTER validation, error messages
Invalid: data/json must match exactly one schema in oneOf

What results did you expect?
Should be VALID (because it fits object 'A')
My Environment

Dependency
Version

Operating System
MacOS Big Sur 11.6

Node.js version
14.17.3

NPM version
4.4.3

AJV version
8.6.3

but why validator returns that this object is not valid?

sorry misread your comment. Because it is valid against both subschemas, it is valid against the whole schema - that’s how oneOf is defined - it should be valid against exactly one subschema to be valid against oneOf - it’s exclusive OR operation

$ref is not supported with discriminator


Cleanup test flags and allow retries

This PR really does two things, but I bundled them in 1 PR. If desired, I can split it out.

Clean up the test flags/setup scripts. We have a bunch of scripts that are outdated+never used.
Improve the integration test flag passing. Rather than having 10 different variables that are not correctly passed to all test targets, we build up a single variable. This also allows us to override this variable with our own flags which will allow us to enable...
Allow retrying failed tests. This is normally a really bad idea I think, and just hides the problem we see. However, I think there is one use case for it. In postsubmit, we rerun tests with different variants (ie Kubernetes v1.13). These are the exact same tests running ~4x in postsubmit. These tests exist to catch bugs in different environments - it is highly unlikely that we have test flakes in different k8s versions rather than just complete failures. Therefor, I think its appropriate to add retries only for these redundant tests. Otherwise, we are just making ourselves 4x more likely to have a test flake

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
3328832eeb4ee78ea83aa7b8c79d6b57e5aa2082
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
6cd345adae295e81eb30439423e96786813aaf82
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
6cd345adae295e81eb30439423e96786813aaf82
link
/test lint_istio

gencheck_istio
6cd345adae295e81eb30439423e96786813aaf82
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
6cd345adae295e81eb30439423e96786813aaf82
link
/test lint_istio

gencheck_istio
865d7179f0ca189a11c0e1703ef67231ea5a1025
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


CoinbaseProHttpException: request timestamp expired

I'm trying to get all accounts using the CoinbaseAccounts Service or the Accounts Service, but I'm getting this error: "CoinbaseProHttpException: request timestamp expired". I can use the Products Service to get a list of products so that part is working. I also have the api key set to trade, view, and transfer.
Here's my code
var authenticator = new Authenticator("","","");
CoinbaseProClient coinbaseProClient = new CoinbaseProClient(authenticator);
var accounts = await CoinbaseClient.AccountsService.GetAllAccountsAsync();
Any idea what the problem could be?

hey @TallGuy2  this is a weird one but I have seen this and it usually happens if the time on your computer isn't configured properly. I would try re-configuring and restarting then running it again. let me know if that doesn't solve the issue.

Thanks for looking. I deleted my bin and obj folders and synchronized my time and restarted and now I'm getting "CoinbaseProHttpException: NotFound". The Products Service still works but not the Accounts Service. Does that help any?

Never mind. That is working the Not Found error came from something else. I think the restart was the answer. Thanks!


<IP_ADDRESS> Cloudflare Warp Network Share

Which Cloudflare product(s) does this pertain to?
<IP_ADDRESS>
Subject Matter
Need a feature to share network from my linux or android to another Devices in my local network
Content Location
I need this feature in <IP_ADDRESS> Warp to make all my device in the local network can safe in internet and encrypted why ?
because i don't need to install the application in all devices just add a nat redirect in my router or via proxy
Additional information
No response

struct apr_crypto_key_t { apr_pool_t *pool; const apr_crypto_driver_t *provider; const apr_crypto_t *f; const EVP_CIPHER * cipher; کاراکتر بدون امضا *key; int keyLen; int doPad; int ivSize; }; struct apr_crypto_block_t { apr_pool_t *pool; const apr_crypto_driver_t *provider; const apr_crypto_t *f; EVP_CIPHER_CTX *cipherCtx; int مقداردهی اولیه int ivSize; int blockSize; int doPad; }; static int key_3des_192 = APR_KEY_3DES_192; static int key_aes_128 = APR_KEY_AES_128; static int key_aes_192 = APR_KEY_AES_192; static int key_aes_256 = APR_KEY_AES_256; static int mode_ecb = APR_MODE_ECB; static int mode_cbc = APR_MODE_CBC;

Howdy @muhanadali100, appreciate the suggestion, but this is just a repo for our product documentation and we can't do much about feature requests.


Added release notes for CP177

@manreet185 Please sign the CLA (just write "Mendix").

@manreet185 Please sign the CLA (just write "Mendix").


"Extension Not Found" prevents download of other extensions

🐛 Describe the bug
During sync, if one of the extensions is no longer available, the remaining extensions are not synced.
While syncing extensions.json -

Sync Extension A (SUCCESS)
Sync Extension B (FAILS - extension not found)
Extention C is not synced
Extension D is not synced

In the gist, joshpeng.sublime-babel-vscode is the offending extension. Removing that extension allows the download to work as expected
🌴 Visual Studio Code Version : 1.42.1
🌴 Code Settings Sync Version : 3.4.3
🌴 Standard or Insiders : Standard
🌴 Portable or Installed : Installed
🌴 OSS or Official Build : Official
🌴 Operating System : Linux - Debian 10
🌴 Occurs On: Download
🌴 Proxy Enabled: No
🌴 Gist Id: daafa9b496b8bf332beab39196a7fd17
📰 To Reproduce
Steps to reproduce the behavior:

Start with a fresh install
Install Sync extension
Configure Sync extension
Download Settings
Error will occur, you'll need to open developer tools to see the details

💪 Expected behavior
The missing/invalid extension is skipped, and the rest of the extensions.json file is processed
Optionally it would be good to notify the user exactly which extension is invalid, without requiring them to open the Dev Tools
📺 Console Error Log
[Extension Host] Error: Error: Error: Extension 'joshpeng.sublime-babel-vscode' not found.
    at /home/cody/.vscode/extensions/shan.code-settings-sync-3.4.3/out/extension.js:290:22293
    at /home/cody/.vscode/extensions/shan.code-settings-sync-3.4.3/out/extension.js:290:11611
    at Object.throw (/home/cody/.vscode/extensions/shan.code-settings-sync-3.4.3 out/extension.js:290:11716)
    at s (/home/cody/.vscode/extensions/shan.code-settings-sync-3.4.3/out/extension.js:290:10513)

📺  Additional context
Issue occurred on a fresh install of VSCode

i'm going to look into the code and see if i can put together a PR for this issue myself, but wanted to submit it first

You can set the missing/invalid extension to "ignore extensions"

There could be an option in the settings as well, allowing you to break on failure or continue onwards. Besides that, an error (hard or soft) should be in the output window.

You can also delete the missing extension from the gist manually.

You can also delete the missing extension from the gist manually.

Correct, but then again: that's the known workaround.

You can also delete the missing extension from the gist manually.

How to do that? I'm facing the same problem!

You can also delete the missing extension from the gist manually.

How to do that? I'm facing the same problem!

Just go to your gists on GitHub, then find the Visual Studio Code Settings Sync Gist which name can be 'cloudSettings' one (I don't remember details). And all you need is to edit the file 'extensions.json'.

You can also delete the missing extension from the gist manually.

How to do that? I'm facing the same problem!

Just go to your gists on GitHub, then find the Visual Studio Code Settings Sync Gist which name can be 'cloudSettings' one (I don't remember details). And all you need is to edit the file 'extensions.json'.

Thank you, bro!


.to_json() doesn't work because of a circular error somewhere

It would be nice to be able to call .to_json() on a ContentfulModel object but it seems to fall over because somewhere there's a self-reference.

I just came across this same issue. My quick work-around was just to implement to_hash on the models, so when I call to_json() or as_json() it uses those hashes for serialization and avoids this error.

Hey @skierkowski,
Could you explain what you did to solve this issue?
Also, when serialising do you want the original Raw representation of the entry or the internal representation by the gem?
For Raw representation, the entries already provide a method #raw which returns the hash from which the entry object was created.

In my code I have a Category and Product models which are associated (1-m), so I added this to my Product model. It's a simplified version of #raw which returns the min set needed by the client. I haven't tried using #raw, so it might work as well.
def to_hash
  {
    id: id,
    title:  title,
    category: category.id,
    description: description,
    price: price,
    image: {
      id: image.id,
      url: "https:#{image.file.url}"
    }
  }

Hey @skierkowski,
Thanks for the explanation!
Closing this issue.
Cheers

I'm running into this error when using this library with https://github.com/fast-jsonapi/fast_jsonapi.  Since the class respond_to?(:to_json), raising an exception is unexpected- can this be reopened?

I'd be happy to submit a PR if so.


electron-react-devtools causes app to hang with no error message, when using Windows 10 dark mode (only affects developers, not end-users of installed app)

See:
https://github.com/electron/electron/issues/19468#issuecomment-520219385

Side suggestion: electron-devtools-installer + redux-devtools-extension
In main process:
        const {
            default: installExtension,
            REACT_DEVELOPER_TOOLS,
            REDUX_DEVTOOLS,
        } = require("electron-devtools-installer");

        [REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS].forEach((extension) => {
            installExtension(extension)
                .then((name: string) => debug("Added Extension: ", name))
                .catch((err: any) => debug("An error occurred: ", err));
        });

In main and renderer processes:
import { composeWithDevTools } from "redux-devtools-extension";

    const store = createStore(
        myReducer,
        composeWithDevTools(
            applyMiddleware(myMiddleware),
        ),
    );

WebPack config for main process (so that source map paths can be found by VisualStudioCode etc.):
config.output.devtoolModuleFilenameTemplate = "[absolute-resource-path]";

From:
https://github.com/electron/electron/issues/19468#issuecomment-532147413
dark.cmd:
@echo off
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :uacfalse
:runas
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f
goto :eof
:uacfalse

light.cmd:
@echo off
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :uacfalse
:runas
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize /v AppsUseLightTheme /t REG_DWORD /d 1 /f
goto :eof
:uacfalse


Congigure ChoicePropertyEditor choices through annotations

Currently AI2 is lack of a configurable choice-like property. It could be troublesome when I was developing components or extensions. It's a hassle to create editor classes for choice property classes (eg. YoungAndroidLegoEv3{Color,Gyro,Ultrasonic}SensorModeChoicePropertyEditor), and it seems there's no way to create choice-like properties for extensions without patching AI2 sources.
I made some modifications on ChoicePropertyEditor, and thus you can configure your choices with editorArgs argument in annotation like this.
@DesignerProperty(editorType = PropertyTypeConstants.PROPERTY_TYPE_CHOICES,
                  defaultValue = "A",
                  editorArgs = {"A", "B", "C", "D"})
@SimpleProperty
public void SomeMethod(String choice) { /* blablabla */ }

This patch is mainly done by an additional String array editorArgs in class ChoicePropertyEditor. The findComponentProperties function passes editorArgs to editor objects if need.

This is a really great addition, thanks for your contribution. @ewpatton @jisqyv @josmas @afmckinney @paulmedwal please take a look at this.

String.join is now replaced with a StringBuilder implementation.

An workaround that checks if editorArgs exists has been uploaded. I leave a comment above this code saying that it may need better solution in future versions. (something like component upgrader)

@jisqyv Do you think we can get this in as part of the Dec 20 release?

@jerry73204 LGTM. This code has been squashed and moved to our Gerrit system. It will be merged from there and I will close this PR when that happens (really soon, this code is scheduled to be released in the next component release which is scheduled for 12/27/2017)

@jerry73204 Code merged into the ucr branch


added keyboard shortcuts

PR Checklist
Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number: #20
What is the current behavior?
There's no keyboard shortcut functions yet.
What is the new behavior?
Added handleShortcuts to src/components/toolbar/index.js with 3 initial shortcuts:- f, right arrow, and left arrow for toggling fullscreen and navigating pages respectively.
Other information

Do we need the package.lock.json file?
We are using yarn btw

Removed the file. My bad.

Can you update the changelog with your changes ?

Great contribution, thanks! :v:


server.py changes to make script accepts GET request

template.py contains services required by server.py to handle GET requests.

Do again, history is inconsistent


How to save and evaluate model after training ?

I wanted to know how we could save the model weights and use it for inference on some test data ?
I tried using torch.save() and torch.load() after all completion of all epochs, but the results are not similar as to automatic eval on test split and quite bad.
Could you please provide some inputs on this ?

You would need to show me exactly what you do. Ideally, you do:

opt = pkl.load(open(your_save_path/hypa.pkl','rb'))
network = netlib.networkselect(opt)
network.load_state_dict(torch.load(your_save_path/checkpoint.pth.tar)['state_dict'])
_ = network.eval()
with torch.no_grad(): do stuff

Also, you might not want to use the weights directly AFTER training, but those that provide the best validation performance (as is done automatically when calling eval.evaluate()). The reported results are based on weights found this way.

Thanks @Confusezius ; will test with your inputs. I was saving the model.state_dict after every epoch and picked the model file with best validation performance.
I am working on image retrieval with L2 distance based on the feature embeddings generated after training. I noticed that directly generating the feature vector embedding ( with Resnet pretrained model ) gives results which were specific to image color features, so currently working on improving the embeddings.

@dnaveenr keep me posted, both if everything works out or not :)

@Confusezius  Sure. Will keep you posted.
Just wanted to check more one thing, since we are doing online sampling, does batch size play a major role in performance ? Currently, default batch size is 112, which I cannot use on my GPU. I'm working with a batch size of 32. During your tests, did you try with different batch size ? Any suggestions ?

So for methods like ProxyNCA where you use external proxies to create meaningful n-tuples for training it doesn't matter (to a certain degree). However, for triplet sampling methods like semihard or distance sampling, there is a notable drop in performance for small batchsizes, as the set of triplets you can create per choice of anchor gets smaller, thereby constraining the effectiveness of your sampling method. In that regard, I have seen significant performance change for batchsizes below 100. However you can try and counter it a bit by maybe making --n_samples_per_class smaller, e.g. using 2 or 3 instead of 4, to uphold a higher diversity in negatives.

Thanks. Very insightful. I will try tweaking --n_samples_per_class and check.

Feel free to reopen this issue if there are any other issues :). Otherwise I'll close it for now.


Building TypeScript with gulp results in errors after v2.4.2

TypeScript Version:  2.5.3
I have been unable to build TypeScript releases using Gulp since v2.4.2.  I am running the latest version of Gulp (v3.9.1).
I bisected the git history until I discovered that PR https://github.com/Microsoft/TypeScript/commit/dc81b456e26485d2fb01434496b9d1d88cc2adcc is the cause.  When I undo the changes in that commit, I am able to build current releases of TypeScript, including v2.5.3.
Here is the output of the failed build before undoing https://github.com/Microsoft/TypeScript/commit/dc81b456e26485d2fb01434496b9d1d88cc2adcc on my system :
d:\git\TypeScript>gulp local
[15:35:03] Requiring external module ts-node/register
[15:35:03] Using gulpfile d:\git\TypeScript\gulpfile.ts
[15:35:03] Starting 'built\local\lib.dom.d.ts'...
[15:35:03] Starting 'built\local\lib.dom.iterable.d.ts'...
[15:35:03] Starting 'built\local\lib.webworker.d.ts'...
[15:35:03] Starting 'built\local\lib.scripthost.d.ts'...
[15:35:03] Starting 'built\local\lib.es5.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.d.ts'...
[15:35:03] Starting 'built\local\lib.es2016.d.ts'...
[15:35:03] Starting 'built\local\lib.es2017.d.ts'...
[15:35:03] Starting 'built\local\lib.esnext.d.ts'...
[15:35:03] Starting 'built\local\lib.d.ts'...
[15:35:03] Starting 'built\local\lib.es6.d.ts'...
[15:35:03] Starting 'built\local\lib.es2016.full.d.ts'...
[15:35:03] Starting 'built\local\lib.es2017.full.d.ts'...
[15:35:03] Starting 'built\local\lib.esnext.full.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.core.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.collection.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.generator.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.iterable.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.promise.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.proxy.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.reflect.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.symbol.d.ts'...
[15:35:03] Starting 'built\local\lib.es2015.symbol.wellknown.d.ts'...
[15:35:03] Starting 'built\local\lib.es2016.array.include.d.ts'...
[15:35:03] Starting 'built\local\lib.es2017.object.d.ts'...
[15:35:03] Starting 'built\local\lib.es2017.sharedmemory.d.ts'...
[15:35:04] Starting 'built\local\lib.es2017.string.d.ts'...
[15:35:04] Starting 'built\local\lib.es2017.intl.d.ts'...
[15:35:04] Starting 'built\local\lib.esnext.asynciterable.d.ts'...
[15:35:04] Starting 'scripts\processDiagnosticMessages.js'...
[15:35:04] Finished 'scripts\processDiagnosticMessages.js' after 210 ms
[15:35:04] Starting 'src\compiler\diagnosticInformationMap.generated.ts'...
[15:35:04] Finished 'src\compiler\diagnosticInformationMap.generated.ts' after 448 μs
[15:35:04] Starting 'generate-diagnostics'...
[15:35:04] Finished 'generate-diagnostics' after 3.42 μs
[15:35:04] Starting 'built\local\diagnosticMessages.generated.json'...
[15:35:04] Finished 'built\local\diagnosticMessages.generated.json' after 72 μs
[15:35:04] Finished 'built\local\lib.es2015.d.ts' after 294 ms
[15:35:04] Finished 'built\local\lib.es2017.d.ts' after 293 ms
[15:35:04] Finished 'built\local\lib.dom.iterable.d.ts' after 303 ms
[15:35:04] Finished 'built\local\lib.webworker.d.ts' after 301 ms
[15:35:04] Finished 'built\local\lib.esnext.d.ts' after 294 ms
[15:35:04] Finished 'built\local\lib.es2016.d.ts' after 295 ms
[15:35:04] Finished 'built\local\lib.scripthost.d.ts' after 301 ms
[15:35:04] Finished 'built\local\lib.es2015.collection.d.ts' after 281 ms
[15:35:04] Finished 'built\local\lib.es2015.core.d.ts' after 282 ms
[15:35:04] Finished 'built\local\lib.es5.d.ts' after 299 ms
[15:35:04] Finished 'built\local\lib.es2015.promise.d.ts' after 278 ms
[15:35:04] Finished 'built\local\lib.es2015.generator.d.ts' after 280 ms
[15:35:04] Finished 'built\local\lib.es2015.reflect.d.ts' after 276 ms
[15:35:04] Finished 'built\local\lib.es2015.symbol.d.ts' after 276 ms
[15:35:04] Finished 'built\local\lib.es2016.array.include.d.ts' after 275 ms
[15:35:04] Finished 'built\local\lib.es2017.object.d.ts' after 274 ms
[15:35:04] Finished 'built\local\lib.es2015.iterable.d.ts' after 280 ms
[15:35:04] Finished 'built\local\lib.es2015.symbol.wellknown.d.ts' after 276 ms
[15:35:04] Finished 'built\local\lib.es2015.proxy.d.ts' after 279 ms
[15:35:04] Finished 'built\local\lib.es2017.sharedmemory.d.ts' after 274 ms
[15:35:04] Finished 'built\local\lib.es2017.string.d.ts' after 270 ms
[15:35:04] Finished 'built\local\lib.esnext.asynciterable.d.ts' after 268 ms
[15:35:04] Finished 'built\local\lib.es2017.intl.d.ts' after 269 ms
[15:35:04] Finished 'built\local\lib.dom.d.ts' after 322 ms
[15:35:04] Finished 'built\local\lib.d.ts' after 305 ms
[15:35:04] Finished 'built\local\lib.esnext.full.d.ts' after 314 ms
[15:35:04] Finished 'built\local\lib.es6.d.ts' after 323 ms
[15:35:04] Finished 'built\local\lib.es2017.full.d.ts' after 318 ms
[15:35:04] Finished 'built\local\lib.es2016.full.d.ts' after 320 ms
[15:35:04] Starting 'lib'...
[15:35:04] Finished 'lib' after 3.42 μs
[15:35:04] Starting 'built\local\typescriptServices.js'...
src\compiler\transformer.ts(126,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
src\compiler\transformer.ts(127,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
src\compiler\transformer.ts(132,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
src\compiler\transformer.ts(133,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
[15:35:15] TypeScript: 4 semantic errors
[15:35:15] TypeScript: emit succeeded (with errors)
[15:35:15] Finished 'built\local\typescriptServices.js' after 11 s
[15:35:15] Starting 'built\local\tsc.js'...
[15:35:15] Starting 'built\local\typingsInstaller.js'...
[15:35:15] Starting 'built\local\cancellationToken.js'...
[15:35:15] Starting 'built\local\tsserverlibrary.js'...
[15:35:20] Finished 'built\local\cancellationToken.js' after 4.41 s
[15:35:20] Finished 'built\local\typingsInstaller.js' after 4.54 s
[15:35:20] Starting 'built\local\tsserver.js'...
[15:35:31] Finished 'built\local\tsserverlibrary.js' after 16 s
d:/git/TypeScript/src/compiler/transformer.ts(126,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
d:/git/TypeScript/src/compiler/transformer.ts(127,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
d:/git/TypeScript/src/compiler/transformer.ts(132,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
d:/git/TypeScript/src/compiler/transformer.ts(133,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
[15:35:43] TypeScript: 4 semantic errors
[15:35:43] TypeScript: emit succeeded (with errors)
[15:35:43] Finished 'built\local\tsserver.js' after 23 s
src\compiler\transformer.ts(126,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
src\compiler\transformer.ts(127,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
src\compiler\transformer.ts(132,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
src\compiler\transformer.ts(133,17): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
[15:35:50] TypeScript: 4 semantic errors
[15:35:50] TypeScript: emit succeeded (with errors)
[15:35:50] Finished 'built\local\tsc.js' after 35 s
[15:35:50] Starting 'local'...
[15:35:50] Finished 'local' after 5.13 μs```

**Expected behavior:**

No TypeScript errors during build.

Closing issue. I was using an outdated version of gulp-typescript.


~/stratum-mining/externals/stratum# sudo python setup.py install >> error

When I try to install python setup.py install inside folder of ~/stratum-mining/externals/stratum Then I'm getting error....
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz
Traceback (most recent call last):
File "setup.py", line 3, in
use_setuptools()
File "/root/stratum-mining/externals/stratum/distribute_setup.py", line 145, in use_setuptools
return _do_download(version, download_base, to_dir, download_delay)
File "/root/stratum-mining/externals/stratum/distribute_setup.py", line 124, in _do_download
to_dir, download_delay)
File "/root/stratum-mining/externals/stratum/distribute_setup.py", line 194, in download_setuptools
src = urlopen(url)
File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 435, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 473, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: SSL is required

You could have searched this repository for this specific question which has been dealt with in the past: This is not an issue with MPOS itself so please go ask the proper channels for this product.


Matplotlib module is not found when using Docker + Jupyter

When using Devito with Docker the matplotlib is not being installed.
So out of the box, the tutorials that uses matplolib throws the following error when trying to import it:
ModuleNotFoundError: No module named 'matplotlib'
Creating an empty cell before the usage of matplotlib and installing matplotlib fix the problem:
!pip install matplotlib

Creating an empty cell before the usage

Fixing the docker image would be a better  and cleaner way. This links to #817 and homogenisation of docker between the instruction and pipelines

Yes indeed. Not necessarily related to the linked issue.

Couldn't;t find the issue that goes with the homogenisation sorry linked wrong one.

@navjotk Does adding the requirements-optional to the docker image install is a good option?
What I have tried is to change the following lines from the dockerfile file:
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 0f0e4e50..c07e9d21 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -5,11 +5,13 @@ RUN apt-get update && apt-get install -y -q \
     libmpich-dev

 ADD ./requirements.txt /app/requirements.txt
+ADD ./requirements-optional.txt /app/requirements-optional.txt

 RUN python3 -m venv /venv && \
     /venv/bin/pip install --no-cache-dir --upgrade pip && \
     /venv/bin/pip install --no-cache-dir jupyter && \
-    /venv/bin/pip install --no-cache-dir -r /app/requirements.txt
+    /venv/bin/pip install --no-cache-dir -r /app/requirements.txt && \
+    /venv/bin/pip install --no-cache-dir -r /app/requirements-optional.txt

As I have just started using Docker, I am not sure if this is correct.
And basically this solution involves installing the optional requirements by default.
IMO if the notebooks need something from the optional requirements to work, it shouldn't be optional.

You can look at the pipeline dockerfile for optional arguments.

Dockerfile fixed to add dependencies as mentioned by @vmickus above.


Show absence of data

Hi,
This plugin is great - but I am looking for a way to indicate that the series has stopped.
Ideally something like the ability to set a value (in my case maybe NULL as the data is in Postgres) which indicates that after that time there should be no more entries.
This would stop the graph always filling to the right.
Cheers!

+1

+1
Any input from the authors about a possible workaround until it officially may be supported will be appreciated!

+1


[FR] Full --unattended support

Is your feature request related to a problem? Please describe.

The script requires a frontend and cannot be run without one unless DEBIAN_FRONTEND=noninteractive is provided.
Not all important configurations are possible to set via setupVARS.conf (see https://github.com/pivpn/pivpn/issues/1273)

Describe the solution you'd like

Support additional flag e.g. --nofrontend that disables the frontend parts. Usually one doesn't care about progress output when running in unattended mode.
Read all config items from setupVARS.conf (see https://github.com/pivpn/pivpn/issues/1273)

Describe alternatives you've considered

Mention in the manual that DEBIAN_FRONTEND=noninteractive needs to be defined when frontend is not given.
Ansible editing downloaded setup script, replacing desirged config lines (which might not work with a script update)

Additional context
I discovered this problem while writing an Ansible Playbook to deploy pivpn + pivpn-webui on a Debian VM.

Support additional flag e.g. --nofrontend that disables the frontend parts. Usually one doesn't care about progress output when running in unattended mode.

There is no progress bar when using --unattended

There is no progress bar when using --unattended

When using --unattended I still see progress bars and package installation "GUI" on CLI. Hence the installation without any frontend fails. I tested this on multiple systems.

When using --unattended I still see progress bars and package installation "GUI" on CLI.

How are you providing the unattended flag? https://docs.pivpn.io/install/#non-interactive-installation

requiring frontend
/bin/bash /root/installpivpn.sh --unattended /root/setupvars.conf
not requiring frontend
/bin/bash DEBIAN_FRONTEND=noninteractive /root/installpivpn.sh --unattended /root/setupvars.conf

@DerDanilo We are using CI scripts to test pivpn and it is working just fine ... it feels there are some details missing ... can't really understand what

This is the part of the Ansible role that executes the script. Currently there is no checksum verification though.
Without DEBIAN_FRONTEND=noninteractive it does not work. I also tried the Ansible command module instead of shell module , no difference.
- name: "Init install tasks"
  become: yes
  block:
    - name: "Create script directory"
      file:
        path: "{{ wireguard_pivpn_script_path }}"
        state: directory
        owner: "{{ wireguard_pivpn_script_owner }}"
        group: "{{ wireguard_pivpn_script_owner }}"
        mode: 0755

    - name: "Deploy setupvars.conf"
      template:
        src: "setupvars.conf.j2"
        dest: "{{ wireguard_pivpn_setup_vars_file }}"
        owner: "{{ wireguard_pivpn_script_owner }}"
        group: "{{ wireguard_pivpn_script_owner }}"
        mode: "a+x"

    - name: "Download pivpn setup script"
      get_url:
        url: "{{ wireguard_pivpn_setup_script_url }}"
        dest: "{{ wireguard_pivpn_script }}"
        owner: "{{ wireguard_pivpn_script_owner }}"
        group: "{{ wireguard_pivpn_script_owner }}"
        mode: 'a+x'
      register: _download_script
      until: _download_script is succeeded
      retries: 5
      delay: 5
      check_mode: false

    # Edit pivpn setup script
    - name: "Edit setup script wireguard subnet"
      lineinfile:
        path: "{{ wireguard_pivpn_script }}"
        state: present
        regexp: '(.*?)pivpnNET="<IP_ADDRESS>"(.*)'
        line: '   pivpnNET="{{ wireguard_pivpn_pivpnnet }}"'

    - name: "Edit setup script wireguard allowed ips"
      lineinfile:
        path: "{{ wireguard_pivpn_script }}"
        state: present
        regexp: '(.*?)ALLOWED_IPS="<IP_ADDRESS>/0(.*)'
        line: '   ALLOWED_IPS="{{ wireguard_pivpn_allowed_ips | default(wireguard_pivpn_allowed_ips_default) }}"'

    - debug:
        msg: "Running pivpn script now, this may take a while..."

    - debug:
        msg: "/bin/bash DEBIAN_FRONTEND=noninteractive {{ wireguard_pivpn_script }} --unattended {{ wireguard_pivpn_setup_vars_file }}"

    - name: "Run pivpn setup script"
      shell:
        cmd: 'DEBIAN_FRONTEND=noninteractive {{ wireguard_pivpn_script }} --unattended {{ wireguard_pivpn_setup_vars_file }}'
        chdir: "{{ wireguard_pivpn_script_path }}"
      args:
        executable: /bin/bash
      register: __script_output

    - debug:
        var: __script_output.stdout_lines

  when: wireguard_pivpn_init_setup|bool
  tags: ["wireguard_pivpn"]

requiring frontend
/bin/bash /root/installpivpn.sh --unattended /root/setupvars.conf
not requiring frontend
/bin/bash DEBIAN_FRONTEND=noninteractive /root/installpivpn.sh --unattended /root/setupvars.conf

hmmm .... installpivpn.sh  what is that one doing?

hmmm .... installpivpn.sh what is that one doing? that is definitely not our scripts

I assumed that it was clear. My bad. This is of course the installer script (install.sh) that is downloaded into a script not just called "install.sh" since this could conflict with other scripts.
Either there is something wrong with the installer script not silencing all UI options properly; or something in Ansible. Currently I rather assume that there is something with the script since Ansible complained already (by doing nothing) that the script won't actually work. (Without DEBIAN_FRONTEND=noninteractive set)
Can someone please try to run the current installer script with the --unattended option and check regarding the progress bars still shown? Thanks

There is no progress bar when using --unattended

Well, I recalled wrong. Unattended only "no input", not "no input and textual only".


WIP: Action example

Don't merge yet!  Still in progress.  Just opening for in-progress discussion.
This PR takes @nwforrer's activate_object example and adds an action system as described in the spec.
Then the scope spread a bit and I also added automatically preloading assets based on the contents of the map json file.

[x] draft action system and wire up light switch to ceiling light with action chain
[x] automatically preload assets based on the map.json file
[ ] automatically create objects based on the map.json file (map.createFromObjects())

reference to #45


fix: SSR useEffect warning in createGlobalState hook

#662 Description
createGlobalState uses useLayoutEffect which can't run on the server due to there being no DOM. This results in a warning that I have fixed by using useIsomorphicLayoutEffect.
This PR fixes #956
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

Checklist

[x] Read the Contributing Guide
[x] Perform a code self-review
[x] Comment the code, particularly in hard-to-understand areas
[x] Add documentation
[x] Add hook's story at Storybook
[x] Cover changes with tests
[x] Ensure the test suite passes (yarn test)
[x] Provide 100% tests coverage
[x] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[x] Make sure types are fine (yarn lint:types).

createGlobalState shouldn't be using either of these. The subscription should happen synchronously to avoid race conditions. Here's a synchronous useMount version we could use:
function useMount(fn: () => void): void {
    const isFirst= useFirstMountState();
    if (isFirst) {
        fn();
    }
}


cloudflare_filter not respecting $TF_VAR_cloudflare_email or $TF_VAR_cloudflare_token

Current TF version
0.12.29
Providers:
$ terraform -v
Terraform v0.12.29

provider.aws v2.70.0
provider.cloudflare v2.13.1
provider.helm v1.3.2
provider.kubernetes v1.13.3
provider.null v2.1.2
provider.random v2.1.2
provider.template v2.1.2

Error received:
11:11:12
11:11:12  Error: cloudflare_api_key and cloudflare_email are required for validating filter expressions but they are missing
11:11:12
11:11:12    on .terraform_base/modules/bot_blacklist_REDACT_vn/main.tf line 5, in resource "cloudflare_filter" "bot_blacklist_filter":
11:11:12     5: resource "cloudflare_filter" "bot_blacklist_filter" {
11:11:12
11:11:12
11:11:12
11:11:12  Error: cloudflare_api_key and cloudflare_email are required for validating filter expressions but they are missing
11:11:12
11:11:12    on .terraform_base/modules/bot_blacklist_REDACT_mm/main.tf line 5, in resource "cloudflare_filter" "bot_blacklist_filter":
11:11:12     5: resource "cloudflare_filter" "bot_blacklist_filter" {
11:11:12
11:11:12

We have our cloudflare provider set to automatically upgrade version >2:
provider "cloudflare" {
  version = "~> 2.0"

Our ENV sets:
$TF_VAR_cloudflare_email
$TF_VAR_cloudflare_token
This is working with version  v2.12.0, pointing to a bug in v2.13.x

We set our cloudflare_token directly in the provider configuration
provider "cloudflare" {
  api_token = data.google_secret_manager_secret_version.cloudflare_token.secret_data
}

Works for 2.11, 2.12. Fails for 2.13.x. I presume it's the same issue, but the description mentions only TF_VAR applications (which I guess might be pointing in a different direction; I'm unfamiliar with the code).

We set our cloudflare_token directly in the provider configuration
provider "cloudflare" {
  api_token = data.google_secret_manager_secret_version.cloudflare_token.secret_data
}

Works for 2.11, 2.12. Fails for 2.13.x. I presume it's the same issue, but the description mentions only TF_VAR applications (which I guess might be pointing in a different direction; I'm unfamiliar with the code).

It does work for 2.13.x if  I set it manually as follow:
  type    = string
  default = "xxxx"
}

variable "cloudflare_token" {
  type    = string
  default = "xxxxx"
}```

But we'd obviously like to keep the TF_var usage that works up to 2.12.0

It does seem limited to filter calls resource "cloudflare_filter"  too.

We set our cloudflare_token directly in the provider configuration
provider "cloudflare" {
  api_token = data.google_secret_manager_secret_version.cloudflare_token.secret_data
}

Works for 2.11, 2.12. Fails for 2.13.x. I presume it's the same issue, but the description mentions only TF_VAR applications (which I guess might be pointing in a different direction; I'm unfamiliar with the code).

It does work for 2.13.x if I set it manually as follow:
variable "cloudflare_email" {
  type    = string
  default = "xxxx"
}

variable "cloudflare_token" {
  type    = string
  default = "xxxxx"
}

But we'd obviously like to keep the TF_var usage that works up to 2.12.0

Something is off then..
The docs clearly state (and I believe I've checked this in the past in the Cloudflare docs) that it should be either:

cloudflare api key + email
cloudflare token

So cloudlfare token + email doesn't make sense (?).

Can confirm. my Cloudflare provider crentials are sourced from an AWS SSM parameter like
provider "cloudflare" {
  email   = data.aws_ssm_parameter.cloudflare_api_auth_email.value
  api_key = data.aws_ssm_parameter.cloudflare_api_auth_key.value
}

this worked fine in 3.13.0 when last run on 04-Nov-2020 09:31. This morning with 3.13.1 I now get the message stated by others in thread.
Error: cloudflare_api_key and cloudflare_email are required for validating filter expressions but they are missing

  on cloudflare_filter.tf line 1, in resource "cloudflare_filter" "resource-name":
   1: resource "cloudflare_filter" "resource-name" {

It seems limited to cloudflare_filter resources

We set our cloudflare_token directly in the provider configuration
provider "cloudflare" {
  api_token = data.google_secret_manager_secret_version.cloudflare_token.secret_data
}

Works for 2.11, 2.12. Fails for 2.13.x. I presume it's the same issue, but the description mentions only TF_VAR applications (which I guess might be pointing in a different direction; I'm unfamiliar with the code).

It does work for 2.13.x if I set it manually as follow:
variable "cloudflare_email" {
  type    = string
  default = "xxxx"
}

variable "cloudflare_token" {
  type    = string
  default = "xxxxx"
}

But we'd obviously like to keep the TF_var usage that works up to 2.12.0

Something is off then..
The docs clearly state (and I believe I've checked this in the past in the Cloudflare docs) that it should be either:

cloudflare api key + email
or
cloudflare token

So cloudlfare token + email doesn't make sense (?).

Only setting cloudflare_token leads to:
Error: email is not set correctly

  on _providers.tf line 59, in provider "cloudflare":
  59: provider "cloudflare" {

So I agree it doesn't make sense, but this was working up to 2.13.0 as per others in thread.
And it's only broken on cloudflare_filter resource.

@pieterza For me (only cloudflare_token set) it doesn't fail on the provider configuration, rather later on the cloudflare_filter resource
Error: cloudflare_api_key and cloudflare_email are required for validating filter expressions but they are missing

Weird that we have different errors.

We are also seeing this error, but in our case we are storing and pulling the API key and email in vault.
Error: cloudflare_api_key and cloudflare_email are required for validating filter expressions but they are missing
It worked when we changed the version to 2.12.

Thanks for raising this one. The issue you've raised is indeed related to cloudflare_filter which in v2.13.0 got an update to how the expression is validated (#848). As a part of that change, it makes a call to the Cloudflare API to validate the expression. Unfortunately, the way the request is built is unique to that scenario due to how what is available to ValidateFunc so the client is stand alone and the values are pulled only from the environment variables which appears to be an oversight in how many people are using that approach. To make matters a little more confusing, the endpoint isn't supported by API tokens so an API key/email combination is required to perform it.
Once 2.13.0 was released, I noticed on our internal test suite a bunch of new errors which later turned into the fix #860 to propagate the exception properly to the end-user.
I'm in the process of seeing if we can reuse the existing client which will allow TF_VAR_..., environment variables and the provider configuration blocks to work however at this stage, it will still require API key/email combo to make the call. Once the endpoint supports API tokens, we can remove this specific check.

I was not clear on the intended follow up based on your comment @jacobbednarz, but it sounds like your proposal is to continue forwards with this breaking change to allowed authentication method?
What is the feasibility of returning to a method which allows token usage until this new endpoint supports that access?

@jacobbednarz is there any way of reverting to the previous structure to avoid breaking production workflows until the filters API is consistent with other areas or at least utilise the configuration in the tf provider resource

I started digging into a workaround for this one and managed to find an approach that Terraform allows, however, would leave us supporting some functionality that Terraform core have indicated they aren't keen on continuing and will eventually end up deprecated. Instead of pursuing that, I'm going to revert #848 and #860 in #863 until such time we aren't managing a standalone client specifically for filters and can instead reuse the existing client with the endpoint supporting all authentication methods. This also means #846 is reopened for tracking the feature.

What is the feasibility of returning to a method which allows token usage until this new endpoint supports that access?

@edragic I'm afraid there isn't a state (previous or proposed) that would allow only token use. The endpoint simply doesn't support it hence why API key/email was originally required. I've raised 2017235 with Cloudflare Support to see if we can get an ETA on the support of this to revisit this in #846.

is there any way of reverting to the previous structure to avoid breaking production workflows until the filters API
[...] or at least utilise the configuration in the tf provider resource

@aidenvaines-bjss I covered it in a bit more detail in a previous comment and at the beginning of this comment but the gist is that the inbuilt client isn't exposed to the schema validation methods -- they currently only have access the old and new values so it wasn't possible hence the standalone client.  On a somewhat tangential note, I'd highly recommend not automatically using the latest of any piece of software as a part of your production workflow. All software eventually encounters edge cases so it's best to pin to a known good version and increment after confirming working elsewhere. If you want to run bleeding edge (such as we do), have a duplicate pipeline/workflow that runs the latest as a litmus test.
#863 is automatically going to close this issue and a new release will be available shortly but feel free to ask any questions you have and I'll respond where I can.


Bump MathJax to v3.2.2 and re-align rendering to the new version

MathJax 3.2 introduces some features/fixes that may make it a bit easier to simplify the html-block control. As such, we want to start off by getting it updated and making sure our custom shadow adaptor still works properly.

Visual diff failures are minor formatting differences in the math, presumably as a result of the version bump. I'll avoid merging in the new goldens until we're happy with this PR just to keep churn to a minimum.


Update Django templates

Samples are still in another repo for this branch, so that update will have to be done separately.

:+1:
Since we generate a few tests in the created project, make sure that they can run.  We had trouble with those before with new django versions.

Yep, already checked the tests. We still need the setup() call, unfortunately.


TVac testing scripts

Requirements:

4 tests required - 2 boards, 2 temps

Low temperature hold at -10°C - run heat & cool cycle on top/bottom
High temperature hold - ditto

Current testing process at CUAVA:

cd UTS
uts-cli test

Suggested interface for CUAVA:

uts-cli tvac-1 - bottom, temp_abort = 80, cool probably not needed?
uts-cli tvac-2 - bottom, temp_abort = 125
uts-cli tvac-3 - top, temp_abort = 80, cool probably not needed?
uts-cli tvac-4 - top, temp_abort = 125

Use existing functionality from uts-run (which loads from UTS_PROGRAM_FILE) to load from tvac-1.toml, tvac-2.toml, etc.
Need to run uts-log in the background, like we do with systemd on test BBB. Could use CubeOS scheduler? Or another way to run system services? Want to capture data before/after uts-cli execution.
Schedule for TVac:

start uts-log as soon as possible after boot
ensure log output going to $UTS_LOG_PATH
run uts-cli tvac-1, etc. manually at specified times

From Nick:

For the TVac test we’ll go for the following:
Full power test
Cut off temp, 85C (measured by TH1)
No high-temp test after all

Tested manually via uts-cli run ..., and works correctly.
Waiting for scheduler to be working on WS-1 to finalise this.

Scheduler is now working. Waiting to receive execution logs to confirm it is running the scripts properly.

Fully tested today with the scheduler. We ran both tvac1 and tvac2 schedules, and got the associated data back to UTS.
Some minor remaining issues for CUAVA to fix:

File transfer fails with spurious error at the end, even though it was successful
Processes started by the scheduler aren't terminated when the schedule is stopped
Scheduler periodic tasks don't seem to run periodically (which we are now doing with the zip task).


NO-ISSUE: Version bump

This PR updates v1.0.18 version, adds new tag and bumps to v1.0.19-SNAPsHOT.
Update of spring openapi version to fix an issue.
Change type

[ ] New feature
[ ] Bug fix
[ ] Unit tests
[ ] Integration tests
[x] CI
[ ] Documentation
[ ] Auto-generated SDK code

Impacted services

[x] Workflow Service
[x] Notification Service

Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.

/lgtm
/approve


Adding dark-to-light mode toggle

Adds a toggle that allows user to shift from dark to white mode and vice-versa.

Closing the PR as this feature has already been merged here


Deployer timing

Describe the Bug
The only thing I could think of would be a timing issue. Where a deployer with a lava bucket not able to use it on a blaze cage due to it being retracted when the initial power is lost.
Reproduction Steps
1.Deployer placed with lava bucket inserted and held
2.Blaze cage cold without fuel
3.Jump start with a log engines turn and deployer starts to smack the cage with the lava bucket
4.Log is used up and deployer fails to use bucket of lava on the cage as the boilers shut down
Expected Result
Bucket of lava being fed into a deployer used to power the cage in a self reliant system
Screenshots and Videos

Crash Report or Log
No response
Operating System
Windows 10 64-bit
Mod Version
0.5.0g
Minecraft Version
1.19.2
Other Mods
AOF6 Modpack and NA Server
Additional Context
This world and setup can be viewed on AOF6 NA Server. My username on discord and in game is _Fauxx

When heat stops, the power stops. there is no bug here.
However, in the next update, fuel will be used before blaze burners completely run out, avoiding this issue.


Fixed the problem where parseSkip and parseLimit don't cover the case we...

Fixed the problem where parseSkip and parseLimit don't cover the case were req.options.limit/skip returns null instead of undefined. This fixes the problem in sails-postgresql where passing null then gets converted to a NaN which breaks the query

OK. I will see if I can get that going. Has been a while, haha!

Bumped~

@weyert yeah, sorry about that- thanks for getting back :)  We've been working on the way we tackle issues and PRs in the project.  If you'd like to be a part of the "issue street team", let me know :)


Seeed_Arduino_rpcBLE conflits with other BLE libraries

Trying to use the BLE_scanexample.
The Arduino IDE reports an error because it selects the wrong BLE library.
/Users/USER/Documents/Projets/Arduino/libraries/Seeed_Arduino_rpcBLE/examples/BLE_scan/BLE_scan.ino: In function 'void setup()':
BLE_scan:20:16: error: 'init' is not a member of 'BLEDevice'
     BLEDevice::init("");
                ^~~~
BLE_scan:21:27: error: 'getScan' is not a member of 'BLEDevice'
     pBLEScan = BLEDevice::getScan(); //create new scan
                           ^~~~~~~
Multiple libraries were found for "BLEDevice.h"
 Used: /Users/USER/Documents/Projets/Arduino/libraries/ArduinoBLE
 Not used: /Users/USER/Documents/Projets/Arduino/libraries/BLEPeripheral
 Not used: /Users/USER/Documents/Projets/Arduino/libraries/Seeed_Arduino_rpcBLE

How to force the use of the Seeed_Arduino_rpcBLE library?

Maybe you need  to remove ArduinoBLE temporary.

Indeed, a quick and dirty turnaround consists on removing the two other offending libraries.
However, this is only a patch, not a viable solution.

It conflicts with Arduino's library， We will change the header file of our library,

It is logical that we use these header file names, but for some reasons, we need to make some concessions.

Great!

@rei-vilo  Have you tested the latest software? I think the problem has been solved.

That was fast!
New release works fine, no more conflicts with other BLE libraries.
Actually, the library isn't listed in the Sketch > Include library > Manage libraries.... See #2.
Thank you!


.use() is not a function (?)

Hi, I tried to use this, but when copy-pasting the example from the readme, I get
TypeError: (intermediate value).goto(...).use is not a function

If I use vo() and yield, I get a slightly different message but I'm pretty sure it's the same issue:
[TypeError: Nightmare(...).goto(...).use is not a function]

was .use() removed from the nightmare API or something?

Yes, I think they removed it in their new version.


Unknow function: getcurpos   when auto complete "Springframework annotation"

I try to complete @ResponseBody annotation, vim prompt followed error
Error detected while processing function <SNR>54_HandleTextChangedI:
line    2:
E117: Unknown function: getcurpos
Press ENTER or type command to continue
Error detected while processing function <SNR>54_HandleTextChangedI:
line    2:
E15: Invalid expression: getcurpos()
Press ENTER or type command to continue

@lazywhite your vim is too old. please update vim.

upgrade macvim solved this problem, thx


Investigate high AWS bill

Our AWS bill reached $250 this month and is increasing rapidly. Quick glance shows it's for data transfers... Since we are on Heroku, need to investigate why we are spending so much on AWS data transfers.

Fixed https://github.com/opencollective/frontend/pull/109

Still happening, and it's increasing.

Those two PR should help:
https://github.com/opencollective/opencollective-api/pull/1046
https://github.com/opencollective/opencollective-api/pull/1045
Closing this now. Let's reopen it if bill doesn't go down.


change upwinding default to none

Let's rebase/squash this first

Yes for some reason I messed up the git history. It should be good now.

bors r+

I just realized, can't we also increase the timestep for central differencing?

I just realized, can't we also increase the timestep for central differencing?

We have been using 400s for central for dry cases and I remember that’s close to the largest dt we can have. For moist cases we have been using 200s, but I haven’t tried to push it with central. Jia is running some simulations, we’ll see if we can increase it.
I did forget to change the dt back to 400s for the dry case with high top in the longrun though. Could you change it in your PR?


Add python to code blocks

Hey @kartik4949!  Just a heads up, this will enable syntax highlighting which will make the readme much more readable!  Hope this is helpful!

@LukeWood this is useful :)
thanks a lot :)


use stub data and switch to graphql for variant update

 Modernize "Auto-generate SKUs", and update to allow numbers in generated SKUs


Go to specific stage

How would you programmatically go to a specific stage?

you can use context.setStage('nameofstage', direction /*either 1 or -1*/) (notice that this is an async function)

Awesome thanks!

On Oct 7, 2017, at 10:37 AM, Paulo Cesar<EMAIL_ADDRESS>wrote:
you can use context.setStage('nameofstage', direction /either 1 or -1/) (notice that this is an async function)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


bugfix: check nvidia-smi exists before run nvidia-smi -q -x

Bugfix for #1095
Run command which nvidia-smi to check exists of nvidia-smi, preventing the health-check error.

Coverage decreased (-2.8%) to 52.096% when pulling fba42f3e45a0160e3b67ae2fa496e6121b09827b on shawntian90:bugfix/prometheus_exporter into ae6f7d520d9891876ffbc5d7ae1399395bd9df5b on Microsoft:master.

#1095

@xudifsd
I found that source of pai, gpu_exporter.py, mixed with camel style and snake case, even in one file.
CamelCase
for gpu in gpuList:
        minorNumber = gpu.getElementsByTagName('minor_number')[0].childNodes[0].data
        utilization = gpu.getElementsByTagName("utilization")[0]

        gpuUtil = utilization.getElementsByTagName('gpu_util')[0].childNodes[0].data.replace("%", "").strip()
        gpuMemUtil = utilization.getElementsByTagName('memory_util')[0].childNodes[0].data.replace("%", "").strip()

snake_case
logger.info("call nvidia-smi to get gpu metrics")

smi_output = utils.check_output(["nvidia-smi", "-q", "-x"])

return parse_smi_xml_result(smi_output)

Is there any reason for that?

@shawntian90 Hi, it is not a deliberate result, previous service maintainer uses camel style, but since PEP-8 recommended underscore style and I personally favor it, I gradually change them into underscore style.


Added new intent:Unit conversion

PR #71
I have added new intent Unit Conversion. Please check it and merge it as well because you @TeAmP0is0N have not given score on my profile page of GSSoC20 . I hope u understand.
Please check it @TeAmP0is0N .

Tests are failiing: https://travis-ci.org/github/the-vision/jarvis-core/builds/677180519

@csharp489 tests are failing. Do the necessary changes and commit your changes after checking it to your local development.

@csharp489 tests are failing. Do the necessary changes and commit your changes after checking it to your local development.

@csharp489 Are you working on it?

Closing due to inactivity.


If msgid has an associated "msgid_plural", the translation is not stored in the po file

To add more to this:
The admin UI, doesn't expect msgid_plural, it expects two separate msgids, one for plural and one for singular, otherwise it won't translate plural model names, eg in section titles.

1.2.0 released with this fix


Lift the requirement of pre-shared keys of seed nodes

Essentially, the membership protocol now knows that a peer is the tuple (node id, network address), which the handshake protocol is obliged to return us (or an error if it doesn't support establishing a channel without a PSK, and none is provided).

There is one issue with this approach: it is no longer possible for the interpreter to extend the Peer type without also changing the membership code (or tying a conversion function into the state-keeping mechanism). It seems preferable to impose a weaker constraint on the HyParView monad:
class HasNodeId a where
    type NodeId a
    nodeId :: (Eq (NodeId n), Hashable (NodeId n)) => a -> NodeId a

class HasAddr a where
    type Addr a
    addr :: (Eq (Addr a), Hashable (Addr a)) => a -> Addr a

joinAny :: [(Maybe (NodeId n), Addr n)] -> HyParView n ()
joinAny = ...

@kim That seems reasonable -- typeclasses and type families to the rescue 😁

Aww, but it's more complicated than that: I still need to specialise to some Peer nodeid addr, as otherwise we may unnecessarily hash a big structure for the HashSets/HashTables. So it'd be more the traditional "classy lenses".

That last idea turned out to be a very elaborate way of implementing id, so I'm going with the "field lenses" approach. @adinapoli-mndc mind having another look?


General Improvement Ideas

sub pages for member rosters,
sous events
blog eventually that could indicate interesting developments for cookbooks
links to presentations / sessions (ChefConf, Foodfight etc.)

Blog is going to be covered by #9