Implement JSON Configuration Field

The JSON configuration field needs to be implemented so that the format of the output can be configured by the client. There are several options mentioned in the README.md. However, some of the desired use and behavior probably push toward a solution based on a union of a struct and a uint64_t that can be expressed as a number in the style field of the fmtster format. Some considerations:

There needs to be a default style.
The default style needs to be chosen by passing 0 (or empty) in the style field of the fmtster format. 0 is important to ensure that the type of the style field can consistently be a uint64_t, which cannot represent a blank entry.
A value corresponding to a style needs to be able to be passed by the client, overriding the default style.
The default style will be configurable by the client, so that the same style value does not need to be passed into every call (or parsed by every call). (The method for the client to set the default has not been worked out.)
A structure containing all the configuration options would be easier for a client to use than constructing the
The configuration structure will almost certainly be modified in future updates.

The style options being considered focus on the format of the spacing between the JSON-defined elements. At present, std::pair<string, ???> is not supported, and any other type supported by {fmt} is not affected by fmtster. So for now, all fmtster output begins with a C++ Standard Library container. There are two types of these containers, as far as serialization is concerned:

Elements have a single value
Elements are a key/value pair

The first of these is formatted in JSON as a JSON array, delimited by brackets. At this point, it is believed that there are three portions of the output which require style options:
[ <opt a> value, <opt b> value <opt c> ]
The second of the types of containers is formatted in JSON as a JSON object, delimited by braces. At this point, it is believed that there are seven portions of the output which require style options:
{ <opt 1> string <opt 2> : <opt 3> value, <opt 4> string <opt 5> : <opt 6> value <opt 7> }
There are various choices for each of these, many of which overlap. The approach that will be tried first will be to combine these into a selection of choices for each  shown above. While the defaults of each of these will differ, the actual selection of choices will be the same for each. This means that some choices may not be appropriate for each , but the settings will be heeded anyway. Note that, because the choices are all the same, but the defaults differ, 0 will not be the default value for all these style options. This means that 0 will not be the default for each , so that the overall default value of the structure will not (via a union) map to 0. However, a value of 0 will be a valid setting, so some care will need to be taken to ensure no collision between a genuine style value of 0 (extremely unlikely, but nevertheless possible) and the intent to use 0 as a sentinel to represent whatever the current default style would be.
The choices for each field will be as listed below. There are currently 10 choices that make sense. These can be contained in four bits each. There may be up to four more  fields added (much more likely to be just two, if at all), so the maximum number of four-bit options looks like it should be 14. 14 x 4 = 56. 56 bits fit within a 64-bit uint64_t with 8 bits remaining. It is the intention to use the remaining bits to represent some special circumstance style options, e.g. fitting a single element JSON object onto one line.
   spc/
\n tab ws ws
 0  0  0  0  - nothing
 0  0  0  1  - RESERVED
 0  0  1  0  - spc
 0  0  1  1  - spc spc
 0  1  0  0  - RESERVED
 0  1  0  1  - RESERVED
 0  1  1  0  - tab
 0  1  1  1  - tab tab
 1  0  0  0  - \n
 1  0  0  1  - RESERVED
 1  0  1  0  - \n spc
 1  0  1  1  - \n spc spc
 1  1  0  0  - RESERVED
 1  1  0  1  - RESERVED
 1  1  1  0  - \n tab
 1  1  1  1  - \n tab tab

\n represents a carriage return followed by indent (from the fourth format field) copies of the specified tab unit.
spc represents a single space
tab represents a single unit of the specified tab
Defaults at present look like they will be:
opt a: 1110: \n tab
opt b: 0010: spc
opt c: 0010: spc
opt 1: 1110: \n tab
opt 2: 0000: nothing
opt 3: 0010: spc
opt 4: 1110: \n tab
opt 5: 0000: nothing
opt 6: 0010: spc
opt 7: 1000: \n

This should be roughly equivalent to Google's documented style for JSON.
Using bitfields in a struct fmtster::JSONStyle is what is expected to start (adding a base struct/class for code reuse in serialization will follow), and then adding a new template<> struct fmt::formatter<fmtster::JSONStyle> that will use a union of this structure with a uint64_t to create a string representation of the configuration that is passed in the style field of the format. (This will be more difficult until Add Recursive Brace Support is resolved.) The number will then be parsed and converted back into a fmtster::JSONStyle using the same union approach.
Note that a single bit must be added that is always true, in order to prohibit a uint64_t value of 0, which would conflict with the sentinel value of 0 used to indicate use of the default style.
Some decision points:

Which numerical format is best for the string?
How can we optimize the conversion to/from the string?

Future considerations:

How can the following special cases be optimally fit into 7 or fewer bits?

Empty array same as style (use )
Empty array on same line (no space): []
Empty array on same line (one space): [ ]
Empty object same as style (use <opt 1>)
Empty object on same line (no space): {}
Empty object on same line (one space): { }
Single value array same as style
Single value array on same line if not array or object (opt a: no space/space, opt c: no space/space)
Single member object on same line if value not array or object (opt 1: no space/space, opt 2: no space/space, opt 3: no space/space, opt 7: no space/space)
Multi-set to repeated keys
Multi-set to single key with array as value

See progress in https://github.com/HarmanFOSS/fmtster/tree/enhancement/27-new-JSON-style_union

With the merge of PR #30, the style is beginning to be added, with only tab character and count active.
PR #31 adds newline configuration (defaults to compiled system standard; overridable by the client)
Some groundwork is commented out in the test/benchmarking and enhancement/19-lru branches for actual JSON style configuration. But there is some question whether what is outlined above will accomplish the flexibility goal, and whether it can be implemented in as efficient a manner as first believed.


Prevent the wpt-runner from crashing by avoiding some panics

These are needed to make the wpt runner in the node bindings project work

Looks noce to me! The strategy for up/down mix is sensible indeed


Update SHA256 for rdkafka:1.4.0

Noted new SHA256 for librdkafka:1.4.0.

I think it would be dangerous to merge this without understanding more about why the sha256 changed; the upstream librdkafka repository could have been compromised.


Implement state machine in enodebd for Baicells 436Q

The initial prototype code has been adjusted and 436Q can talk and pass the configuration flow with enodebd.
There is a specific issue with tr069 end session state, which causes the radio to disconnect with ACS and reinitiate the communication with another Inform (breaks tr069 specs).
Baicells support engaged to help us resolve and explain the issue.
After that minor changes will be needed to adjust the state machine to not reset.
Anticipating minimal modification.

The state problem was resolved by implementation. On end session we should expect both empty posts AND informs from this radio device. Code adjusted and created here:
https://github.com/openEPC/magma/tree/feature/bai436q_dddf31981c
Please note: In its current form, the DP integration is being done as an explicit state in the 436Q state machine, which will notify DP of the radio enodebd state.
For MVP its ok.
Longer term, we should redo this mechanism, so that enodebd will have a separate thread that will update state of all CBRS radios in a bulk to DP, and receive a bulk reply.


Fixed " Get the user profile" sample

There was a little type in the java example

Thanks

No problem :)


Release the code about how to get the  cropped images

Copy the patched images into folder a and the cropped images to folder b ==> Could you release the code about how to get the  cropped images ?
Thank you ~

I had created a script to do the same. I'll add it to the repository soon. Thanks

@karanvivekbhargava  could you release the code process.py and split.py when we  need "Copy the patched images into folder a and the cropped images to folder b".
`Copy the patched images into folder a and the cropped images to folder b
python3 tools/process.py --input_dir a --b_dir b --operation combine --output_dir c
python3 tools/split.py --dir c
`

import matplotlib.pyplot as plt
from glob import glob

filelist = sorted(glob('testing/*.bmp')) # ('images/*.bmp')

for i in range(len(filelist)):
	img = cv2.imread(filelist[i])
	x = int(np.floor((img.shape[1]-256)/2))
	crop_img = img[0:256, x:x+256]
	# cv2.imshow("cropped", crop_img)
	# cv2.waitKey(1000)
	filename = 'testing_cropped_images/' + str(i) + '.bmp'
	# filename = 'cropped_images/' + str(i) + '.bmp'
	print(filename)
	cv2.imwrite(filename, crop_img)

You might have to make some changes to this @JianxiangWang . But this should do the trick, or give you an idea on how to do this.

@karanvivekbhargava do you need to crop images of the head will https://github.com/leblancfg/autocrop work, also I am looking to turn the whole process in google colab

Is this code snippet supposed to crop the mouth region ?
If yes, do we tweak it manually to crop the mouth ?
Thanks for sharing

import matplotlib.pyplot as plt
from glob import glob

filelist = sorted(glob('testing/*.bmp')) # ('images/*.bmp')

for i in range(len(filelist)):
	img = cv2.imread(filelist[i])
	x = int(np.floor((img.shape[1]-256)/2))
	crop_img = img[0:256, x:x+256]
	# cv2.imshow("cropped", crop_img)
	# cv2.waitKey(1000)
	filename = 'testing_cropped_images/' + str(i) + '.bmp'
	# filename = 'cropped_images/' + str(i) + '.bmp'
	print(filename)
	cv2.imwrite(filename, crop_img)

You might have to make some changes to this @JianxiangWang . But this should do the trick, or give you an idea on how to do this.

Also could you please provide the steps (no code just how you went from images to cropped/patched to end result) it seems your readme file is missing some parts


Add support for grab of tabs

Note generated html should go in targetProject\src\main\webapp\public and use layout fragment to maintain nav and site look. See sample downloaded tabs.

Depends on Add support for gen of nav items for static pages. #41


Artemis 1373

Have the ldapLoginModule do role mapping for any artemis UserPrincipal present in the subject
support using kerberos to authenticate to ldap

The code looks good to me, but I'd love to see some documentation updates to go along with this.

I will push the doc updates directly if that is ok

It's really nice to have the documentation update on the same commit as the code update so it's easier to understand everything when looking back through the history.  However, if that's especially problematic for you then I'm fine with you pushing the doc update separately.

I will merge now.. @gtully can update docs later.


pip install pynvim fails on macOS M1 trying to build greenlet.

pip install pynvim fails trying to build greenlet.o
$ pip install pynvim
Attached is the log.  Below is the snippet showing the error
creating build/temp.macosx-11-arm64-cpython-39/src/greenlet       clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk<EMAIL_ADDRESS><EMAIL_ADDRESS>-c src/greenlet/greenlet.c -o build/temp.macosx-11-arm64-cpython-39/src/greenlet/greenlet.o       dyld: Library not loaded: @rpath/libclang-cpp.dylib         Referenced from: /opt/homebrew/bin/clang         Reason: image not found       error: command '/opt/homebrew/bin/clang' failed with exit code -6       [end of output] [log-install-pynvim.txt](https://github.com/neovim/pynvim/files/9247809/log-install-pynvim.txt)

It is not pynvim issue.
https://github.com/neovim/pynvim/issues/502

On a M1 mac, one should use the following command to workaround the issue:
pip install --no-binary greenlet pynvim

I'm getting a similar error:
stderr: Traceback (most recent call last):  File "<string>", line 1, in <module>  File "/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/neovim/__init__.py", line 5, in <module>    import pynvim  File "/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/pynvim/__init__.py", line 11, in <module>    from pynvim.msgpack_rpc import (ErrorResponse, child_session, socket_session,  File "/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/pynvim/msgpack_rpc/__init__.py", line 10, in <module>    from pynvim.msgpack_rpc.session import ErrorResponse, Session  File "/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/pynvim/msgpack_rpc/session.py", line 7, in <module>    import greenlet  File "/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/greenlet/__init__.py", line 29, in <module>    from ._greenlet import _C_API # pylint:disable=no-name-in-moduleImportError: dlopen(/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/greenlet/_greenlet.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '__ZSt20__throw_length_errorPKc'

when I check the file type of _greenlet.cpython-39-darwin.so, I get:
$ file ~/opt/anaconda3/lib/python3.9/site-packages/greenlet/_greenlet.cpython-39-darwin.so
/Users/jamie/opt/anaconda3/lib/python3.9/site-packages/greenlet/_greenlet.cpython-39-darwin.so: Mach-O 64-bit bundle arm64

which indicates to me that greenlet is compiled for arm64
I have tried different python versions (3.8, 3.9, 3.11) with the same result
I have tried uninstalling and reinstalling pynvim and greenlet using the command
pip uninstall pynvim greenlet
pip install --no-cache-dir --no-binary greenlet pynvim

but the problem persists for me. I am running up-to-date macos 13.2, with xcode commandline developer tools installed.
I am managing my python version using Anaconda, and I have neovim installed via homebrew.
nvim --version
NVIM v0.8.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/opt/homebrew/Cellar/neovim/0.8.2/share/nvim"

Run :checkhealth for more info

pip show greenlet
Name: greenlet
Version: 2.0.1
Summary: Lightweight in-process concurrent programming
Home-page: https://greenlet.readthedocs.io/
Author: Alexey Borzenkov
Author-email<EMAIL_ADDRESS>License: MIT License
Location: /Users/jamie/opt/anaconda3/lib/python3.9/site-packages
Requires:
Required-by: pynvim

Name: pynvim
Version: 0.4.3
Summary: Python client to neovim
Home-page: http://github.com/neovim/pynvim
Author: Thiago de Arruda
Author-email<EMAIL_ADDRESS>License: Apache
Location: /Users/jamie/opt/anaconda3/lib/python3.9/site-packages
Requires: greenlet, msgpack
Required-by:

Does anybody have an idea to point me in the right direction?

I resolved my issue by ensuring msgpack and greenlet and pip were installed through anaconda. This was by:
pip uninstall msgpack greenlet pynvim

conda install pip
Collecting package metadata (current_repodata.json): done
Solving environment: /
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:

  - defaults/osx-arm64::dask==2022.7.0=py39hca03da5_0
  - defaults/osx-arm64::distributed==2022.7.0=py39hca03da5_0
  - defaults/osx-arm64::anaconda==2022.10=py39_0
  - defaults/noarch::intake==0.6.5=pyhd3eb1b0_0
  - defaults/osx-arm64::sqlalchemy==1.4.39=py39h1a28f6b_0
  - defaults/osx-arm64::datashader==0.14.1=py39hca03da5_0
done

## Package Plan ##

  environment location: /Users/jamie/opt/anaconda3

  added / updated specs:
    - pip

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _anaconda_depends-2022.10  |           py39_2          69 KB
    anaconda-custom            |           py39_1           3 KB
    certifi-2022.12.7          |   py39hca03da5_0         151 KB
    greenlet-2.0.1             |   py39h313beb8_0         182 KB
    pip-22.3.1                 |   py39hca03da5_0         2.7 MB
    ------------------------------------------------------------
                                           Total:         3.1 MB

The following NEW packages will be INSTALLED:

  _anaconda_depends  pkgs/main/osx-arm64::_anaconda_depends-2022.10-py39_2
  greenlet           pkgs/main/osx-arm64::greenlet-2.0.1-py39h313beb8_0
  msgpack-python     pkgs/main/osx-arm64::msgpack-python-1.0.3-py39h525c30c_0

The following packages will be UPDATED:

  ca-certificates                     2022.07.19-hca03da5_0 --> 2023.01.10-hca03da5_0
  certifi                          2022.9.24-py39hca03da5_0 --> 2022.12.7-py39hca03da5_0
  openssl                                 1.1.1q-h1a28f6b_0 --> 1.1.1s-h1a28f6b_0
  pip                                 22.2.2-py39hca03da5_0 --> 22.3.1-py39hca03da5_0

The following packages will be DOWNGRADED:

  anaconda                                   2022.10-py39_0 --> custom-py39_1

Proceed ([y]/n)? y

It seems my issue has to do with ensuring that the compiler is the same between packages, and I guess python itself as well.
This stack overflow post helped put me in the right direction: https://stackoverflow.com/questions/35006614/what-does-symbol-not-found-expected-in-flat-namespace-actually-mean

With greenlet 3.0+, all supported pythons have universal (x86_64 + arm64) wheel files, so we can close this now.


v2: is Alloy Health supported out of the box?

Is the service integration "alloy" supposed to send all relevant data for the Alloy Health dashboard to be fully useful?
If not it's possible to add a specific "Alloy Health" integration to do so as an option?

Probably related to #880 ?


Can't reach the local site

$ docker run --name gophernotes --net host -it dwhitena/gophernotes:latest
[I 09:52:12.780 NotebookApp] Copying /.ipython/kernels -> /.local/share/jupyter/kernels
[I 09:52:12.790 NotebookApp] Writing notebook server cookie secret to /.local/share/jupyter/runtime/notebook_cookie_secret
[I 09:52:12.860 NotebookApp] Serving notebooks from local directory: /
[I 09:52:12.860 NotebookApp] 0 active kernels
[I 09:52:12.860 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 09:52:12.860 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 09:52:12.860 NotebookApp] No web browser found: could not locate runnable browser.

and when stopping:
^C[I 09:53:45.030 NotebookApp] interrupted
Serving notebooks from local directory: /
0 active kernels
The IPython Notebook is running at: http://localhost:8888/
Shutdown this notebook server (y/[n])? ^C[C 09:53:46.720 NotebookApp] received signal 2, stopping
[I 09:53:46.720 NotebookApp] Shutting down kernels

$ docker version
Client:
 Version:      1.10.0
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   590d510
 Built:        Fri Feb  5 08:21:41 UTC 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.0
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   590d5108
 Built:        Thu Feb  4 19:55:25 2016
 OS/Arch:      linux/amd64

I assume it's because the NotebookApp tries to find its own server by pinging localhost, which on OS X using boot2docker or dlite does not make sense as the guest's container runs inside a VM rather the host.

There is not a browser installed in the container, but it should run the notebook server on port 8888 of localhost because that port is exposed by the container.  You should be able to run the container as a daemon (with the -d flag). Then navigate to localhost:8888 in your browser.  See the docker installation instructions in the README for the docker command.

I guess I was misunderstood. I tried to reach the notebook, but as OSX Docker installation are not running on localhost but rather in a VM the IP is different, and the log output indicates it tries to verify something by pinging localhost:8888; see no web browser found. Could not locate runnable browser. Neither interactive nor daemonized work.

I will close this issue for now. This has to be something wrong on my side, as I can curl it from within the container. Still very strange as it's the first time I encounter this.

Thanks for the clarification @djui.  That makes more sense.  Did you try visiting the VM's IP at port 8888?  Maybe the VM is not exposing that port?
Another option is installing locally on the VM.  Is it possible for you to install Jupyter directly on the VM and then follow the local install instructions?
Sorry for the difficulties and let me know what happens!

Yes, curling from within the guest VM works fine. So I think it has to do with how and which address the Tornado server is binding (e.g. localhost vs <IP_ADDRESS> might make some sense). For example, I can run a simple Python server or this tornado example perfectly fine. So there must be something unusual with how the Anaconda images was build.
I did install it locally, but just the libzmq dependency installs more dependencies on my system that I want  to keep around, therefore I think the Dockerized version is a nice tidy alternative.

Hmmm.. Yeah, makes sense.  And yes, I love how docker keeps everything tidy.    When I do that I will look a little more into this issue and test on a VM.  Let me know if you figure anything out.

Sorry for the spamming, found the solution, like I thought. The following works:
$ docker run -d dwhitena/gophernotes jupyter notebook --ip=<IP_ADDRESS>

Test:
$ curl -i http://docker.local:8888
HTTP/1.1 302 Found
Date: Sun, 07 Feb 2016 21:55:33 GMT
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Location: /tree
Server: TornadoServer/4.3

I assume this should be an issue with all OSX Docker Machine / Dlite users. So if you can reproduce this, please add a hint to the README if you think it's appropriate.

Thanks @djui.  Added to the README.

I'm experiencing the same issue on both Windows 10 and Ubuntu 14.04 using the docker install.
By the same issue I mean: nothing on localhost:8888 and error messages in the log file pertaining to "no web browser found".
I managed to get it running finally by using the command:
docker run --net host -d dwhitena/gophernotes jupyter notebook --no-browser --ip=<IP_ADDRESS>
Using that command I can browser to :8888 and there's a Jupyter install available. I can create Python notebooks and everything runs perfectly. However, if I create a golang notebook, whenever I attempt to run (perfectly correct) code from one of the code blocks, it tells me the kernel's dead and restarts the kernel.
I can create a separate ticket if need be though the --no-browser flag was integral to getting it to run under docker for me (which seems at least tangentially related to this ticket).
Here's what I'm seeing:

@P1xt Thanks for trying out the notebook and contributing feedback!  I think your issue is actually the same as described here: https://github.com/gophergala2016/gophernotes/issues/15
Because the notebook is interactive you don't need to define package main or a function main.  This will currently result in an error.  The intention is to code interactively without needing to do such things as shown in the examples:
https://github.com/gophergala2016/gophernotes/tree/master/examples
Could you try something without those definitions to see if it works.  Just something like is in the examples or even just 1+1 or test := "test".  These should evaluate independently without defining a package or function.  All that being said, we need to add some handling for times when package main or function main are defined within the notebook.
Also, note that imports are handled in the notebook via :import.  See the README for more information on those commands.

@P1xt Also, good to know about the --no-browser flag.  I will add this to the docs.

@dwhitena Brilliant! Once I fixed the import and yanked out the function and package definitions it worked perfectly! I'm so sorry for not reading through the examples more closely.
And yes, the "no-browser" flag was instrumental in getting it setup.
Very nice work, btw, thank you for making jupyter notebooks work for golang - it's immensely helpful.

@P1xt Awesome! Great to hear.   Like I said, we should work on a way to handle that error.
Thanks for the feedback and I hope you enjoy it.  Any more feedback or other issues are appreciated, and I hope this helps some people in their work/play.

Sorry i am a beginner in docker ,
I try to using docker with this,but i try to follow the README.
but it doesn't work i have no idea to  resolve this  issue.
＄ docker version
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.6
 Git commit:   20f81dd
 Built:        Sat Mar 12 04:07:44 UTC 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      linux/amd64

When i run i cant enter lcoalhost:8888
$ docker run --net host -d dwhitena/gophernotes jupyter notebook --no-browser --ip=<IP_ADDRESS>
360b93e63272ec33ce4885bfb712986d0425cf920df15d23a4c4c211b547494e
$ curl -i http://localhost:8888
curl: (7) Failed to connect to localhost port 8888: Connection refused
$ curl -i http://docker.local:8888/
curl: (6) Could not resolve host: docker.local

Thank you for ur reading.

Try running docker in the terminal and see if it mentions an IP address in the startup text - this is what worked for me, localhost didn’t work but docker actually told me what IP to use when it fired up.

On Mar 19, 2016, at 12:36 AM, sudoliyang<EMAIL_ADDRESS>wrote:
Sorry i am a beginner in docker ,
I try to using docker with this,but i try to follow the README.
but it doesn't work i have no idea to resolve this issue.
＄ docker version
Client:
Version:      1.10.3
API version:  1.22
Go version:   go1.6
Git commit:   20f81dd
Built:        Sat Mar 12 04:07:44 UTC 2016
OS/Arch:      darwin/amd64
Server:
Version:      1.10.3
API version:  1.22
Go version:   go1.5.3
Git commit:   20f81dd
Built:        Thu Mar 10 21:49:11 2016
OS/Arch:      linux/amd64
When i run i cant enter lcoalhost:8888
$ docker run --net host -d dwhitena/gophernotes jupyter notebook --no-browser --ip=<IP_ADDRESS>
360b93e63272ec33ce4885bfb712986d0425cf920df15d23a4c4c211b547494e
$ curl -i http://localhost:8888
curl: (7) Failed to connect to localhost port 8888: Connection refused
$ curl -i http://docker.local:8888/
curl: (6) Could not resolve host: docker.local
Thank you for ur reading.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/gophergala2016/gophernotes/issues/6#issuecomment-198639034

@P1xt  Yes, i running docker in my iTerm2 (zsh)
but i found a solution about this issue
I see my docker-machine setting
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://<IP_ADDRESS>:2376"
export DOCKER_CERT_PATH="/Users/Liyang/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default

and i can using the notebook !
 $ curl -i <IP_ADDRESS>:8888
HTTP/1.1 302 Found
Date: Sat, 19 Mar 2016 11:05:11 GMT
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Location: /tree
Server: TornadoServer/4.3
```)

@sudoliyang Awesome!
I was right where you are in the process a couple days ago. Two notes: you don't need a package or main function declaration and you need to use ":import" (with a colon) instead of "import".

@P1xt  OK , Thank you for your help !  😃


pull request for e2e test at 01/26/2017 16:26:11

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add some explanation for gcloud usage in getting started guide

Im following the getting started tutorial and I've stumbled on step 3:
gcloud compute disks create mysql-disk --size 200 --type pd-standard
This prompts an error: "The required property [project] is not currently set."
This is my first attempt at getting a distributed environment up and running, and this step is particularly confusing.
I'm now about to create a project within my google account - but still I wonder how my Google account (and cloud project there), the to-be-created disk image and the server are related to each another.
Will be great if there were 1-2 more sentences explaining this step. Any also, is it possible to do this step without gcloud at all?

Did you try gcloud init? That should set up your environment. I think you could pass in a --project argument as well but I never have to do it since gcloud remembers the project I've been using. More info on gcloud can be found here -- https://cloud.google.com/sdk/docs/quickstarts

Added some instruction pointers in point 1 here - http://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/1.1.0.RC1/reference/htmlsingle/#_deploying_streams_on_kubernetes
Closing for now, please reopen if you have other suggestions for improving this.


Add markets feature in batch(free strings)

see screens from Sonja's ppt

Markets should be presented in Product, right?


Multiple lines positioning.

Hello
I really like this plugin as its perfect for a small project i'm working on. Does 95% of the job very well except for 1 little issue. I have a fixed menu on the left which can be expanded / collapsed as desired. When this menu expands / collapses, the lines become disconnected with their elements. If it were 1 line i would have used the position method to update its position. but i will have 10s of lines between different elements. How can i update position of all these at once when menu is opened / closed? I have the screen shots attached to show before and after menu opens and closes.
Also, i want to add some extra classes to the SVG elements (add to leader-line class). How can i do this?
Thanks for your help and support.

Hi @saieen, thank you for the comment.
Sorry, do you mean that you want to update the position without the position method?
And, why you don't use the position method?

Hi @saieen, thank you for the comment.
Sorry, do you mean that you want to update the position without the position method?
And, why you don't use the position method?

Hello
I do want to use the position method but your examples show it for 1 line (line.position()). But as you can see in the screen shots, i have 4 lines (and there could be as many as 100 lines at any given time). How can i use position on all these 4 lines whenever document / window is resized?
Thanks!

The position is fixed automatically when the window was resized. You don't have to do anything.
You should call the position method only when elements were moved without resizing the window.
You can call the position method regardless of the number of lines.
For example, 4 lines:
line1.position();
line2.position();
line3.position();
line4.position();

Try this to add a class to the SVG element:
// After the line was created
document.querySelector('.leader-line').classList.add('foo');

Note that it is not supported.
Also, you should consider compatibility for classList.
See: https://github.com/anseki/m-class-list

Thanks. I will definitely look into these.
Regards
WMA.

I'm glad if I could help you. :smile:
Could you close this issue if it was solved?

:cry: No reply came, then I close this issue.

Sorry brother. Was budy with some urgent work so forgot to close the thread.
Thank you very much for your help and support.
Much appreciated!
Regards
WMA.
On Thu, Dec 20, 2018 at 8:13 PM anseki<EMAIL_ADDRESS>wrote:

😢 No reply came, then I close this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/anseki/leader-line/issues/36#issuecomment-449199204,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AryGml_7g9Ri_630iCSoKpnj_FY9oK7Lks5u7DWdgaJpZM4ZVBY_
.

:relaxed::ok_hand:

@anseki
Hi, My requirement is to delete multiple lines at a time.  How do we select multiple lines to delete in leader line

Hi @Mahesh9959-mahi, thank you for the comment.
Could you make new issue for another topic?

Sure


Revert "persistence-administrator: add GCC 8 fix"

This reverts commit 828ca6a289ad908e253737c1af133ced2eb39305.

@sashko

@sashko

there is a button for that.


[ARCH] Introduce NestedMsg to robustly handle nested-tuple analysis

Relax support nested tuple structures in the IR. Nested tuple structure is important to support advanced groupings in cases such as gradient calculation and other scenarios.
The possible presence of nested tuple does mean that we need to to robustly handle analysis that contains nested tuple structures in a dataflow graph.
This PR introduces a NestedMsg class that corresponds to a possibly nested message tuple for a given leaf message class T. We also introduces various helper functions to compose and decompose messages.
We would like to note that such data structure is necessary to robustly handle analysis for programs that can contain nested tuple patterns regardless of the normal form -- this is because some of the sub-functions(such as split, concat) can also take/consume tuples. To enable flexibility we also want to avoid restricting the possible nesting levels in tuple types.
We provide concrete recommendations on how to write simple and robust message passing based program analysis using NestedMsg
On a forward propagation message passing analysis:

Create map [leaf=>NestedMsg[T]], scan forward
input_msg = [MapToNestedMsg(x, lookup_map) for x in call->args]
output_msg = ForwardProp[call->op](input_msg, call)
map[binding->var] = output_msg
Use MapToNestedMsg to remap the remaining body.

On a backward propagation message passing analysis:

Create map [var=>NestedMsg[T]], scan backward
output_msg = lookup map
handle case when output_msg is null
input_msg = BackProp[call->op](out_msg, call)
for arg, msg in zip(call->args, input_msg), DecomposeNestedMessage(arg, msg, lambda var, m: update_map(var, m))
update_map(var, m) => CombineNestedMessage(map[var], m)

Thank you @YuchenJin for your comments, I have addressed them accordingly

Thank you @tqchen! What passes in Relax do you think would need to change to use this Nested tuple structure? (I think we didn't consider too much about the nested tuple situations when writing passes.)

I don;t think the passes right now would need a change. But future passes like layout rewrite, nemory tag propagation or other passes that leverages message passing can make use of this data structure


Wrong password on login that contains characters of actual password gives too much info

if a wrong password is entered that is close to real password an error is shown in popup that says:
"A user was found to match all plain text credentials however hashed credential "password" did not match.
This allows for hacker to know that they have right username and are pretty close on the password.
Looks like this is due to an exception thrown on the Auth::authenticate() call whereby the catch block does a Flash::error($ex->getMessage());
Requesting that the Flash error be more generic or even parameterized to where a message can be configured.

Actually figured out how to override the onSignIn()

@hbakkercg that message is only shown when debug mode is enabled for your project. Also, it has nothing to do with how "close" they are on the password, only that the password is invalid while the username is valid.


Reorganise ObjectClassification

The ObjectClassification class was originally intended to handle informal (and potentially hierarchical) classifications, such as the high-level classification used by the SYNTHESYS+ Collections Digitisation Dashboard (https://rebrand.ly/synth-cdd) across biological and geological domains. It's gained a number of taxonomic and other properties that don't really fit this use, and might be better moved. Some suggestions:

Move period and material to ObjectGroup
Use the Taxon class from DwC and suitable instead for taxon terms identified
Add properties for informal hierarchy of classification to ObjectClassification
Reconsider the class name, and make sure the definition is clarified

I've carried out the actions above. Still some thought about whether the class name is the most appropriate though, I think.


how to insert a row without a value

I can't see a way in the insert examples to insert a row without a value. Sometimes we do this to generate a row with an incremented primary key and use that key to create a relationship between 2 tables for easy joins for tables that contain different fields that have releationships in the same table. Is there a way to insert without a value? I don't have the option to create a trigger because I need to support multiple databases.

Yep this is currently not supported out-of-the-box but will be easy to add in for the next release.

hope this feature can be added soon

the following code is ugly:
    var sql = squel.insert().into(table);
    if (Object.keys(sets).length > 0) {
      sqlSets(sql, sets);
      sql = sql.toString();
    } else {
      sql = sql.toString() + ' () VALUES ()';
    }
    that._conn.query(sql, next);


Default 'escaping' of field output in Twig.

In Bolt 3, if you do {{ record.fieldname }}, it'll output HTML. At the same time, it's not explicitly defined how it should behave. One of the causes of this is how the fields are stored internally.
We should make sure that Bolt 4 does this sensibly, consistent and robust. In my opinion, it should work like the following. Let's say we have a title field, with a  tag in it.

In Twig we should be able to do:

{{ record.title }}

{{ record.title|raw }}

{{ record.title|e('html') }}

{{ dump(record.title) }}

{{ dump(record.title.getValue()) }}

And it should output:

This way, the implementor can use {{ record.foo }} and get the HTML output they expect 90% of the time, and at the same time, you still have access to the underlying data structure to do with it what you need.

@bobdenotter What does happen there when you add to field ? :)

IMO, since Bolt is a WYSIWYG editor, if an admin puts Something in a text or textarea field, he should see Something on website. That's because this type of field was not made to store html data but raw text.
On the other hand, if the field has type of html, as admin expects html output on website, so he should see Something.
BUT we could add an option to make simple text field behave as html one (e.g. a field to paste some js stuff). Example:
ga_script:
    type: text
    safe: true # default: false

@stryxx Bolt 3 had a whitelist-based filtering for HTML-like fields, where input would be sanitized before going into the database. In Bolt 3's config.yml, you had:
# Define the HTML tags and attributes that are allowed in 'cleaned' HTML. This
# is used for sanitizing HTML, to make sure there are no undesirable elements
# left in the content that is shown to users. For example, tags like `<script>`
# or `onclick`-attributes.
# Note: enabling options in the `wysiwyg` settings will implicitly add items to
# the allowed tags. For example, if you set `images: true`, the `<img>` tag
# will be allowed, regardless of it being in the `allowed_tags` setting.
htmlcleaner:
    allowed_tags: [ div, span, p, br, hr, s, u, strong, em, i, b, li, ul, ol, mark, blockquote, pre, code, tt, h1, h2, h3, h4, h5, h6, dd, dl, dt, table, tbody, thead, tfoot, th, td, tr, a, img, address, abbr, iframe, caption, sub, sup, figure, figcaption ]
    allowed_attributes: [ id, class, style, name, value, href, src, alt, title, width, height, frameborder, allowfullscreen, scrolling, target, colspan, rowspan ]

This meant that


add link to eslint-plugin-vue-test-utils to readme?

This is not a super conventional way of asking this, but it's the easiest way I know of to get in touch. I recently published eslint-plugin-vue-test-utils to help with best practices and fixing deprecations for VTU. I'd love to get more of the community using it and contributing to it - is it worthwhile/valuable to add a link to the project from VTU's readme? (given that most of the rules help with fixing v1 deprecations - maybe a link in the VTU 1 -> 2 migration guide?)

Sure thing, we can link to it from the docs and/or README. Let's make a note it's a third party library, so people don't report issues relating to it in this repo, but the correct one.

sweet. I will open a PR Soon (tm) - hopefully next week if I can find a spare moment.


Remove PHP 7.3 from CI matrix

We're on 7.4 on platform.sh, and will be upgrading from there, so testing on 7.3 doesn't buy us anything.

Can add PHP 8.2 once we get builds working for 7.4 :)

the issue is the XDEBUG_PATH_WHITELIST constant this should be XDEBUG_PATH_INCLUDE as of xdebug 3
adding sed -i 's/XDEBUG_PATH_WHITELIST/XDEBUG_PATH_INCLUDE/g'  build/xdebug-filter.php to composer.json should solve this:
   "coverage": [
      "phpunit --dump-xdebug-filter=build/xdebug-filter.php",
      "sed -i 's/XDEBUG_PATH_WHITELIST/XDEBUG_PATH_INCLUDE/g'  build/xdebug-filter.php",
      "phpunit --coverage-clover=build/logs/clover.xml --coverage-text --prepend=build/xdebug-filter.php"
    ],


Disabling the attractors at will.

Hey so I'm working on creating body orbits which pull certain other bodies towards them.
I've managed to create the code that allows some bodies to only exert forces on certain other bodies but right now my orbits don't work properly as the forces are constantly being applied to the attracted ones even after they reach the desired orbit (range away) around the attractor.
Is there a built-in sleep switch for matter-attractors? If not can you maybe point me in the right direction where I could implement such a feature myself within your project? This would really come in handy as the device that I'm coding this for doesn't have a lot of processing power (it's a table top AR projector) and I want to make the app take up the least amount of CPU time possible.
Thanks!

I would also like to know if this is possible.


Show new PR status message only for repos with beta feature enabled

Also - use new nested hash structure to get issue counts from the event payload.
https://trello.com/c/f17uUGRd

@codeclimate/review

LGTM other than reference to "beta"

:+1:


App crashes after adding flutter_facebook_login 1.2.0

I'm adding facebook login into my app and I have already added facebook login into my 2 previous apps, but this time after adding the plugin my app is crashing immediately I run it and this following error message comes in the console.
Launching lib/main.dart on Moto G 4 in debug mode...
Initializing gradle...
Resolving dependencies...
Gradle task 'assembleDebug'...
Built build/app/outputs/apk/debug/app-debug.apk.
Installing build/app/outputs/apk/app.apk...
Syncing files to device Moto G 4...
Lost connection to device.
Error writing "build/flutter_assets/AssetManifest.json" to DevFS: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:46577/
Error writing "build/flutter_assets/FontManifest.json" to DevFS: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:46577/
Error writing "build/flutter_assets/LICENSE" to DevFS: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:46577/
Error writing "build/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf" to DevFS: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:46577/
Error writing "build/flutter_assets/fonts/MaterialIcons-Regular.ttf" to DevFS: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:46577/
And I don't know who's uri, it is.
and I'm trying to add this plugin into a fresh project with version 1.2.0,
I have also adding multiDexEnabled true into my app lvl gradle.
Please help me to solve this problem, Thanks in advance.

So I have run,  flutter clean and my problem got solved.

I have this problem but it does not solve your solution any ideas?


ipf: Handle padded first fragments.

This patch modifies system-traffic.at at points of some long lines, that results in the patch getting corrupted by gmail by the time it reaches patchwork. Hence, I am submitting as a pull request.
commit 7d8aeabff4253677b8ba889f80f0d2dfabfaa333

I believe this PR was accepted upstream, in an updated form, as:

packets: Change return type for 'packet_csum_upperlayer6()'.
https://github.com/openvswitch/ovs/commit/5be00cf9cb62
ovn-controller: Provide the option to set the datapath-type of br-int
https://github.com/openvswitch/ovs/commit/8ba510bf7946
AUTHORS: Add Matthias May.
https://github.com/openvswitch/ovs/commit/f01f75a0bc0b
rstp: add ability to receive VLAN-tagged BPDUs
https://github.com/openvswitch/ovs/commit/f2f78d5c8c8c
ovsdb_monitor: Fix style of prototypes.
https://github.com/openvswitch/ovs/commit/be0845957694


HAI-2315 Calculate kaivuilmoitus traffic nuisance indexes when the application is updated

Description
When kaivuilmoitus is updated, new traffic nuisance indexes are calculated for its work areas. Calculated results are stored in database and returned for API endpoint caller.
Jira Issue: https://helsinkisolutionoffice.atlassian.net/browse/HAI-2315
Type of change

[ ] Bug fix
[x] New feature
[ ] Other

Instructions for testing

With Swagger UI call the update endpoint: http://localhost:3001/api/swagger-ui/index.html#/hakemus-controller/update
You can use e.g. the same geometry which is used in the integration test:  https://github.com/City-of-Helsinki/haitaton-backend/blob/main/services/hanke-service/src/test/resources/fi/hel/haitaton/hanke/geometria/toinen_polygoni.json
API call should return filled tormaystarkasteluTulos for each work areas

Checklist:

[x] I have written new tests (if applicable)
[x] I have ran the tests myself (if applicable)
[ ] I have made necessary changes to the documentation, link to confluence
or other location:

Other relevant info
Please describe here if there is e.g. some requirements for this change or
other info that the tester/user needs to know.

KaivuilmoitusUpdateRequest.hasChanges compares the areas to see if there are any changes in the request. The tormaystarkastelutulos is a generated value that will be overridden, so it shouldn't be a part of the comparison, especially since the client doesn't need to send the old tormaystarkastelutulos in an update request.
A ticket should be made from this if it's not solved in this PR.

KaivuilmoitusUpdateRequest.hasChanges compares the areas to see if there are any changes in the request. The tormaystarkastelutulos is a generated value that will be overridden, so it shouldn't be a part of the comparison, especially since the client doesn't need to send the old tormaystarkastelutulos in an update request.
A ticket should be made from this if it's not solved in this PR.

I updated KaivuilmoitusUpdateRequest.hasChanges to ignore changes in Tyoalue.tormaystarkastelu.


[BUG]: elements.getElement("card") is always null

What happened?
Hi there,
I am creating a custom checkout flow with Stripe.js with PaymentIntent and Payment Element. I would like to update the transaction fee based on the card type e.g. Visa or Amex. I am trying to use elements.getElemnt("card") and hopefully it returns the CardElement so that i can listen to its "change" event then I can decide the card type. However, it returns null always.
Also I also noticed a beta program for a custom 2-step payment flow which it might resolve this. But I cant use it now.
So I am wondering is it a bug or there is a way i can achieve that I wanted to?
Much appreciate your time.
Environment
No response
Reproduction
No response

Hi @ldsenow! This looks like an integration question, and we aren’t able to answer those here on GitHub. Please reach out to Stripe Support for help. Thanks!

Apologies for the support issues, it's supported (source). Would you be able to provide a codepen to reproduce this behavior?


Add sync stages diagnostic script

What is this PR for?

Adds syncs stage section to the diagnostics service which fetches status from a remote database "chaindata" (table "SyncStage"). Data is decoded to utf-8 / number and shown in the table
DB path extraction logic was moved in order to reuse it in multiple handlers
"fetch" method moved to a separate struct (together with some added remote API-related helper methods)
Tests added for the newly added code (and some of the existing functions)

Great PR, thank you, will check further and merge soon, and contact you


When using freeze, cleanup and update phases are intermingled

Hi Adam, I know the project isn't active, but I'm tinkering with it while implementing a variation on the same idea and I think I found a bug in S. I'll leave it here if only for documentation:
const {data, freeze, cleanup, root} = S

root(()=>{
  const s1 = data(1)
  const s2 = data(2)

  const a = S(()=> {
    return "a:"+s1()
  })
  const b = S(()=> {
    s2()
    S(()=>{
      console.log("nested", a())
      cleanup(()=>console.log("cleanup", a()))
    })
  })
  freeze(()=>{
    s1(10)
    s2(20)
  })
})

Expected:
nested a:1
cleanup a:1
nested a:10

Actual output:
nested a:1
cleanup a:10
nested a:10

@pygy could you link to your project?
I am very interested in it but could not find it among your public repos on GitHub.

You can find the preliminary version here.
The API apes the blurry memory I had of S, but some bits differ, it may or may not converge to full B/W compat.
Some bits are entirely untested (even manually), this is very preliminary stuff. The lib is UI-oriented, and thus doesn't support reactivity when using circular references. In other words, you can't implement reactive loops like you can in S.
No idea about the performance either.


iptables.rule make duplicated rules

Describe the bug
iptables.rule make duplicated rules
To Reproduce
from pyinfra import host, logger
from pyinfra.operations import iptables, server, python
from pyinfra.facts.iptables import IptablesRules

facts = host.get_fact(IptablesRules, table="filter")
logger.info(facts) # previously added rules are well collected in the fact

iptables.rule(
    chain="INPUT",
    jump="ACCEPT",
    destination_port=22,
    protocol="TCP",
)
ipt = server.shell(["iptables -S"])

def cb(*args):
    logger.info(ipt.stdout)

python.call(function=cb) # we see duplication of the rule, one more at every run

Expected behavior
do not duplicate rules
Meta

Include output of pyinfra --support.
julien@L18448:~/infra$ pyinfra --support
--> Support information:
If you are having issues with pyinfra or wish to make feature requests, please
check out the GitHub issues at https://github.com/Fizzadar/pyinfra/issues .
When adding an issue, be sure to include the following:
System: Linux
Platform: Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.35
Release: <IP_ADDRESS>-microsoft-standard-WSL2
Machine: x86_64
pyinfra: v2.6
Executable: /home/julien/.local/bin/pyinfra
Python: 3.10.6 (CPython, GCC 11.3.0)

How was pyinfra installed (source/pip)?
pip3

Include pyinfra-debug.log (if one was created)

Consider including output with -vv and --debug.

    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 14), opHash=4ea1358dc0c6a2aa3901d41cae7ef6ed51d46600
    [pyinfra.api.facts] Getting fact: iptables.IptablesRules (table=filter) (ensure_hosts: None)
    [pyinfra.connectors.ssh] Running command on XXXXXXXXX: (pty=None) sudo -H -n sh -c 'iptables-save -t filter'
    [pyinfra.connectors.ssh] Waiting for exit status...
    [pyinfra.connectors.ssh] Command exit status: 0
    [pyinfra.api.facts] [XXXXXXXXXXX] Loaded fact iptables.IptablesRules (table=filter)
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 21), opHash=b1d1da4808a9765a47e35b9cfb13e271e108f5f0
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 28), opHash=532ac95b4b20704066d28335127cf7675d448182
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 35), opHash=b45b184215602c1ec68ee76d16d7b172e817506f
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 42), opHash=dcacca10d0098e2654c41fa3e5ea6f51f7b07533
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 48), opHash=74a57e31e500f612b4c98833d40f1e0f14865498
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 54), opHash=d0e52635295de97eac812cad251b939c9dbcb415
    [pyinfra.api.operation] Adding operation, {'Iptables/Rule'}, opOrder=(0, 61), opHash=bd136e609ea7db4400a09d2586f0e08866e5e5be
    [pyinfra.api.operation] Adding operation, {'Iptables/Chain'}, opOrder=(0, 71), opHash=93526d6ccb412894b7e4f7e6924144d680c7b301

very ugly workaround:
iptables.chain(chain="INPUT", policy="ACCEPT")
iptables.chain(chain="OUTPUT", policy="ACCEPT")
iptables.chain(chain="FORWARD", policy="ACCEPT")
server.shell(["iptables -F"])

@julienfr112
The issue is your deployment file has the protocol as all caps - TCP, but iptables changes this to lower case.  The code doesn't account for this so the rule is added again.
You can fix your deployment file by chaging tcp to all lowercase.
I've also created a PR to address this. https://github.com/Fizzadar/pyinfra/pull/937

Fixed by the PR above 🙏


GetWords can not get right BoundingBox().x and BoundingBox().y

for example
char[x,y,height,widthg]getConfidence()
有[193.0,438.0,29.0,28.0]99.415886
没[223.0,437.0,28.0,51.0]98.77193
有[900.0,0.0,0.0,0.0]99.5725
让[290.0,437.0,28.0,46.0]99.56392
the third “有” between "没" and "让",but BoundingBox().x is 900, BoundingBox().y is 0; use LSTM by Tess4j 4.0

Similar Issue - https://github.com/tesseract-ocr/tesseract/issues/1015

@zdenop, as Shree noted, this issue is same as #1015, so please close this one.


community: integrate with model Yuan2.0

integrate with Yuan2.0
update langchain.llms
add a new doc for Yuan2.0 integration

please do not update the langchain entrypoints! those are deprecated, should be imported directly from langchain_community

Thanks for your reply.
Is that mean, I don't need modify libs/langchain/langchain/llms/__init__.py?
and I should use from langchain_community.llms.yuan2 import Yuan2 instead of from langchain.llms.yuan2 import Yuan2, right?

please do not update the langchain entrypoints! those are deprecated, should be imported directly from langchain_community

Thanks for your reply.
Is that mean, I don't need modify libs/langchain/langchain/llms/__init__.py?
and I should use from langchain_community.llms.yuan2 import Yuan2 instead of from langchain.llms.yuan2 import Yuan2, right?

yes, exactly

@hwchase17 Hi, I fixed some errors, could you help to review it again?  Thanks for your time.

Sorry to bother you again. Could you tell me what your plans? May I know when the PR can be merged? I have other PRs depended on this feature. @hwchase17 @

Thanks for your approval, I can see some checks were failed. Should I do anything to pass all checks? @baskaryan

@hwchase17 I noticed that some checks have failed, and it seems there's nothing I can modify. Is there anything specific you would like me to do? BTW, now I can see this pr is approved by @baskaryan , and may I know your merge plan? I have some other work that depends on this pull request. Thanks you guys...

Seems like this pr was closed and reopened. Hope everything goes well...
We would greatly appreciate it if we could push this PR forward, as I can see, now 5 checks failed with some errors:
tests/integration_tests/llms/test_yuan2.py:2: in <module>
    from langchain.schema import LLMResult
E   ModuleNotFoundError: No module named 'langchain'

I have no idea why this would happen, any ideas? @hwchase17 @baskaryan

Any updates here? @hwchase17 @baskaryan


When writing Java code, why is the response speed of vscode java code prompt not as fast and efficient as that of Eclipse? Always wait for 1 second before appearing. . .

Issue Type: Bug
When writing Java code, why is the response speed of vscode java code prompt not as fast and efficient as that of Eclipse? Always wait for 1 second before appearing. . .


move constants of API to src/api.h

Signed-off-by: Lai Jiangshan<EMAIL_ADDRESS>

the types of the API will be refactored and moved to apitypes.h


Running from source under Windows and Linux giving different results

This is an odd one we can't figure out. The following is a world file (PE) and a schematic taken from a Java world.
brewing-stand.zip
TERRACOTTA-ISSUE--_2017-07-01--15-01-18.schematic.txt
(remove .txt extension)
Using the following blocks.json and terrain-pocket.png
https://github.com/PathwayStudios/blocks.json
https://github.com/PathwayStudios/terrain-pocket.png
If I open the world file in Windows and import the schematic into the attached world, it works as expected (the block IDs get converted from Java to PE IDs as defined in blocks.json, though does exhibit the data value bug we reported in issue #800  ).
Visual Result:

If I open the world file in Linux and import the schematic into the attached world, the block IDs don't get converted and I end up with a bunch of "Future Blocks"
Visual Result:

Both Windows and Linux are running from source using commit: b735277. I confirmed the same thing as of the latest commit (c847e91) as well, but since there seems to be some issues with that commit, I thought it was best using the older commit as the example.

Can i have exact instructions for running source

@NFGamerMC if you check the readme, it has detailed instructions on how to run from source using Windows, Mac, and Linux. Keep in mind, windows support doesn't really work since when you save the world, the seed, name, world type, and game mode gets reset.

@neonerz lokks like you don't have same definition files and/or same texture files on both systems.

OK, doing more testing, it's not a windows/linux thing, it just looked like it due to how you need to generate the bug.
Here's the two worlds I've been testing with
Java World:  Bug_World_2.zip
PE World:  concrete.zip
Schematic: Bug World_2017-07-03--17-37-23.schematic.txt
Updated blocks.json: https://github.com/PathwayStudios/blocks.json
Updated terrain-pocket.png: https://github.com/PathwayStudios/terrain-pocket.png
Steps to recreate the bug:

Open Java world (any java world will do, but you could use the one I provided to do the exact same steps as I am).
Without closing MCEdit, open PE world (any PE world will do, but like above, you could use mine to recreate my exact test)
Paste the provided schematic (the schematic includes 6 concrete blocks DVs 0-5)

The schematic gets pasted in correctly (asside from the issue I mentioned in #805 turning DV 1 into 0)
Now do the same thing, but don't open the Java world first.

Open PE world (any PE world will do, but like above, you could use mine to recreate my exact test)
Paste the provided schematic (the schematic includes 6 concrete blocks DVs 0-5)

The blocks don't get translated as they are defined in blocks.json. The are keeping the Java item ID of 251 (instead of PE Item ID236 like it does if you open a Java map first).
Basically, if you open a Java map up first (after initially opening MCEdit), then open a PE map (without closing MCEdit), it works. But if you open a PE map first (after initially opening MCEdit), it doesn't work.

I have more info about the bug. The issue can be seen in the logs. When loading up a PE world first, and trying to import the schematic, MCEdit doesn't seem to load all the blocks.json definitions.
See the following two mcedit.logs (renamed for your convenience)
mcedit_PE_load_first.log.txt
mcedit_Java_load_first_then_PE.log.txt
Starting on line 7180 in mcedit_Java_load_first_then_PE.log and line 3220 in mcedit_PE_load_first.log are where they are loaded.
In both instances, the loading seems to stop about most of the way through the definitions, but the version that was first opened with Java starts again and completes the whole file, while the one that was only ever opened in PE stops there.
Going by the missing definitions in the mcedit_PE_load_first.log, it seems to be:
Observer, Terracotta, Concrete, and Concrete powder that is effected.
Here's a diff displaying the differences: https://www.diffchecker.com/UxzxHlBu
Start from line 3370 in the left window. You could see both end at Frosted Ice, but then the one where a Java world was loaded up first (right window) restarts and loads all of the definitions.

I don't know how and when you're calling convertBlocks or convertFunc methods, nor which data you send them. So it's a bit confusing for me to know what happens exactly here...
The diff you provided shows almost 100% differences. Lines 19 (in both views) are different (quite casual, when instanced, objects get unique IDs). But the next lines, from 20 to 56 included, are the exact same, but are reported as different by the viewer. The lines 57 to 155 included are also the same, except the object IDs. I looked to the line 3370 you pointed, but considering above information, it's not really relevant, badly.
I think the tool you used used to create this diff view is a low level one. Try something like WinDiff. It can point differences within lines, and can find 'moved' lines.
Schematic format does not store the game version it is created from. So, it is not possible to guess block ID 1234 shall be converted to 4321 when importing.
The versionned data handling is basically implemented for now. That means a lot of MCEdit internal stuff uses the MCEDIT_DEFS and MCEDIT_IDS objects.
These objects are re-created when a world is loaded.
Each 'level' object stores the needed MCEDIT_DEFS and MCEDIT_IDS they need in the defsIds member. It is a MCEditDefsIds instance (look to id_definitions.py in pymclevel).
According to schematics do not store any version information and materials and blocks/entities/tileentities data which are attached at runtime, automatic conversion is not possible, unless a version tag is implemented in this format.
Also, each 'level' handles its own materials. It's the material member.
Changes about switching from generic MCEDIT_DEFS and MCEDIT_IDS to 'level' specific ones are on the way.

I don't think you are following what I'm saying. This isn't through my filter or anything like that, this is just plain mcedit from source. You should be able to easily reproduce it yourself.
It seems mcedit acts differently if you load a Java map first, or if you load a PE map first.
When you load a Java map, it seems to import blocks.json twice (as you've mentioned in the past, this is expected behavior) and loads all the definitions.
If you load a PE map first it only seems to import blocks.json once, and all the definitions don't get loaded.
Referring back to the diff I posted (https://www.diffchecker.com/UxzxHlBu)
The one on the left is when I load a PE world first, and the one on the right is if I load a Java world first , then without closing MCEdit load up a PE map (that's why they don't match up line for line).
If you scroll down to line 3220 on the left window, you'll see where the definitions get loaded. Lines 3211 to 3370 are the initial loading of the definitions, but as you could see it stops at "Frosted Ice". Now keeping at those lines, on the right window, you'll see the definitions also stopped at "Frosted Ice" but then the definitions get loaded again (the green section starting from line 7332 in the right window) and then at line 7478 you could see it gets to "Frosted Ice" a second time, but doesn't stop there and loads all the definitions.
I know this is a bit confusing to explain, but it's easy to reproduce if you follow the steps I wrote in this comment
If you'd like to chat live, I could demonstrate the issue to you. But like I said, it's very easy to reproduce.

I can see what happens here (since I finally found the way to port the diff stuff to another tool, it's more clear; anyway, thanks for the research :smile:).
The fact is shcematic format do not store the game version it comes from. So, when importing a schematic, there is no way to know which game version data to use. Regardless MCEdit internal conversion functions.
It is technically possible to add any NBT tag in a schematic, but MCEdit does not "own" this format. It is also used by game mods, and potentially by other programs.
Modifying this format on one side may lead to breakage on other ones...
Need to do some exploring on this subject...

I'm happy you were able to understand. It was a bit confusing what I was trying to explain, and I wasn't sure if I was clear.
Here's a wild idea, what if when exporting a schematic, instead of just having two options (.nbt and .schematic) you had three? Basically the same as .schematic but something along the lines of .schematicpe. That way when that schematic is exported mcedit could know if it was saved from a java world or a PE world. It probably isn't the best route, and could cause PEBKAC errors, but it's an idea.
Also a long shot, but could the #800 issue be related to this?

Your idea is not bad, but I think it's quite the same as storing game version in the schematic itself.
But it can be a good start.
Is relating this to #800 a rhetoric question?

@LaChal @neonerz Are you sure it is related to how it stores the blocks? I was able to convert completely different blocks to other completely different blocks, A.K.A Borders to Invisible Bedrock / Glass or Corse Dirt to other blocks such as stained clay or just regular dirt.

I keep crashing when saving PE worlds
Sent from my iPad

On Jul 17, 2017, at 5:42 PM, LaChal<EMAIL_ADDRESS>wrote:
I can see what happens here (since I finally found the way to port the diff stuff to another tool, it's more clear; anyway, thanks for the research 😄).
The fact is shcematic format do not store the game version it comes from. So, when importing a schematic, there is no way to know which game version data to use. Regardless MCEdit internal conversion functions.
It is technically possible to add any NBT tag in a schematic, but MCEdit does not "own" this format. It is also used by game mods, and potentially by other programs.
Modifying this format on one side may lead to breakage on other ones...
Need to do some exploring on this subject...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@NFGamerMC Are you using the latest source version?

AFAIK, converting blocks from a game version to another may work depending on which blocks are converted...
Some PE blocks aren't yet defined in our sources, and other ones may not have the right data vlue (or other internal data) defined correctly.
Also, as @neonerz pointed, depending on how you load worlds in MCEdit, the conversion can work or not.

I know some blocks aren't defined and some aren't defined properly, but when they are (made sure they matched up with the PE I'd dump list) it does this issue along with #800. It's weird, MCEdit should theoretically recognize all the blocks and convert them fine since your giving a definition of what blocks should convert to what, including the data variables.

Schematics do not include game version.
So, the definition of the blocks/entities for the game version of the schematic can not be loaded, nor retrieved in MCEdit definitions handler...

I know schematics don't include the game version, but the definitions I was talking about were on MCEdit's side, since those definitions translate what blocks are which to the desired game version

Once more, schematics do not contain game version, so MCEdit can't load the right data for schematics.
It's allright if you import a PC schematic in a PC world, or a PE schematic in a PE world, but, as you remarked, there are issues when importing PE into PC and vice versa.
Transferring stuff form PE to PC and vice versa is not a feature of MCEdit.

Ok, thanks for clearing it up 😃


Change bg color of full screen profile picture view

The background color being white will be better because when it is black, black parts of the picture are not visible. If it’s white, that will be better because on GitHub, if a profile picture is all white, you won’t see it, so no one has all white pictures.

so no one has all white pictures.

Found one: https://github.com/kuyan 😉
I agree, though, I'd like to see what a white background looks like.

For consistency, I'd keep the same gray background that's on the profile page.
What do you guys think about it?

I have found one user (can't locate now) that has a transparent image with gray as part of the image. When you examine the profile picture, you can only see the other colors (so just a diagonal line).

@CameronSamuels in that case, we will always have a problem with a transparent image using the same color as our background, isn't ?


iosRtc build error

Hi,
I  installed the iosRTC plugin as suggested in build documentation but when i am trying to build the project using "cordova build ios" its giving following error

but using  xcode 6.3.1  i am able to successfully build the project but still its not supporting webRTC.
please suggest me what to do.

Questions and problems in the mailing list, please.


Module/sequenza/1.0

Pull Request Checklists
Checklist for New Module
Required

[X] I used the cookiecutter template and updated the placeholder rules.

[X] The snakemake rules follow the design guidelines.

[X] Every rule in the module is either listed under localrules or has the threads and resources directives.

[X] Input and output files are being symlinked into the CFG["inputs"] and CFG["outputs"] subdirectories, respectively.

[X] I updated the final target rule (*_all) to include every output rule.

[ ] I explained important module design decisions in CHANGELOG.md.
Not yet. I'm new to this concept and could use some more guidance.

[X] I tested the module on real data for all supported seq_type values.
Genome test was a success

[X] I updated the default.yaml configuration file to provide default values for each rule in the module snakefile.

[X] I ensured that all symbolic links are relative and self-contained (i.e. do not point outside of the repository).

[ ] I labelled every value that should (or might need to) be updated in the default configuration file with UPDATE comments.

[X] I recursively searched for all comments containing TODO to ensure none were left. For example:
grep -r TODO modules/<module_name>/1.0

If applicable

[ ] I added more granular output subdirectories.

[X] I added rules to the reference_files workflow to generate any new reference files.

[ ] I added subdirectories with large intermediate files to the list of scratch_subdirectories in the default.yaml configuration file.

[ ] I updated the list of available wildcards for the input files in the default.yaml configuration file.

Do you prefer that I comment with suggested improvements? Or are you okay with me making commits to this branch and then summarize my changes (with rationales) in a comment here?

Feel free to make commits with rationale. Thanks

Summary of my changes
This is still a work-in-progress.

Removed print statements.
Revised default mem_mb amounts and moved all of them to the default config file.
Added threads (even if equal to 1) for every non-local rule and moved all of them to the default config file.
Removed params that only contained a single wildcard. You can refer to these in shell using {wildcards.tumour_id}, for example.
Wrapped long commands using oncopipe.as_one_line().
Removed any mkdir since snakemake automatically creates the output directories.
Created a seqz output subdirectory where the unfiltered and filtered SEQZ files will be stored.
Simplified output and log file names.
Moved calc_sex_status functionality into run_sequenza script.
Moved scripts from params to input files.
Created separate environments for the sequenza-utils Python package.
Stored these environment YAML files in the shared envs/ and created symlinks.
Created rule in reference_files workflow to create GC WIG file.
(WIP) Collapsed filtered and unfiltered rules.
(WIP) Use chromosome lists and genome build versions from reference_files workflow.
(WIP) Created rule to download dbSNP VCF from NCBI and derive POS version.
(WIP) Created conda package using forked version of the copynumber R package with support for hg38.
(WIP) Created separate environments for the sequenza R package.

Out of interest, if we always use Sequenza and sequenza-utils in the same workflow, what is the rationale for two separate conda environments?

In general, I've moved towards having package-focused environments rather than module-focused environments. The main reason is that packages can be versioned independently of one another, and the more specific environments can be re-used in different contexts. For example, I'm planning on adding rules in the reference_files workflow that will dynamically generate the GC content file from the genome FASTA file using sequenza-utils.
Granted, the sequenza R package and sequenza-utils Python package are generally developed and versioned in sync by the developers, but we can imagine a situation where they update both to a new version, but one of the two packages has a bug. If the two packages are in separate environments, one can easily be updated without the other.
Another reason to have package-focused environments is to simplify the process of debugging conda environments that don't work anymore (e.g. a random package no longer exists). If the environment is named after a specific package and version (e.g. sequenza-utils-3.0.0), it's self-documenting in that it's which package within the YAML file need to be set to a specific version. On the other hand, if you  mix different packages in an environment, you need another file (like a README) to list which packages need to specifically be versioned (e.g. sequenza=3.0.0 and sequenza-utils=3.0.0).

Does this need a lot more work still @BrunoGrandePhD ? I was hoping to deploy on GAMBL so I could test out the new header.smk and generate some results from some cases so I can compare the results to Battenberg. I also am waiting on submitting a PR for my Battenberg module because I don't want to repeat the same mistakes.

This does need more work. I need another few hours to wrap this up. I was busy this past weekend, so this will have to wait until this weekend. It'll be worth it!

No problem. I can keep using my local branch.

I was able to implement the rest of the features I was hoping to get to (see below). I'm doing a test run with the demo project now, so I'll know if everything works tomorrow. A dry run was successful though.

Collapsed filtered and unfiltered rules.
Use chromosome lists and genome build versions from reference_files workflow.
Created rule to download dbSNP VCF from NCBI and derive POS version.
Created separate environments for the sequenza R package.
Force install forked copynumber from within R script

This is great. Thanks Bruno!

Are you able to resolve this one conflict, @BrunoGrandePhD ?

Yeah, I'll be able to resolve that conflict. I'm currently debugging the Sequenza R script. Everything up until this point, including the updated reference_files workflow, seems to be working.

I don't think my method for inferring sex from the depth ratio works for exomes. For the test data, the patient is male, but the ratio is 0.858, which is higher than 0.75 and thus interpreted as best corresponding to an XX genotype. My method also doesn't work on tumours with unmatched normal samples.
Because I don't want to delay this any further, I think we can post the current version while only supporting tumour genomes with matched normal samples. In a future version, we can add support for a sex column in the sample table. What do you think?

Sounds like a good strategy

Alright, let me do one more test with a few BL (hg38) samples to see if everything works on genomes from another genome build. 🤞

BL test running now. If all goes well, the new reference_files workflow will auto-generate the dbSNP VCF (auto-converting from chr-unprefixed to chr-prefixed) and the GC content WIG file. I also updated the list of "main chromosomes" to exclude chrY and chrM because these generally pose more problems than they're worth. Notice that the X chromosome and the genome version (grch37 and grch38) are also generated for each genome build. They're silly one-line files, but they ensure the portability of the sequenza R script. If this works, it will have validated all of the time I reviewing on this module and will hopefully make running it on GAMBL much easier.
Job counts:
	count	jobs
	1	calc_gc_content
	1	download_chromosome_x
	1	download_dbsnp_vcf
	1	download_main_chromosomes
	1	get_dbsnp_download
	1	get_main_chromosomes_download
	3	hardlink_download
	1	store_genome_build_info
	3	update_contig_names
	13

Great. Thanks Bruno!

I was able to mostly get this module to run on some of my BL data. However, I'm running into an issue where the conda environment for run_sequenza isn't being loaded properly. It keeps defaulting to the GSC R installation. Is this an issue that you experienced?

@whelena: Could you test this module on some of your data?

@BrunoGrandePhD I'm getting this error
Missing input files for rule all:
/projects/clc/clc_scratch/projects/hwinata/dev-modules/test/reference/genomes/grch37/annotations/gc_wiggle.window_50.wig.gz

I couldn't find a rule reference_files workflow that generates this file

I have not encountered that issue.
On Jul 6, 2020, at 10:33 AM, Bruno Grande<EMAIL_ADDRESS>wrote:

I was able to mostly get this module to run on some of my BL data. However, I'm running into an issue where the conda environment for run_sequenza isn't being loaded properly. It keeps defaulting to the GSC R installation. Is this an issue that you experienced?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/LCR-BCCRC/lcr-modules/pull/41#issuecomment-654339373, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABEBDQ56HXYH27KR4WVLQ7DR2H3SJANCNFSM4NXUMNSA.

Are you using reference_files version 2.0? It's included in this PR.
https://github.com/LCR-BCCRC/lcr-modules/pull/41/files#diff-dfbd79f4aead03d64d5a2e750a2b9527R135-R150

That is unlikely. I think I would only be using code that has been merged to master.

Sorry, that was in response to @whelena's issue.

@BrunoGrandePhD oh whoops sorry I didnt realize that, I'll retry it

@BrunoGrandePhD
Warning message:
There are fewer than 1 million positions with depth data on the X chromosome. This usually means the input data was based on exomes, which will fail the sex inferrence step.
Inferring this patient as female.
Error in seq.default(0, max_coord_chr_i, by = 1e+07) :
  'to' must be a finite number
Calls: sequenza.results -> axis -> seq -> seq.default

I get this error message when running with TCRBOA7-T-WEX and TCRBOA7-N-WEX

This is probably caused by the inclusion of chromosome Y and MT in the analysis. I updated the reference_files workflow to exclude these two small chromosomes from the "main_chromosomes" file. Can you check that the main_chromosomes.txt file being used excludes these small chromosomes? If not, you can delete the main_chromosomes files to make sure they're regenerated with reference_files 2.0.
# Add -delete at the end of the following command once you confirm that it finds the right files
find /path/to/reference_files/ -name "*main_chromosomes*"

Thank you!

Is this ready to merge?


Bump hm-rpc stable

RE-CHECK!

Automated adapter checker
ioBroker.hm-rpc

:thumbsup: No errors found
Add comment "RE-CHECK!" to start check anew


Can HTMLint this be used with lint-staged?

https://github.com/htmllint/htmllint-cli

I don't know but you can try and report it back here. I see no reason why not if it supports list of files as arguments.

@okonet There is an issue with how htmllint-cli takes in arguments. The full path to the HTML file won't work--but a relative path to the file will. Is there a way to use relative paths with lint-staged instead of the full path?

Does not appear to be working. When running the tool directly errors are reported. When running it through lint-staged, no errors are reported.
Digging through the code right now. htmllint-cli does exit with a 1 if there are errors. How does lint-staged determine whether errors have been produced?

Ah, the issue is in htmllint-cli erroneously not reporting a not found file as an error, and prepending the cwd to passed arguments even when they are absolute paths.
Not a lint-staged issue.

Thanks for getting to the bottom of that @draoncc


limit portrait by height

Instead of always sizing the image to the maximum width gives an option for limiting by height to prevent portrait beeing renderd to huge. Implementation is based on @Pjan fork.
Solves @rmeissn issue jerryshew/react-image-cropper#5
prop limitHeight:
0 - for not limiting by height - default value
value - max height
Example
default

limitHeight={800}

@jerryshew Do you plan to merge this feature in the future? It would be very handy for my project.

+1


[1.14] deprecation - remove : separator of --security-opt

Signed-off-by: John Howard<EMAIL_ADDRESS>Happened to notice this deprecation notice still in the 1.13 code base.

@thaJeztah

LGTM

Before we merge, I'd like to have a quick view of @cpuguy83 (he was mentioning upgrade paths for people that are currently stuck on docker 1.9)

Erm, actually, looks like this was moved to 1.14 as well https://github.com/docker/docker/blob/master/docs/deprecated.md#separator--of---security-opt-flag-on-docker-run

Updating title to 1.14 and closing for now. Will re-open once 1.13 is completed.

Re-opened and rebased for 1.14

ping @cpuguy83 good to go?

Updated docs\deprecated.md as well. Missed that on the previous commit.

ping @cpuguy83 PTAL. Thanks.

Do we still need to support older clients?

Do we still need to support older clients?

oooh wait, this is daemon side, so would be an API change. Yes, that should be versioned somehow 😞

ping @jhowardmsft can you make the changes to version this?

@thaJeztah Is there an example somewhere of how version deprecation is done similar to this that I can look at?

Probably: https://github.com/docker/docker/blob/0ea7b143b0a8366799c83a955be676aaf1345214/api/server/router/container/container_routes.go#L139
		if versions.GreaterThanOrEqualTo(version, "1.24") {
			return validationError{fmt.Errorf("starting container with non-empty request body was deprecated since v1.10 and removed in v1.12")}
		}

PTAL @thaJeztah

@AkihiroSuda yes, that looks good. Perhaps we should put a conversion in the API layer for older versions, and error-out for newer API versions

ping @jhowardmsft

Does someone want to carry this? I haven't got time right now to look into updating for the API version compatibility code.

Alright, I'll carry this one 👼

Carrying in #30978


Is there a way to know which direction the slider moved?

Say for example that you have a slider with 2 slides and loop enabled.
If I am listening to the select event I can see the new index and the old index for the slides... But I have no way of knowing if I went from slide 1 to slide 2 by going back or forward, do I?

Hi Mario (@m-bp),
Thank you for your question. No, not with the current API. If you really need to know this, there’s an unofficial way to do it:
embla.on('select', () => {
  const direction = embla.dangerouslyGetEngine().scrollBody.direction()
  console.log(direction)
})

This will return either 1 which means backward or -1 which means forward.
But please note that getting the direction when the select event is triggered, only tells you which direction the carousel is heading at the moment the event is triggered. The user may start dragging the carousel and change the direction before the carousel has reached its destination.
Let me know if it helps.
Best,
David

But please note that getting the direction when the select event is triggered, only tells you which direction the carousel is heading at the moment the event is triggered. The user may start dragging the carousel and change the direction before the carousel has reached its destination.

Gave it a go but because of that very quirk you mention it's not going to work for me. Too many false positives.
Basically I want to trigger an analytics event whenever someone uses the slider and I want to know if they slide forward or backwards but it doesn't seem possible unless I ignore drags and I just listen to arrow clicks instead.

Hi again Mario (@m-bp),

Gave it a go but because of that very quirk you mention it's not going to work for me. Too many false positives.

I'm not sure if I'm understanding you correctly. Any carousel, whether it's Embla or another library can change direction before actually reaching its destination?
I think you need to specify your requirement further in order for me to be able to provide a solution.
Kindly,
David

I tested the code snippet ('select' event listener) you gave me and the result was the following:

Dragging to the left logs -1
Dragging to the right logs 1
Next button logs -1
Back button logs 1

Dragging works flawlessly. However:

Next button (logs -1) then Back button before it settles would log -1 again.
Back button (logs 1) then Next button before it settles would log 1 again.

This makes no sense as it is now moving the opposite way.
The buttons simply call scrollNext/scrollPrev on click.

However:

Next button (logs -1) then Back button before it settles would log -1 again.
Back button (logs 1) then Next button before it settles would log 1 again.
This makes no sense as it is now moving the opposite way.

I see. This is because the select event fires before it actually starts scrolling to its destination, when you trigger scrollNext/scrollPrev with the arrows. So what you're getting is the direction the carousel was moving before the click.
One alternative is to add an afterSelect event to the Embla Carousel core. But if you need to get this working now you try the following:
embla.on("pointerUp", () => {
  const direction = embla.dangerouslyGetEngine().scrollBody.direction();
  console.log(direction);
});

const myScrollNextWrapper = () => {
  console.log(-1) // Set -1 as direction here
  embla.scrollNext()
}

const myScrollPrevWrapper = () => {
  console.log(-1) // Set -1 as direction here
  embla.scrollNext()
}

@m-bp, let me know how it goes when you've had the time to try it out.

Hi Mario (@m-bp),
I'm closing this issue for now. You may reopen this issue if you want to discuss this further or would like to suggest a feature related to this.
Best,
David


deviantart-integration

Deviantart-source-integration — first commit
Hi Nick,
Here's the pull-request for issue with a new source integration described here https://github.com/nickbutcher/plaid/issues/177
Would really appreciate it if you had a look. Had a issue with CLA with last commit. Hence, re-submitting this.
Regards,
Arnab

@arniesaha check this link out: https://medium.com/google-developers/writing-more-code-by-writing-less-code-with-android-studio-live-templates-244f648d17c7
In a few comments I said about it. It really speed up your coding ;-)

Thank you for the PR but this is not something we'd like to merge in the project. In the future please feel free to open an issue prior to developing a feature to discuss.


Check the download history for the specified post

To prevent reloading if the post has already been uploaded
https://github.com/obervinov/pyinstabot-downloader/blob/release/v2.0.0/src/bot.py#L161-L163
https://github.com/obervinov/pyinstabot-downloader/blob/release/v2.0.0/src/tools/downloader.py#L182

done https://github.com/obervinov/pyinstabot-downloader/pull/7/commits/18befb6e85bfd1e947358524bcd01c35d521ede5


Class Webkul\Core\Repositories\SliderRepository does not exist

I just installed a fresh installation using the composer then i am getting that error

@harishdurga Hey buddy!
You just need to take one more step, please download the latest zip from master branch.


Prevent SSL errors on fallback cert

Is there a way to prevent the Nginx instance from serving  (or serving an error page) when the allow_domain function returns false?
Right now it serves up a proxied page from my upstream service - I would like to short-circuit this and return 404 or some error page/response from Nginx.
See the config below:
user www-data;
worker_processes auto;
pid /run/openresty.pid;

#pid        logs/nginx.pid;

events {

	worker_connections 1024;
}

http {

	include mime.types;
	default_type application/octet-stream;

	lua_shared_dict auto_ssl 1m;
	lua_shared_dict auto_ssl_settings 64k;

	resolver <IP_ADDRESS> ipv6=off;

	init_by_lua_block {
	auto_ssl = (require "resty.auto-ssl").new()
		auto_ssl:set("allow_domain", function(domain)
            #FIND My valid domains and if found return true else false
		end)

		auto_ssl:init()
	}

	init_worker_by_lua_block {

		auto_ssl:init_worker()
	}

	#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
	#                  '$status $body_bytes_sent "$http_referer" '
	#                  '"$http_user_agent" "$http_x_forwarded_for"';

	access_log /var/log/openresty/access.log;
	error_log /var/log/openresty/error.log;

	sendfile on;
	#tcp_nopush     on;

	#keepalive_timeout  0;
	keepalive_timeout 65;

	gzip on;

	server {

		listen 80 default_server;
		listen [::]:80 default_server;
		server_name _;

		location /.well-known/acme-challenge/ {

			content_by_lua_block {

				auto_ssl:challenge_server()
			}
		}

		return 301 https://$host$request_uri;
	}

	server {

		listen 443 ssl;
		ssl_certificate_by_lua_block {

			auto_ssl:ssl_certificate()
		}

		location / {

			proxy_ssl_server_name on;
			proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
			proxy_pass https://mydomain.com/$host;
		}

		ssl_certificate /etc/ssl/resty-auto-ssl-fallback.crt;
		ssl_certificate_key /etc/ssl/resty-auto-ssl-fallback.key;
	}

	server {

		listen <IP_ADDRESS>:8999;

		client_body_buffer_size 128k;
		client_max_body_size 128k;

		location / {

			content_by_lua_block {

				auto_ssl:hook_server()
			}
		}
	}

}

Hey @GUI is this project still maintained?

This is not possible because SSL negotiation occurs before you can send data e.g. a redirect. You could send a 444 which is a special Nginx error code for sending no response. This would still result in an SSL certificate error, but no other content would be served.

@yveslaroche Thanks I will try that.
One further question - It seems that sometimes the SSL certificate takes a bit longer to generate and so the self-signed is returned until I refresh again a few minutes later.
Is there a way to know what cert is being used for the response and return 444 then too?
Thanks


ChatGPTAPI 429 Error on second message sent

Verify latest release

[X] I verified that the issue exists in the latest chatgpt release

Verify webapp is working

[X] I verify that the ChatGPT webapp is working properly for this account.

Environment details

Node.js version : 19.0.0
Ubuntu : <IP_ADDRESS> LTS
Chromium 108.0.5359.124

Describe the Bug
I'm running a simple web-app (conversationnal chat) on a VPS. The app has no problem running on my local environment (windows 11 - Chrome) but whenever I run it on my VPS (environment detailed), I have the following error :

The first message sent (ie. the first call to the API) doesn't trigger the error and the response is correctly send back. This error ALWAYS happens on the second message send. This second message contains a conversationID as well as a parentMessageId. The browser is still open between the 2 messages, no new sessions are initialized. This errors appears instantly when the second message is sent. There is no relation between the complexity or length of the message and the error (and the first message is never sending back an error regardless of the prompt's complexity). I did try to add a delay but it didn't change anything. I'm using ChatGPTAPIBrowser with this configuration :
const api = new ChatGPTAPIBrowser({
  email: process.env.OPENAI_EMAIL,
  password: process.env.OPENAI_PASSWORD,
  isGoogleLogin: true,
  debug: false,
  minimize: true
})

my .env file contains email, password and the path to the browser used by Pupeteer (PUPPETEER_EXECUTABLE_PATH)

hey, I am having the same issue. Would be great if you can take a look, @transitive-bullshit.

+1 same issue

+1 same issue

This may help
https://help.openai.com/en/articles/5955598-is-api-usage-subject-to-any-rate-limits

This may help https://help.openai.com/en/articles/5955598-is-api-usage-subject-to-any-rate-limits

This is related to OpenAI API on their other models and not with chatGPT.
There is a potential fix to this issue here : https://github.com/transitive-bullshit/chatgpt-api/issues/174 but that's not really applicable if you need to keep track of a conversation :/. If anyone find another solution, letting you keeping a track of the conversation, would be nice.

Same issue right  after I put in conversationId,  but if I just put parentMessageId  then it works fine

+1 same issue

+1. Encountered for the first time a few weeks ago and gotten progressively worse since - could they be experimenting with off-website access blocking by rate limiting to 0 somehow?

@michaelbecker-d demo-conversation.ts uses the API version and will definitely run into 429s quite quickly. You should be using demo-conversation-browser.ts or demo.ts since they both use the browser-based version.
Another thing to watch out for: you should only ever have a max of one sendMessage request at a time per browser instance and OpenAI account.
If you try to have multiple sendMessage requests overlapping each other, you will get a 429 immediately.

I agree that OpenAI seems to have made their rate limits stricter, but if you're using the browser-based version without overlapping sendMessage requests, it should work fairly consistently. This is what I'm using to power my twitter bot, which I had to shut off during holiday travel, but aside from that it's been working pretty well.

I am facing the same issue. I implemented a queue mechanism to make sure my service one send message at a time and wait for chatgpt's result before sending another, but it still get 429 on the second question I send out after each login (the first question is fine).
In fact I even tried using the the ChatGPTBrowser to do the login part and then open the puppeteer chromium window to manually input and ask question, it still gets 429 on my second question too. However if I do exactly the same with normal chrome browser it with same IP and same login account, it works perfectly fine.
I suspect they were somehow able to detect the type of browser, perhaps.

I tried it with both chromium and chrome browser but still face the same issue. (429 on second message sent). However this issue only happens on my VPS and not my local environment (everything running smoothly here). I'm still trying to figure out what could be the difference between these environments that could cause the issue ...

Just managed to run it on servers with VPN. Previously I was running it on an AWS machine but fails with 429, and it doesn't help even if I switch to use another AWS machine, I guess it basically blocks all IP under AWS.

hey, @lokwkin – which VPN you are using? I think I have tried few of them, and none ever worked.

@lokwkin Cloudflare is smart enough to recognize data center IPs, so servers from AWS / GCP / Azure / etc will likely lead to 429s very quickly unless you get lucky.

If you're going to use a proxy or VPN service, try to get one that uses residential IPs.

I tried this alternative using proxy that uses residential IPs. It didn't work for me, I've got 429 code error again and again

I tried this alternative using proxy that uses residential IPs. It didn't work for me, I've got 429 code error again and again

Just as my experience, try look at whether the proxy forward the original header which might expose the origin of your server.

same here
for now solved it by calling api.refreshSession() after each call. it takes quite a lot of time but generally works

I can confirm that switching proxies helps

@nick4fake could you say what proxy are you using? I have tried setting AWS EC2 as proxy but apparently OpenAI blocks it's IP addresses

Guys, I was with the same error, when I added the parentMessageId for second message, everything worked.

If anyone else is experiencing this, calling refreshSession after each message resolves the issue, though it is pretty slow. Otherwise, read through the advice from me and other folks in this thread which should fix the underlying issues.

nothing helped me, even refreshSession didn't help


/back command using random_teleport int costs when user has bypass permissions.

If a user has the huskhomes.bypass timers node, Huskhomes will use random_teleport: int costs instead of back: int costs.
https://i.imgur.com/x1vvwQy.png
https://i.imgur.com/yegmlL9.png

Caused by this line
https://github.com/WiIIiam278/HuskHomes2/blob/master/src/main/java/me/william278/huskhomes2/teleport/TeleportManager.java#L208


Add leetcode-cn.com support

leetcode-cn.com

Hope there is a switch to shift the leetcode america site leetcode.com to leetcode-cn.com, just like the i18n mode.


GitHub cli 1.2.1

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

Microsoft Reviewers: Open in CodeFlow

Note: This patch resolves a security vulnerability that affects Windows: https://github.com/cli/cli/security/advisories/GHSA-fqfh-778m-2v32


Which dataset should we use on the setting of unseen domains.

Hi,
I try to evaluate a detector on the setting of "unseen domains". Then, I found the two test data: test_ood.csv and test.csv.
Which data should we use for this?

Hi,
Thanks for your interest in our work.
The 'test.csv' is the random split used for testing within the distribution, while 'test_ood.csv' is the out-of-distribution test set (for new domains or new models). Therefore, to evaluate the robustness of your detector on unseen domains, you should use 'test_ood.csv'.


replace sha256sum with nix-hash

sha256sum isn't necessarily available on all platforms (eg. darwin)
and nix-hash is already used for the base32 conversion.

This looks good. Do you mind if I apply your fix to nix-bash-completions too?

Sure, I don't think there's anything zsh specific in there.

Yeah, pasting it to the bash version worked fine.
Thanks :)