Update scalafmt-core to 2.4.2

Updates org.scalameta:scalafmt-core from 2.4.1 to 2.4.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

labels: library-update, semver-patch

Codecov Report

Merging #18 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #18   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines          70     70
  Branches        6      6
=====================================
  Hits           70     70

Continue to review full report at Codecov.

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


Xcode.app naming convention

In our team, people use both this tool and xcode-install to install Xcode. The naming convention of the installed Xcode bundle of two is different, for example, with Xcode 11:

xcode-install installs it to /Applications/Xcode-11.app
xcodes installs it to /Applications/Xcode-11.0.0.app

I'd like to request to use the same naming convention with xcode-install.
Why is it important to us?
To ensure the reproducible builds, for a specific version of Xcode, everyone must have it installed to the same location. The reason being the system header paths will be embedded in the object files and archives as absolute paths (that starts with /Applications/Xcode...).
Alternative considered:

We could ask everyone to only use xcodes or xcode-install, but for some reason, it has become diverse.
We could ask everyone to rename their Xcode installations to follow one naming convention, but that would come with a cost—forgetting to rename a version means they won't get the build cache.
We could open an issue to the xcode-install repo to request it to follow xcodes's naming convention. We prefer using a native tool to a Ruby tool, since it has less overhead.
Fork xcodes to modify it and use our own fork. This is the last thing we would want to do.

Closing as it seems inappropriate.

Hey @thii, thanks for opening this issue! I think it's worth discussing, and appreciate how you've described the problem. I've run into this a few times myself where a service like Circle CI or GitHub Actions non-self-hosted runners has Xcode installed at one path but development machines using xcodes will have it installed at another.
Personally I prefer xcodes' naming for clarity, and so the implementation can delegate to mxcl/Version, so I would probably solve this problem in a different way, but I'm biased. 😄 If there are a lot of people who chime in on this issue then it might be worth revisiting.


Update InputManager to easily extend and add custom event data types

Overview
Give users the ability to extend and add custom event data types to the input system.
We would need to change InitializeEventDatas to a protected method.

Actually after further review, I found that this would not be a good idea bc the method is called in Awake, and overrides the singleton base class.  In our inherited class we would also need to override both the Awake and InitialzeEventDatas effectively calling them twice.


Add GCP Project Id Text to publish dialogs.

Fixes #791.
Adds Google Cloud Project ID TextBox and Select Project Button to Publish dialogs.
Change project select dialog to change the current project (both for template dialogs and for publish dialogs).

Would you be interested on parrying down this change to only have the display portions of the project where the deployment is going to happen? That is so we can get the bug fixed and we can have the full discussion on the "current project" model as a separate change?

Done. Please take another look.


Fix stable diffusion ONNX export following diffusers breaking change

As per title and discussed on slack, slightly more minimal than https://github.com/huggingface/optimum/pull/1108 given that SDPA ONNX export will be supported from PyTorch 2.1 onwards.
@echarlaix is it OK to have the requirement diffusers>=0.17.0?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


FEAT: Create a go back button for form -> overview submissions

Problem
When a user clicks on a submission and arrives at the form, there is no easy way to return to the submissions overview if no changes are made.
Success
Provide a button that allows users to navigate back from the form to the submissions overview page.
Requirements

[ ] Create a "Go Back" button that takes the user from the form back to the submissions overview page.

As @NabbeunNabi mentioned we use the browser back button to go back to the previous page. But we can maybe create a model, when the browser button is clicked, that pops up to make sure you want to leave the page without saving your changes.


Proposals improve

Description
Hi.
First of all, I want to thank you for your work.
I apologize in advance my English is very bad 😄
I had a few ideas for improvement and wanted to ask you if you would like to include some of them in your repository?
Use cases
python-semantic-release
The biggest limitation for me at the moment is the semantic_release.history.logs.generate_changelog method.
It returns not enough information about the commit, I would like to offer you a refinement with the possibility of overriding it in the commit_analyzer setting.
python-semantic-release-changelog-template
In this plugin, I would like to allow the user to generate a changelog using mustache templates. To do this, use our commit_analyzer to fill the list of commits with something like this data and put them to template.
python-semantic-release-gitmoji
A slightly different implementation of the emoji data from gitmoji
A bit like this
python-semantic-release-changelog-processing
In this plugin, I would like to allow the user to format subject and body commit.
For example:
# settings
changelog_body_processors=ident
changelog_subject_processors=strip,final_dot,add_pr_link_github

strip,final_dot,add_pr_link_github - each part can be

Name function from processors module
Importable string to custom processor

# raw commit message
feat: some (#15) subject

- some cool things
- some cool
   things multiline things

# processed commit message
Some ([#15](https://github.com/owner/repo_name/issues/15)) subject.
  - some cool things
  - some cool
     things multiline things

python-semantic-release-merge-request
I doubt that this can be done with a separate plugin.
semantic_release merge_request from to
Will create merge request in gitlab with changelog
from template and commits between from and to
semantic_release merge_request feature/issue-22 develop
semantic_release merge_request 456987 develop
semantic_release merge_request v1.1.0 654987
python-semantic-release-pull-request
Fairly everything is the same as for gitlab
Possible implementation
I can do everything myself, but thinking through the architecture I would like to understand what to do with separate packages, and what is better here.

There is to much in one issue here, if you are still interested in this, please open a issue per thing


Async register built in panel

Description:
I was assuming all registrations of built-in panels was done only in our code base. However, for iframe panels, custom integrations will call this method. This re-instates the method being async.
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Well, we have not 1.0 and should be able to fix mistakes like that with removing async anoctodes

Ok, in that case I will mark it as a breaking change.


Do NOT deprecate or remove gulp.run()...

gulp.run() is very handy for use in a cli that incorporates other types of commands as well.
I saw this: gulp.run() has been deprecated. Use task dependencies or gulp.watch task triggering instead.
And I don't like it :(

@resistdesign Now u do gulp.run('task'); or gulp.start('task');, in 4.0 you will gulp.parallel('task')(); or gulp.series('task')();
That's all

Ah, ok, also I just found that I can use gulp without declaring tasks and that works too, like just:
#!/usr/bin/env node

var gulp = require('gulp');

gulp.src('hello.txt')
  .pipe(gulp.dest('build'));

@resistdesign It's just streams.

You're right, I couldn't get my head out of the task structure to see that :P


java.lang.NullPointerException when trying to download a chapter

Source information
MangaFire 1.4.4
Source language
All (FR in this case)
Steps to reproduce
Try to download One Piece colored ch. 231
https://mangafire.to/manga/one-piece-digital-colored-comics.06w3
Expected behavior
Chapter download complete
Actual behavior
The download is stuck at 18/19
Mihon/Tachiyomi version
TachiyomiJ2K 1.7.4 / Mihon 16.3
Android version
14
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Site issue, some pages are broken


Revert "Revert "Removes unwanted timeout setting (#22)" (#39)"

This reverts commit c2d27c44d14b7b5259ab04de248b9f0e439f9bc9.
Since there are more and more users reporting that the timeout is affecting their gRPC usage, I am going to roll this forward again. This is potentially breaking change, however ingress implementers have been looped in on Slack and bugs (and the empty value was permitted in the API, albeit with unclear meaning).
I will follow up with adding some reasonable conformance testing for the meaning of "no timeout", as well as more documentations.
/assign @vagababov

cc @richterdavid @mattmoor @jmprusi (net-kourier) @ZhiminXiang (net-istio) @concaf @ilackarms @hbagdi

This isn't a potentially breaking change, it is a breaking change.  It broke Contour and it breaks Gloo.

and the empty value was permitted in the API, albeit with unclear meaning

The meaning was not unclear, it was defaulted, and we now expect a very specific behavior when it isn't specified which has no test coverage in kingress conformance.
Honestly, I don't think that we should move forward this aggressively with such a change without an owner from every implementation signing off on the breaking change, or being known to work.  I think this gets you Istio, Contour, and Kourier.  If Gloo, Ambassador, and Kong are OK with us potentially breaking their integration, then I'll shut up, but I am pretty uncomfortable with us rolling this forward KNOWING that it breaks at least one of our integrations still.

Given that we (Knative) are the exclusive (supported) client of this API perhaps a better way to roll out this change would be to:

Change the route controller to specify this value (so defaulting doesn't matter because we don't rely on it).
Specify the semantics and add a conformance test.
Given suitable bake time on 2. revert 1..

I think 1. and 2. are doable in ~a day.

+1 to setting a value in Route controller. I staged https://github.com/knative/serving/pull/8965  .
After that is in we can add conformance tests and when things are implemented properly downstream we will revert https://github.com/knative/serving/pull/8965 .


Compilation error under parfor in parallel decorator

A simple code to shift functions over arbitrary grids does not compile when the "parallel" decorator is set to True. The following code compiles in the serialized version:
import numpy as np
from numba import jit, prange

@jit( nopython=True, parallel=True )
def roll_arrays( a, shift_values,x_grid ):

    x_max          = np.amax(x_grid)
    total_items    = a.shape[0]
    the_ddtype     = a.dtype
    result         = np.zeros( (a.shape[0], a.shape[1] ), dtype=the_ddtype )

    for k in prange( total_items ):
        edge_val_left  = a[k,0]
        edge_val_right = a[k,-1]
        #extend grid to edges with boundary values (flat extrapolation)
        extended_boundary = np.abs( shift_values[k] )#positive or negative depending on shift

        if( shift_values[k] != 0.0 ):

            x0_right          = np.linspace( x_max, x_max + extended_boundary, 10 )
            x0_left           = np.linspace( -x_max-extended_boundary, -x_max, 10 )
            if( shift_values[k]>0.0 ):
                #we fill left values
                x_dense_grid  = np.concatenate( ( x0_left, x_grid + shift_values[k] ) )
                x_dense_grid  = np.unique( x_dense_grid )
                ynew          = np.concatenate(  ( edge_val_left*np.ones( 10 ), a[k,:] )  )

            elif( shift_values[k]<0.0 ):
                x_dense_grid  = np.concatenate( ( x_grid + shift_values[k], x0_right ) )
                x_dense_grid  = np.unique( x_dense_grid )
                ynew          = np.concatenate(  ( a[k,:], edge_val_right*np.ones( 10 ) )  )

            max_index     =   x_dense_grid.shape[0] - 1
            mid_x_index   =   np.int( x_dense_grid.shape[0]/2 )
            shift_index   = - ( np.argmin( np.abs( x_dense_grid - shift_values[k]) ) - mid_x_index )

            if ( shift_index < 0 ):
                ynew[ max_index+shift_index: ] = edge_val_right*np.ones( np.int(1+ np.abs(shift_index)) )
            elif ( shift_index > 0 ):
                ynew[ 0:shift_index ] = edge_val_left*np.ones( np.int(np.abs(shift_index)) )
            if( shift_index ==0 ):
                print("I'm zero")

            #return on the original grid
            f_interp    = np.interp( x_grid, x_dense_grid, ynew )
            result[k,:] = f_interp

        else:
            #no shift
            result[k,:] = a[k,:]

    return result

x      = np.linspace(-10,10, 2001)
shifts = np.array([-1.0,-2.0,1.0])
f      = np.array( [ k/( x**2 + k**2 ) for k in range(1,shifts.shape[0])  ] )
fs     = roll_arrays( f, shifts, x)

print("done")

But when "parallel=True", the following error occurs during compilation:
TypeError: Failed in nopython mode pipeline (step: convert to parfors)
object of type 'NoneType' has no len()

This has originated from a post in StackOverflow where this was tested on a simplified version of the code, just making use of the np.concatenate in this simple example:
import numpy as np
from numba import njit, prange

# Cause the following error:
#
# TypingError: Failed in nopython mode pipeline (step: convert to parfors)
# No implementation of function Function(<function runtime_broadcast_assert_shapes at 0x0000024DFDE44310>) found for signature:
#
#  >>> runtime_broadcast_assert_shapes(Literal[int](1), array(float64, 1d, C))
#
# There are 2 candidate implementations:
#       - Of which 2 did not match due to:
#       Overload in function 'register_jitable.<locals>.wrap.<locals>.ov_wrap': File: numba\core\extending.py: Line 159.
#         With argument(s): '(int64, array(float64, 1d, C))':
#        Rejected as the implementation raised a specific error:
#          TypeError: missing a required argument: 'arg1'
#   raised from c:\users\me\appdata\local\programs\python\python38\lib\inspect.py:2940

@njit('float64(float64)', parallel=True)
def roll_arrays(x):
    a = np.linspace(0, 100, 10)
    b = np.linspace(-10, 10, 2001)
    if x > 0.0:
        tmp = np.concatenate((a, b))
    elif x < 0.0:
        tmp = np.concatenate((b, a))
    return np.abs(tmp).sum()

Here is the original post: [https://stackoverflow.com/questions/71080890/numba-compilation-fails-in-parallel-for-loop]

Reporting a bug

[ ] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/main/CHANGE_LOG).
[ ] I have included a self contained code sample to reproduce the problem.
i.e. it's possible to run as 'python bug.py'.

Thanks for the report. MWR:
from numba import njit
import numpy as np

@njit('float64(float64)', parallel=True)
def roll_arrays(x):
    a = np.linspace(0, 100, 10)
    b = np.linspace(-10, 10, 2001)
    if x > 0.0:
        tmp = np.concatenate((a, b))
    elif x < 0.0:
        tmp = np.concatenate((b, a))
    return np.abs(tmp).sum()

produces:
  File "<numba>/numba/core/typing/templates.py", line 221, in fold_arguments
    ba = pysig.bind(*bind_args, **bind_kws)
  File "<python_path>/lib/python3.9/inspect.py", line 3062, in bind
    return self._bind(args, kwargs)
  File "<python_path>/lib/python3.9/inspect.py", line 2977, in _bind
    raise TypeError(msg) from None
TypeError: missing a required argument: 'arg1'


Problem had with instructions.

Referring to 'Usage', the line:
@import "$HOME/.config/waybar/<flavour>.css";
has to be included in style.css.
But since waybar checks for files in it's config folder by default, <string> in @import "<string>"; counts as file name and thus creates this error when launched:
[error] style.css:7:42Failed to import: Error opening file ~/.config/waybar/$HOME/.config/waybar/<flavour>.css: No such file or directory
Suggestion: Edit @import "$HOME/.config/waybar/<flavour>.css"; to just @import "<flavour>.css";
There may be other ways to resolve this but I only know the slightest bit of how the program work.

I had this same issue and fixed it by doing this
@import "themes/mocha.css"; since I had the file in a folder but if you have it in the root directory you can do @import "<flavour>.css".


Add/update latest tag

Linux instructions in https://www.neurodesk.org/docs/neurocommand/getting-started/linux/#command-line-mode-eg-running-on-an-hpc-or-cvl assume the latest commit in this repo is always working.
Ideally, a github action is added to the current testing actions that sets/updates a latest tag that can be used instead. Right now, simple typo in main and some bad timing could mean that stuff is broken.
Some googling gave eg https://github.com/EndBug/latest-tag (which i have never tested/used) as an example

Dear @stdweird - thank you for raising this issue.
I would like to propose the following solution: We protect the master branch of neurcommand and it's only possible to merge changes if our unitests pass.
@aswinnarayanan - any thoughts on this?
Thank you
Steffen

I now protected the main branch. It's not possible anymore to directly commit to main and everything has to go via a pull request with approval. To be able to merge our unittests have to pass.
I am testing this now and once it seems all working I close this issue :)
Sorry again for breaking your workflow @stdweird - this should hopefully not happen again so easily (assuming our unittests cover everything :)). I am very interested to hear more about what you are doing with neurocommand in your project -> would you have time for a quick chat in october?

@aswinnarayanan - one little hickup: With the new protected main branch the autocommit doesn't work anymore. Any idea to push the changes directly to the website without committing it back to neurocommand :?

@aswinnarayanan, I found a workaround: I had to create a personal access token for the commit and this commit can now skip the branch protection. Needs more testing and I hope this works.

@stebo85 thanks for improving/protecting the flow. a chat is ok for me, but don't expect anything fancy ;) you can PM me with some dates.

closing this, because the protected branch feature and automated unit testing before merges get accepted solves this issues elegantly


Startup error (ZMQError)

Operating System (OS and version): Ubuntu
OpenBazaar version: https://github.com/OpenBazaar/OpenBazaar-Server/tree/c5d47a4021f7066960656400faa5e758e79c3885
Hardware: Inside docker container
Reproducible: Always
Steps to reproduce:

Install dependecies and git clone

Start
$ python openbazaard.py start -p 12060 -r 12061 -w 12062 -b 12063
________                      __________
\_____  \ ______   ____   ____\______   \_____  _____________  _____ _______
 /   |   \\____ \_/ __ \ /    \|    |  _/\__  \ \___   /\__  \ \__  \\_  __ \
/    |    \  |_> >  ___/|   |  \    |   \ / __ \_/    /  / __ \_/ __ \|  | \/
\_______  /   __/ \___  >___|  /______  /(____  /_____ \(____  (____  /__|
        \/|__|        \/     \/       \/      \/      \/     \/     \/

OpenBazaar Server v0.1 starting...
Generating GUID, this may take a few minutes...
Exception : No UPnP device discovered
2016-03-18 10:04:27+0000 [OpenBazaard] [INFO] Finding NAT Type...
2016-03-18 10:04:35+0000 [OpenBazaard] [INFO] Symmetric NAT on ...:1024
2016-03-18 10:04:35+0000 [Server] [INFO] querying seed.openbazaar.org:8080 for peers
2016-03-18 10:04:36+0000 [Server] [INFO] seed.openbazaar.org:8080 returned 50 addresses
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/observer/keys/keychain.py", line 51, in create_keychain
    callback(self, True)
  File "openbazaard.py", line 140, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVER, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 158, in setup
    s = ZmqSocket(self.frame_received, self.zmq_version)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 20, in __init__
    self.public_key, self.secret_key = zmq.curve_keypair()
  File "zmq/backend/cython/utils.pyx", line 60, in zmq.backend.cython.utils.curve_keypair (zmq/backend/cython/utils.c:923)
  File "/usr/local/lib/python2.7/dist-packages/zmq/error.py", line 135, in _check_rc
    raise ZMQError(errno)
ZMQError: Operation not supported

2016-03-18 10:04:39+0000 [Server] [INFO] bootstrapping with 50 addresses, finding neighbors...

Observed Behavior: Error, but the server was started successfully
Expected Behavior: Start without any errors

Also, how to stop it correctly? I hit Ctrl + C and I got errors
2016-03-18 10:04:44+0000 [OpenBazaard] [INFO] bootstrap complete
^C2016-03-18 10:11:11+0000 [-] Unhandled error in Deferred:
Unhandled error in Deferred:
2016-03-18 10:11:11+0000 [-] Unhandled Error
	Traceback (most recent call last):
	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 577, in _runCallbacks
	    current.result = callback(current.result, *args, **kw)
	  File "/observer/dht/network.py", line 195, in initTable
	    d.callback(True)
	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 382, in callback
	    self._startRunCallbacks(result)
	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
	    self._runCallbacks()
	--- <exception caught here> ---
	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 577, in _runCallbacks
	    current.result = callback(current.result, *args, **kw)
	  File "openbazaard.py", line 75, in on_bootstrap_complete
	    task.LoopingCall(mserver.get_messages, mlistener).start(3600)
	exceptions.NameError: free variable 'mlistener' referenced before assignment in enclosing scope

Unhandled Error
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 577, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/observer/dht/network.py", line 195, in initTable
    d.callback(True)
  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 382, in callback
    self._startRunCallbacks(result)
  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 490, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/defer.py", line 577, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "openbazaard.py", line 75, in on_bootstrap_complete
    task.LoopingCall(mserver.get_messages, mlistener).start(3600)
exceptions.NameError: free variable 'mlistener' referenced before assignment in enclosing scope

Second (and next times) I try to start the server, it stays blocked on error (Ctrl+C doesn't work, I kill the python process with sudo)
...
2016-03-18 10:19:11+0000 [Server] [INFO] seed.openbazaar.org:8080 returned 50 addresses
Traceback (most recent call last):
  File "openbazaard.py", line 301, in <module>
    Parser(OpenBazaard('/tmp/openbazaard.pid'))
  File "openbazaard.py", line 225, in __init__
    getattr(self, args.command)()
  File "openbazaard.py", line 263, in start
    int(args.heartbeatport), time.time())
  File "openbazaard.py", line 193, in run
    KeyChain(db, start_server, heartbeat_server)
  File "/observer/keys/keychain.py", line 28, in __init__
    callback(self)
  File "openbazaard.py", line 140, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVER, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 158, in setup
    s = ZmqSocket(self.frame_received, self.zmq_version)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 20, in __init__
    self.public_key, self.secret_key = zmq.curve_keypair()
  File "zmq/backend/cython/utils.pyx", line 60, in zmq.backend.cython.utils.curve_keypair (zmq/backend/cython/utils.c:923)
  File "/usr/local/lib/python2.7/dist-packages/zmq/error.py", line 135, in _check_rc
    raise ZMQError(errno)
zmq.error.ZMQError: Operation not supported
^C

What version of ubuntu are you using? 14.04?
I think you might need libsodium.
https://download.libsodium.org/doc/installation/index.html

@insanity54 14.04
I installed successfully libsodium from .tar.gz but the error is still there
2016-03-24 12:13:09+0000 [Server] [INFO] seed.openbazaar.org:8080 returned 43 addresses
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/observer/keys/keychain.py", line 51, in create_keychain
    callback(self, True)
  File "openbazaard.py", line 138, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVERS_TESTNET, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 158, in setup
    s = ZmqSocket(self.frame_received, self.zmq_version)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 20, in __init__
    self.public_key, self.secret_key = zmq.curve_keypair()
  File "zmq/backend/cython/utils.pyx", line 60, in zmq.backend.cython.utils.curve_keypair (zmq/backend/cython/utils.c:923)
  File "/usr/local/lib/python2.7/dist-packages/zmq/error.py", line 135, in _check_rc
    raise ZMQError(errno)
ZMQError: Operation not supported

2016-03-24 12:13:18+0000 [Server] [INFO] bootstrapping with 43 addresses, finding neighbors...

Also wen I start the client on my PC (the server is running on a remote machine), I get these errors
2016-03-24 12:15:02+0000 [txws.WebSocketFactory] Unhandled Error
	Traceback (most recent call last):
	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
	    return context.call({ILogContext: newCtx}, func, *args, **kw)
	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
	    return self.currentContext().callWithContext(ctx, func, *args, **kw)
	  File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
	    return func(*args,**kw)
	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
	    why = selectable.doRead()
	--- <exception caught here> ---
	  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 1069, in doRead
	    protocol.makeConnection(transport)
	  File "/usr/local/lib/python2.7/dist-packages/twisted/protocols/policies.py", line 75, in makeConnection
	    self.wrappedProtocol.makeConnection(self)
	exceptions.AttributeError: 'NoneType' object has no attribute 'makeConnection'

Unhandled Error
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/usr/local/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 614, in _doReadOrWrite
    why = selectable.doRead()
--- <exception caught here> ---
  File "/usr/local/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 1069, in doRead
    protocol.makeConnection(transport)
  File "/usr/local/lib/python2.7/dist-packages/twisted/protocols/policies.py", line 75, in makeConnection
    self.wrappedProtocol.makeConnection(self)
exceptions.AttributeError: 'NoneType' object has no attribute 'makeConnection'

The client is loading without showing any errors

I'm not sure if libsodium installed correctly. On your Ubuntu system, do you see a folder /usr/local/include/sodium?
Did you run pip install --upgrade -r requirements.txt after installing sodium from tarball? I'm not sure, but I was thinking ZMQ might reconfigure during this step to use whatever libsodium it can find.
I've seen WebSocket errors too. One potential issue there is that the OpenBazaar team pushes their commits directly to the master banch. In other words, you're getting a bleeding edge development version when you download from github, which may or may not be ready to use. The OpenBazaar version downloadable from openbazaar.org are releases considered ready to use.
Either way, you can play around with checking out different commits. The latest commit may have some work-in-progress changes which have broken some things, so you'd want to use an earlier commit without the breaking changes. I'm using OpenBazaar-Server commit c5d47a4021f7066960656400faa5e758e79c3885 at the moment. It's from March 17 and with it, I'm not getting the websocket error I saw with the latest commit.
(in the openbazaar server directory)
$ git checkout c5d47a4021f7066960656400faa5e758e79c3885
$ python openbazaard.py start -t

On your Ubuntu system, do you see a folder /usr/local/include/sodium?

Yes

Did you run pip install --upgrade -r requirements.txt after installing sodium from tarball?

Yes

observer@bf7f651cd1ef:/observer$ git checkout c5d47a4021f7066960656400faa5e758e79c3885
Note: checking out 'c5d47a4021f7066960656400faa5e758e79c3885'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at c5d47a4... Fix but in btc_price
observer@bf7f651cd1ef:/observer$ exit
exit
root@bf7f651cd1ef:/observer# pip install --upgrade -r requirements.txt
Requirement already up-to-date: protobuf==3.0.0b2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Requirement already up-to-date: Twisted==14.0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 2))
Requirement already up-to-date: txrudp==0.5.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 3))
Requirement already up-to-date: pystun==0.1.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 4))
Requirement already up-to-date: bitcointools==1.1.44 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 5))
Requirement already up-to-date: gnupg==2.0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 6))
Requirement already up-to-date: pynacl==1.0.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 7))
Requirement already up-to-date: txrestapi==0.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 8))
Requirement already up-to-date: txws==0.9.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 9))
Downloading/unpacking python-libbitcoinclient==0.4.0 (from -r requirements.txt (line 10))
  Downloading python-libbitcoinclient-0.4.0.tar.gz (41kB): 41kB downloaded
  Running setup.py (path:/tmp/pip_build_root/python-libbitcoinclient/setup.py) egg_info for package python-libbitcoinclient

Requirement already up-to-date: python-bitcoinlib==0.5.0 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 11))
Requirement already up-to-date: pyopenssl==0.15.1 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 12))
Requirement already up-to-date: miniupnpc==1.9 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 13))
Requirement already up-to-date: bleach==1.4.2 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 14))
Requirement already up-to-date: service_identity in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 15))
Requirement already up-to-date: zope.interface>=3.6.0 in /usr/local/lib/python2.7/dist-packages (from Twisted==14.0.2->-r requirements.txt (line 2))
Requirement already up-to-date: enum34 in /usr/local/lib/python2.7/dist-packages (from txrudp==0.5.1->-r requirements.txt (line 3))
Requirement already up-to-date: psutil>=1.2.1 in /usr/local/lib/python2.7/dist-packages (from gnupg==2.0.2->-r requirements.txt (line 6))
Requirement already up-to-date: six in /usr/local/lib/python2.7/dist-packages (from pynacl==1.0.1->-r requirements.txt (line 7))
Requirement already up-to-date: cffi>=1.1.0 in /usr/local/lib/python2.7/dist-packages (from pynacl==1.0.1->-r requirements.txt (line 7))
Requirement already up-to-date: ecdsa in /usr/local/lib/python2.7/dist-packages (from python-libbitcoinclient==0.4.0->-r requirements.txt (line 10))
Requirement already up-to-date: pyzmq in /usr/local/lib/python2.7/dist-packages (from python-libbitcoinclient==0.4.0->-r requirements.txt (line 10))
Requirement already up-to-date: setuptools in /usr/local/lib/python2.7/dist-packages (from zope.interface>=3.6.0->Twisted==14.0.2->-r requirements.txt (line 2))
Requirement already up-to-date: pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=1.1.0->pynacl==1.0.1->-r requirements.txt (line 7))
Installing collected packages: python-libbitcoinclient
  Found existing installation: python-libbitcoinclient 0.4.2
    Can't uninstall 'python-libbitcoinclient'. No files were found to uninstall.
  Running setup.py install for python-libbitcoinclient

  Could not find .egg-info directory in install record for python-libbitcoinclient==0.4.0 (from -r requirements.txt (line 10))
Successfully installed python-libbitcoinclient
Cleaning up...
root@bf7f651cd1ef:/observer# su observer
observer@bf7f651cd1ef:/observer$ cat start.bash
python openbazaard.py start -t -a <IP_ADDRESS> -p 12060 -r 12061 -w 12062 -b 12063
observer@bf7f651cd1ef:/observer$ ./start.bash
________                      __________
\_____  \ ______   ____   ____\______   \_____  _____________  _____ _______
 /   |   \\____ \_/ __ \ /    \|    |  _/\__  \ \___   /\__  \ \__  \\_  __ \
/    |    \  |_> >  ___/|   |  \    |   \ / __ \_/    /  / __ \_/ __ \|  | \/
\_______  /   __/ \___  >___|  /______  /(____  /_____ \(____  (____  /__|
        \/|__|        \/     \/       \/      \/      \/     \/     \/

OpenBazaar Server v0.1 starting...
Exception : No UPnP device discovered
2016-03-24 14:06:33+0000 [OpenBazaard] [INFO] Finding NAT Type...
2016-03-24 14:06:42+0000 [OpenBazaard] [INFO] Symmetric NAT on <IP_ADDRESS>:1024
Traceback (most recent call last):
  File "openbazaard.py", line 301, in <module>
    Parser(OpenBazaard('/tmp/openbazaard.pid'))
  File "openbazaard.py", line 225, in __init__
    getattr(self, args.command)()
  File "openbazaard.py", line 263, in start
    int(args.heartbeatport), time.time())
  File "openbazaard.py", line 193, in run
    KeyChain(db, start_server, heartbeat_server)
  File "/observer/keys/keychain.py", line 28, in __init__
    callback(self)
  File "openbazaard.py", line 138, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVER_TESTNET, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 158, in setup
    s = ZmqSocket(self.frame_received, self.zmq_version)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 20, in __init__
    self.public_key, self.secret_key = zmq.curve_keypair()
  File "zmq/backend/cython/utils.pyx", line 60, in zmq.backend.cython.utils.curve_keypair (zmq/backend/cython/utils.c:923)
  File "/usr/local/lib/python2.7/dist-packages/zmq/error.py", line 135, in _check_rc
    raise ZMQError(errno)
zmq.error.ZMQError: Operation not supported

Is this still a problem @moldcraft ?

Yes
observer@bf7f651cd1ef:/observer$ git pull origin
Updating d690c66..617fa24
Fast-forward
 api/restapi.py         |  42 +++++++++++++++++++++++++----------------
 api/ws.py              |  33 ++++++++++++++++++++++++++------
 db/datastore.py        |  37 +++++++++++++++++++++++++++++++++++-
 market/contracts.py    |  59 ++++++++++++++++++++++++++++++++++++++++-----------------
 market/network.py      | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------
 market/transactions.py |  12 ++++++++++++
 net/wireprotocol.py    |   4 ----
 openbazaard.py         |   4 +++-
 8 files changed, 227 insertions(+), 99 deletions(-)
observer@bf7f651cd1ef:/observer$ ./start.bash
________                      __________
\_____  \ ______   ____   ____\______   \_____  _____________  _____ _______
 /   |   \\____ \_/ __ \ /    \|    |  _/\__  \ \___   /\__  \ \__  \\_  __ \
/    |    \  |_> >  ___/|   |  \    |   \ / __ \_/    /  / __ \_/ __ \|  | \/
\_______  /   __/ \___  >___|  /______  /(____  /_____ \(____  (____  /__|
        \/|__|        \/     \/       \/      \/      \/     \/     \/

OpenBazaar Server v0.1 starting...
Exception : No UPnP device discovered
2016-03-29 15:51:50+0000 [OpenBazaard] [INFO] Finding NAT Type...
2016-03-29 15:51:59+0000 [OpenBazaard] [INFO] Symmetric NAT on <IP_ADDRESS>:1024
Traceback (most recent call last):
  File "openbazaard.py", line 303, in <module>
    Parser(OpenBazaard('/tmp/openbazaard.pid'))
  File "openbazaard.py", line 227, in __init__
    getattr(self, args.command)()
  File "openbazaard.py", line 265, in start
    int(args.heartbeatport), time.time())
  File "openbazaard.py", line 195, in run
    KeyChain(db, start_server, heartbeat_server)
  File "/observer/keys/keychain.py", line 28, in __init__
    callback(self)
  File "openbazaard.py", line 140, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVERS_TESTNET, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 158, in setup
    s = ZmqSocket(self.frame_received, self.zmq_version)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 20, in __init__
    self.public_key, self.secret_key = zmq.curve_keypair()
  File "zmq/backend/cython/utils.pyx", line 60, in zmq.backend.cython.utils.curve_keypair (zmq/backend/cython/utils.c:923)
  File "/usr/local/lib/python2.7/dist-packages/zmq/error.py", line 135, in _check_rc
    raise ZMQError(errno)
zmq.error.ZMQError: Operation not supported

I can give you ssh access to my docker container moldcraft[at]email.com

Thank you for https://openbazaar.slack.com/archives/openbazaar-server/p1459546668000827
...
PASS: tests/test_spec_dealer
PASS: tests/test_spec_router
PASS: tests/test_spec_pushpull
./config/test-driver: line 107: 24949 Aborted                 (core dumped) "$@" > $log_file 2>&1
XFAIL: tests/test_req_correlate
./config/test-driver: line 107: 24978 Aborted                 (core dumped) "$@" > $log_file 2>&1
XFAIL: tests/test_req_relaxed
PASS: tests/test_conflate
PASS: tests/test_inproc_connect
PASS: tests/test_issue_566
PASS: tests/test_proxy
PASS: tests/test_proxy_single_socket
PASS: tests/test_proxy_terminate
PASS: tests/test_getsockopt_memset
PASS: tests/test_setsockopt
./config/test-driver: line 107: 25404 Aborted                 (core dumped) "$@" > $log_file 2>&1
FAIL: tests/test_many_sockets
PASS: tests/test_ipc_wildcard
PASS: tests/test_diffserv
PASS: tests/test_connect_rid
...

...
PASS: tests/test_abstract_ipc
make[4]: Entering directory `/observer/libzmq'
Making all in doc
make[5]: Entering directory `/observer/libzmq/doc'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/observer/libzmq/doc'
make[5]: Entering directory `/observer/libzmq'
make[5]: Leaving directory `/observer/libzmq'
make[4]: Leaving directory `/observer/libzmq'
============================================================================
Testsuite summary for zeromq 4.2.0
============================================================================
# TOTAL: 79
# PASS:  76
# SKIP:  0
# XFAIL: 2
# FAIL:  1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to<EMAIL_ADDRESS>============================================================================
make[3]: *** [test-suite.log] Error 1
make[3]: Leaving directory `/observer/libzmq'
make[2]: *** [check-TESTS] Error 2
make[2]: Leaving directory `/observer/libzmq'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/observer/libzmq'
make: *** [check-recursive] Error 1

But still doesn't work
observer@bf7f651cd1ef:/observer$ cat start.bash
python openbazaard.py start -t -a <IP_ADDRESS> -p 12060 -r 12061 -w 12062 -b 12063
observer@bf7f651cd1ef:/observer$ ./start.bash
________                      __________
\_____  \ ______   ____   ____\______   \_____  _____________  _____ _______
 /   |   \\____ \_/ __ \ /    \|    |  _/\__  \ \___   /\__  \ \__  \\_  __ \
/    |    \  |_> >  ___/|   |  \    |   \ / __ \_/    /  / __ \_/ __ \|  | \/
\_______  /   __/ \___  >___|  /______  /(____  /_____ \(____  (____  /__|
        \/|__|        \/     \/       \/      \/      \/     \/     \/

OpenBazaar Server v0.1 starting...
Exception : No UPnP device discovered
2016-04-02 12:05:43+0000 [OpenBazaard] [INFO] Finding NAT Type...
2016-04-02 12:05:51+0000 [OpenBazaard] [INFO] Symmetric NAT on ############:1024
Traceback (most recent call last):
  File "openbazaard.py", line 304, in <module>
    Parser(OpenBazaard('/tmp/openbazaard.pid'))
  File "openbazaard.py", line 228, in __init__
    getattr(self, args.command)()
  File "openbazaard.py", line 266, in start
    int(args.heartbeatport), time.time())
  File "openbazaard.py", line 196, in run
    KeyChain(db, start_server, heartbeat_server)
  File "/observer/keys/keychain.py", line 28, in __init__
    callback(self)
  File "openbazaard.py", line 141, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVERS_TESTNET, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 158, in setup
    s = ZmqSocket(self.frame_received, self.zmq_version)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 20, in __init__
    self.public_key, self.secret_key = zmq.curve_keypair()
  File "zmq/backend/cython/utils.pyx", line 60, in zmq.backend.cython.utils.curve_keypair (zmq/backend/cython/utils.c:923)
  File "/usr/local/lib/python2.7/dist-packages/zmq/error.py", line 135, in _check_rc
    raise ZMQError(errno)
zmq.error.ZMQError: Operation not supported

Did you pip uninstall pyzmq and reinstall it?

pip uninstall pyzmq
Can't uninstall 'pyzmq'. No files were found to uninstall.

# pip install -r requirements.txt
....
Requirement already satisfied (use --upgrade to upgrade): pyzmq in /usr/local/lib/python2.7/dist-packages (from python-libbitcoinclient==0.4.2->-r requirements.txt (line 10))

Try
pip install --upgrade pip

and then remove and reinstall it.

Same https://github.com/OpenBazaar/OpenBazaar-Server/issues/305#issuecomment-204722746
@drwasho Has the access details to my server, I can also send them to you. I think it will be much faster if you will inspect the problem yourself instead of telling me which command to execute.
I will send you the details on email brianchoffman[at]gmail.com.

same issue, tried everything in the thread

Works for me with the latest pull

I can't tell the same
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/observer/keys/keychain.py", line 51, in create_keychain
    callback(self, True)
  File "openbazaard.py", line 143, in start_server
    libbitcoin_client = LibbitcoinClient(LIBBITCOIN_SERVERS, log=Logger(service="LibbitcoinClient"))
  File "/usr/local/lib/python2.7/dist-packages/obelisk/client.py", line 68, in __init__
    ClientBase.__init__(self, address)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 35, in __init__
    self._socket = self.setup(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmqbase.py", line 159, in setup
    s.connect(address, public_key)
  File "/usr/local/lib/python2.7/dist-packages/obelisk/zmq_fallback.py", line 28, in connect
    self._socket.connect(address)
  File "zmq/backend/cython/socket.pyx", line 509, in zmq.backend.cython.socket.Socket.connect (zmq/backend/cython/socket.c:5307)
TypeError: expected str, got: [('tcp://libbitcoin1.openbazaar.org:9091', 'ptCDh+i&@k3CYEa)(tC=j9$yN/eD&}@LJojDUGo7'), ('tcp://libbitcoin3.openbazaar.org:9091', 'pco)6}^g!]5b7#byrx>[=MCI#W?DCF}K3FoS6nTu')]

Following my own instructions, I wasn't able to run on Ubuntu 12.04 due to the error-
zmq.error.ZMQError: Operation not supported

I'm not a python developer so I don't know too much about the technical aspects of python virtualenv, but I'm having much more success by running openbaazard.py in a virtualenv. I'm assuming this is because the libsodium or ZMQ at the system level has conflicts with OpenBazaar code, but pynacl installed by pip does not? Maybe someone in the know could comment on this.
This results in no server errors for me in 12.04 and 14.04--
make a python virtual environment
virtualenv observer

activate the environment
source observer/bin/activate

install dependencies inside the virtualenv
pip install -r requirements.txt

start the server inside the virtualenv
python openbazaard.py start -a [my_client_ip_address]

@drwasho Finally! :tada:


New json api

The following commits make the plugin work again with the new JSON API that is used by Ö1. Another commit improves performance significantly by not building the track URLs when listing the items, since this requires an HTTP request for each item.

Fixes Bug #2.

Thanks for the PR, sorry I had to let you wait for so long. I also noticed that the new API returns metadata of future broadcasts. Because time travel is still a bit complicated, those get filtered out for now.


Incorrect documentation link in the getting started guide for changelog files

Description
In the getting started guide, the link to database changelog file goes to the documentation for the databasechangelog table, but it should probably go to the documentation for the changelog file formats instead.
┆Issue is synchronized with this Jira Bug by Unito

Thanks @rhowe Thanks for pointing this out.
This belongs in the docs repository.  Please reopen here:https://github.com/Datical/liquibase-docs/issues

Thanks - raised here https://github.com/Datical/liquibase-docs/issues/75


create something like jb for ytt

jb is a package manager for jsonnet. When the adoption of ytt get larger, something like jb (yb?) would probably be helpful to manage import of various std/custom libs

@fredwangwang have you seen https://github.com/k14s/vendir? we use in a few places to pull in configuration from various sources.

@cppforlife thanks! Clearly I don't know where to find stuff. Is it possible to mention vendir on the readme/docs of ytt so vendir is better surfaced?


New version: JAMSoftware.TreeSize version 8.3.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?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Resolves #54944

Microsoft Reviewers: Open in CodeFlow

/azp run


GraphQLObject with bson::oid::ObjectId

Describe the bug
Compilation problem with derive GraphQLObject on structure with bson::oid::ObjectId.
rocket = { version = "0.5.0-rc.1", default-features = false }
juniper = "0.15.9"
juniper_rocket = "0.8.0"
bson = "2.1.0"

To Reproduce
use juniper::{EmptyMutation, EmptySubscription, RootNode, GraphQLObject};
use juniper_rocket::GraphQLResponse;
use rocket::State;
use bson::oid::ObjectId;

#[derive(GraphQLObject)]
pub struct OutputType {
    pub id: ObjectId,
    pub string: String,
}

pub struct Query;
#[juniper::graphql_object]
impl Query {
    async fn test() -> OutputType {
        OutputType {
            id: ObjectId::default(),
            string: "hello".to_string()
        }
    }
}

type Schema = RootNode<'static, Query, EmptyMutation, EmptySubscription>;

#[rocket::post("/graphql", data = "<request>")]
async fn post_graphql_handler(
    request: juniper_rocket::GraphQLRequest,
    schema: &State<Schema>,
) -> GraphQLResponse {
    request.execute(&schema, &()).await
}

#[rocket::main]
async fn main() {
    rocket::build()
        .manage(Schema::new(Query, EmptyMutation::new(), EmptySubscription::new()))
        .mount(
            "/",
            rocket::routes![post_graphql_handler],
        )
        .launch()
        .await
        .unwrap();
}

Expected behavior
No compilation error

@barvirm juniper 0.15 depends on 1.0 version of bson. The support for 2.0 bson was added in #979 and will land in 0.16 juniper release.


Introduce generic ListBox component used in Combobox, MultiSelect, and Dropdown

Closes carbon-design-system/carbon-components-react#
Adds in a generic ListBox component that can be used for things like MultiSelect, Combobox, and more.
Preview URL: https://goo.gl/Z5VZPp
Changelog
New

ListBox and ListBox* components
MultiSelect component
Combobox component
DropdownV2 component

Changed
Removed

Great to see progress here @joshblack! Is the code at the stage where I can try out the features? I’m getting the following (when I go to Combobox - Pre-selected, type something, then move focus out of input box) and wondering if I’m doing something stupid:
Uncaught TypeError: Cannot read property 'label' of null
    at Object.defaultItemToString [as itemToString] (preview.bundle.js:84940)
    at preview.bundle.js:86534
    at Downshift.<anonymous> (preview.bundle.js:85908)
    at ReactCompositeComponentWrapper._processPendingState (preview.bundle.js:42882)
    at ReactCompositeComponentWrapper.updateComponent (preview.bundle.js:42825)
    at ReactCompositeComponentWrapper.performUpdateIfNecessary (preview.bundle.js:42768)
    at Object.performUpdateIfNecessary (preview.bundle.js:4591)
    at runBatchedUpdates (preview.bundle.js:2286)
    at ReactReconcileTransaction.perform (preview.bundle.js:6907)
    at ReactUpdatesFlushTransaction.perform (preview.bundle.js:6907)

Another thing I found is that I see many changes in this PR that seem irrelevant to combobox. It’d be great if you can keep your Prettier setting in sync with the one in latest master, in case you haven’t done it already. Thanks!

Hi @asudoh! Thanks for checking it out. This was me initially bringing work over from carbon-addons-beta-react, I have some work locally that I'll push up after a design sync today 😄
With respect to prettier, because the lint-staged hooks aren't hooked up files haven't been run against prettier. Since I ran the script manually, it triggered these files to appear in the diff.

Have a URL to view the behavior of combobox that we'll try to match 😄  (if you're curious): https://carbon-addons-beta-storybook-hotfix.mybluemix.net

Thanks @joshblack for more info! Great to see that Typeahead component works pretty well on carbon-addons-beta-storybook-hotfix.mybluemix.net. The only one thing I found there was that the dropdown does not open when the text box is focused initially, but when I type a character and then hit Backspace the dropdown opens. Anyhow looking forward to see TypeAhead code in this PR working!
Also great to see MultiSelect is working pretty well. Will “Clear Selection” button be added soon?
BTW thank you for clarifying the Prettier thing. Going forward, it’d be nice if you can put extra care on managing diffs. If I understand correctly on what you said about Prettier, you can stage only relevant files after running Prettier before checking stuffs in, and stage all other files and then create another commit. In this way, you can remove the latter commit e.g. with git rebase -i (and cherry-pick the latter commit to another branch) before creating a PR. Thanks!

@asudoh

Keeping highlight when hitting Enter key

Agreed, this was a big complaint when I was working with it. We need to find a way to control the highlightedIndex value on downshift so that it doesn't just reset on each selection.
RE: the input notes you left, I was hoping getItemProps would take care of it but it doesn't seem like it. Maybe I'm using it incorrectly?

Thanks for fixing things, @joshblack! Some issues I found while I fiddled with your latest code (though neither of them seems new) were:

I cannot open the menu with down arrow key once it’s opened and closed (Spacebar works, though)
The focus seems orphaned after

Hitting Enter on the badge (or clicking on the badge)
Clicking on check box

It’d be great if you have quick fixes for those - Thanks!

Couple of TODOs:

[ ] Update MultiSelect tests
[ ] Update MultiSelect story
[ ] Add complete stories for DropdownV2, MultiSelect, Combobox
[ ] Surface translateWithId hooks through each component for i18n compat

Looking awesome! 🎉 A few UX bugs to address:

[ ] When I clear all from the Inline and regular dropdown, the drawer from the dropdown should not reopen (the number badge should disappear and the label should reposition)

[ ] Was having trouble with keyboard tabbing through the multiselect (I couldn't get the drawer to open) . Using Chrome latest

[ ] Can we add a transition to the hover? @tay-aitken maybe can you advise on what this should be?

[ ] User inputted text should be semi-bold instead of regular
(current shown below)

[ ] Did we build out Multi-select + Filtering?

[ ] TBD after I chat with @tay-aitken , but noticed the hover on the drawers is different for multi and single select. Just want to make sure that was intended.

Naming
Just wanted to clarify a few naming things. I see ListBox, Combobox, and Dropdown. On the website we'll be displaying this component as the Dropdown, with multiselect and filter being variations of the dropdown.
We want to keep that pretty in sync with how the code is structured naming wise. Does that still make sense?

Thanks @bsonefeld!
With respect to naming, ListBox is what powers the other components. The external API we surface to users should match the naming conventions you were talking about. The only concern here is that we overload Dropdown with too large of an API surface area, which would make it harder to use for first-time users. If we could find a way to name individual components that match the variations you're talking about, that would help out a ton. For example:

Dropdown
InlineDropdown
MultiSelect
InlineMultiSelect
FilterableMultiSelect
FilterableDropdown
InlineFilterableDropdown

But I would totally get if these names aren't immediately intuitive.
Also, RE: multi-select + filtering it's on the way today! 😄

Can we add a transition to the hover? @tay-aitken maybe can you advise on what this should be?

I would add the same transition as we have on buttons.

[ ] Is appears the tag has a higher z-index than the dropdown drawer. The dropdown drawer should cover anything beneath it

[ ] the check boxes don't seem centered in their respective rows, please center (only on multi-select versions)

[ ]  it seems like the padding around the interior of the drawer is not equal on all sides, this may be due to the checkboxes + labels not being centered.

Sounds good. For reference, this is how we're referring to each bit of the Dropdown in the usage and style tabs.

@bsonefeld forgot to follow-up:

Was having trouble with keyboard tabbing through the multiselect (I couldn't get the drawer to open) . Using Chrome latest

Just use spacebar!

Focus states
I noticed a few inconsistencies in focus states that need to be addressed. Currently the keyboard action between a plain component 9checkbox) and that same component, nested inside another component, are not the same.

[ ] for checkboxes, on their own, the keyboard action is to push spacebar to check and uncheck a box. We need to keep this consistent in the combobox, I believe this is also the inherited browser state. Currently it is using enter.

However changing that keyboard action to be consistent with the component on its own, conflicts with the keyboard board action to open/close the dropdown(s), which is also spacebar. The old dropdown is using spacebar,up and down arrows , enter to open close the drawer. Select is uses up and down arrows and spacebar to open/close drawer. I think having three options for open/closing dropdown (four if you count esc for closing) is excessive.
Im thinking we use enter to open and close drawer so we can keep spacebar consistent with checkmarks. Thoughts @bsonefeld @joshblack

[ ] pushing esc open and closes the dropdown drawer, it should only close the dropdown drawer (only seems to be doing this for multi-select)

Regarding the comment above about hover states, they should all be the lighter gray color. They were inconsistent in my designs. It looks like the gray has been carried over properly here.
Also Josh how do you feel about adding motion to the drawer?
Dropdown
This occurs when the dropdown is clicked open/closed

[x] opening (ease-out: 0, 0, 0.25, 1 )
[x] closing (ease-in: 0.25, 0, 1, 1)
[x] timing: 300ms

@joshblack is there any intention to support potentially async operations? As in, I have a large number of items that could appear but don't want them all rendered (for perf). Maybe it's an enhancement once this is done but I was thinking of something like, instead of provided an array of items, we just provide a getter (getItems) which is given the filter value and returns the items. We could do both really, for simple scenarios, items, for async, large datasets, getItems?

Refs https://github.com/carbon-design-system/carbon-components-react/issues/406


Release v0.2.2

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 72.93%. Comparing base (753c02b) to head (fdaf75c).

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #93   +/-   ##
=======================================
  Coverage   72.93%   72.93%
=======================================
  Files          11       11
  Lines         484      484
  Branches       77       77
=======================================
  Hits          353      353
  Misses         89       89
  Partials       42       42

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Essential Warp sign/command cannot be use without being operator (spigot server)

I recently try to use LuckPerms for my spigot server. I have created all my group and set all the permissions but I have an issue with the warp sign/command from essential.

After setting all my groups and there's prefix, I have restarting my server.
Then I create a warp with this "/setwarp Ressource"
Then I use "/lp editor" to add permissions to this new warp for the group I named "Aventurier"
In the "Aventurier" panel I add :
- essentials.warp
- essentials.warps.Ressource
Then save and paste the link in minecraft.
Then I make a little "/reload"
Then I create a sign like this :

       [warp]
    Ressource
    _nothing
    nothing_

I tell a player, set it group to "Aventurier" and ask it to click on sign
And finally it don't teleport and say nothing (but I think the feedback command is not an issue from LP)

Can someone help me to understand why it doesn't work ?
I'm an operator and it work for me..

There is a list of plugins that I use on my server :

DeathMessagesPrime
EssentialsX-<IP_ADDRESS>
EssentialsXChat-<IP_ADDRESS>
EssentialsXProtect-<IP_ADDRESS>
EssentialsXSpawn-<IP_ADDRESS>
LuckPerms-Bukkit-5.2.35
multiworld
ProtocolLib
PsudoCommands
SuperVanish-6.2.0
Vault
worldedit-bukkit-7.2.0
worldguard-bukkit-7.0.4

You need to stop debugging permissions with op, de-op yourself to make things easier for you
You'll probably find Verbose mode is useful for these things - it will tell you in real time what permissions are lacking for a particular action.

Your are the best. I see I miss a permission : essentials.signs.warp
Using "/lp verbose on" and see the console all the permissions is very helpfull !


#38 Added surefire report processing.

Coverage increased (+0.02%) to 90.118% when pulling 7fcf7471dc46b22942c137867c75e086e8444cf2 on GooDer:fix/surefirereport into b28e8cb1b37a9b7f9573848439d3be5c6252f297 on jbehavesupport:master.


Move datamodel to separate packages

The layer of code that uses pysam to answer GA4GH methods could be made more portable.
We might package up the datamodel classes that require pysam as it is probably our heaviest dependency and then isolate the tests that just test these paths.
We could then run the datamodel and datadriven tests, which load up various VCF/BAM, etc. to guarantee we are translating properly from the data to our datamodel in an upstream repository. This reduces the testing surface of the server and better demonstrates usage of dependencies.
Then, when adding via the registry, one would specify the classname in the datamodel being used to access the resource. Managing the available class names would be the same as adding them to the proper namespace in the underlying package, and exposing the methods by name. (ga4gh.datamodel.HtsLibVariantSet provides search_variants, search_call_sets).
I provide this as a point of discussion and a place to offer experimental implementations. @andrewjesaitis has split out the variants datamodel in the past when prototyping a python grpc.
To do this properly we may need to decouple the identifier scheme to provide local identifiers within a set (get_variant_by_id). The assumptions of the ownership of a dataset will need to be removed, but some mechanism for randomly accessing variants will still need to be provided.
The server itself will have dependencies for managing its registry, performing authorization/authentication, and de/seriliazation. The datamodel classes provide the controllers for databases and files, and during testing will be imported. When running full stack tests, all of these modules will be put through their paces. But in the server we won't need to run the unit tests on the datamodel or the datadriven tests, as these will have been run elsewhere and guaranteed passing for any master-branch software.
This is an approach to solving https://github.com/ga4gh/server/issues/1102 . In principle we can provide the registry interface for adding classes by name without moving the datamodel code out. But without a nice developer interface to others wanting to create controllers that can satisfy API requests, it will be difficult to explain.
ga4gh_repo add-variantset registry.db dataset1 myvcf.vcf.gz
# Please install `ga4gh-pysam` to be able to access variant data in VCF.
ga4gh_repo add-rnaquantificationset registry.db dataset1 postgres://<IP_ADDRESS>/rsem
# Please install  `ga4gh-postgresql` to access data stored in postgres.

We can do our best to reason about the file types, etc. But the real power comes in for someone wanting to add a GA4GH API to their database. They create a package and call it ga4gh-mydatabase, add it to the datamodel namespace, and create a class called MyDatabase that exposes the controller functions in backend.
Then when adding to the registry they call ga4gh_repo add-variantset registry.db dataset1 myTableName -C ga4gh.datamodel.MyDatabase. This class is stored in the registry so that when a request comes in to access variants, the underlying method is run. This model is complicated if one considers one might like to have an adapter that allows one to add multiple variant sets. Supporting that feature will require a rethinking of how the registry is organized as multiple database calls would need to be merged to answer a SearchVariantSetsRequest.
Other than the RPC methods, I believe that "plugins" only need to expose a method like populateFromFile, which tries to create a sensible registry entry for the container from the file's metadata.
As a final note, I believe that registry management and ETL processes should be clearly separated. If there is an ETL process to create a ga4gh-sqlite RNAseq dataset, then that should be attached to the datamodel class, not the registry editor. If you are convinced that splitting out the datamodel will be worth the effort, you might also be convinced the registry editor could be packaged and versioned separately.

There are several ideas here and I think it might help to separate them out. Let me try to summarize and make some comments

Creating an abstract class layer at the data model with the characteristic that Pysam dependancies are encapsulated

This ties right in with the idea of modularizing our server implementation. Keeping our Pysam dependancies encapsulated in the lower layer makes a lot of sense to me. We will not need Pysam if we add data model class to access a VCF database. I will remind readers of a document I started to track the larger design discussion. Please feel free to contribute and comment on this document.

Providing a mechanism to specify the data model class to use with the repo manager

This is an interesting idea but I think it has a couple of problems
a. It further complicates an already too complicated repo manager command line structure
b. There are other ways to specify which class to use that should also be considered; using a configuration file for instance.

Attaching ETL processes to the relevant data model class

Yes, absolutely. And this is one of the big selling points to this architecture.

Creating a testing mechanism to cover the different data model implementations

Yes, as you say, the tests must be designed for the layers. So we will have a set of tests that will validate that the data model works and another set of tests that are specific to that class's implementation.

I'm all for this. I think the rub as @kozbo correctly identified is the registry management. One idea there would be to move to/add a more configuration-centric model of registry control. I'd imagine in settings.py|json|yml you would basically specify the structure of the data being served, appropriate backend, and any necessary metadata. Then on startup, the server would verify that the structure specified match the registry. If not, it'd create/remove the required entries in the registry. An additional benefit you'd get is a portable "registry" (ie the config file) that could be packaged with the data.

Thanks for the feedback! Ideally, the datamodel isolates the metadata gathering portion of verifying the structure. Then the resulting configuration files could be easily generated.
It seems like you both don't like the idea of having to specify the classname when adding via the registry. This is a bit confusing and perhaps we could structure the plugin architecture around URL schemes instead. So each connector registers a protocol. That way, instead of having to keep track of classnames the plugin author creates a pysam:// url scheme that can be interpreted at registry add.
Then, when you go to follow someone's directions online for setting up your server and it shows a url pattern, we can go and download the connector for them.
ga4gh_repo add-variantset registry.db pysam://myvcf.vcf.gz
# The pysam connector requires `ga4gh-pysam`, downloading...

I think that providing a better interface to modify the prepopulated values will be a huge win, unfortunately, I believe that the requirements for referential make setting relational metadata difficult (without some automation).
Other APIs solve this by creating a unified write layer so that one can create an application that will manage the curation, and lookups of related data. I think you're both moving towards standardizing the document ingestion interface, which I think will be a good step towards that. Having an endpoint that I can post that document to will open up a lot of features. I think it is a more sensible repo manager interface than the CLI we provide. No one ever wants to write JSON on the command line.
Maybe our process would improve if we first used the datamodel to generate a document that the registry manager knows how to handle, instead of just putting those values into the class model. Then the repo manager takes a configuration file generated by the data model, and no other flags. The process would be more like "prepare variant set", which generates a header file you can edit to change the metadata, and then add-container to the registry. The repo manager would just have to add/remove containers and read in the configuration to reason about what type of container was being added.


Code block horizontal scroll not easily scrollable by mouse for step 12 Responsive Web Design track

Describe the Issue
On step 12 of the Responsive Web Design (RWD) Certification, the code block containing the html and text "I think freecodecamp is great" is not easily scrollable horizontally by mouse. The code block's contents are not 100% visible unless a user focuses on the code block and presses the left and right arrow keys with a keyboard. Developer tools reveal there is more html code in the code block not displaying unless scrolling by left and right arrow keys.
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-12
Steps to Reproduce

Navigate to Step 12 of the RWD curriculum: https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-12
Scroll to the code block containing the html
I think freeCodeCamp is great.

Try to use your mouse to scroll horizontally to the right to reveal the rest of the code, including the closing  tag

Expected behavior
User should have no difficulty scrolling that code block to see the code in its entirety. User should be able to use their mouse to scroll horizontally without needing to use right and left arrow keys on their keyboard. This could be especially useful to anyone brand new to coding who may be having issues seeing the entire code and /or do not know how to fully create an anchor tag.
Screenshots
(Brave Browser)

System

Device: Laptop (Macbook Air)
OS: Mac
Browser(s): Chrome, Firefox, Brave
Version (Chrome): 117.0.5938.132 (Official Build) (x86_64)

Additional context
Issue was created on the basis that someone brand new to coding may not immediately know how to use the  anchor tag with just the example code alone (which looks incomplete on first sight but in fact needs to be scrolled into view). The question also raised is whether it is obvious there is more code than what the code block initially displays AND whether the user knows right away they can try scrolling horizontally and see the rest of the code. As a non-beginner who is reviewing the fundamentals, the code did not look complete to me and that is when I discovered these user experience issues.

...the code block containing the html and text "I think freecodecamp is great" is not easily scrollable horizontally by mouse

Can you be more specific by what you mean? I see a horizontal scroll bar on the code block (and I see one in the screen snap you provided above). I am able to scroll horizontally by using my mouse. I drag the mouse pointer over the scroll bar and then hold down the left mouse button and move the mouse right/left to scroll.

The question also raised is whether it is obvious there is more code than what the code block initially displays

I think this might be a legitimate concern. My browser does not show the horizontal scroll bar on the code example by default. I only see the scroll bar if I hover over any part of the code example box with the mouse. Granted, this is controlled by a setting in my browser. I can set it to always show scroll bars if I desire. But if anyone doesn't have scroll bars set to show all the time then they may not recognize that the code block is scrollable and then they won't see the hidden code. Perhaps we should add something to signal that there is more code to see?

...the code block containing the html and text "I think freecodecamp is great" is not easily scrollable horizontally by mouse
Can you be more specific by what you mean? I see a horizontal scroll bar on the code block (and I see one in the screen snap you provided above). I am able to scroll horizontally by using my mouse. I drag the mouse pointer over the scroll bar and then hold down the left mouse button and move the mouse right/left to scroll.

Yes, let me try to be more specific. I am using a Macbook Air, and my mouse is actually a mouse pad. When I try to scroll over the code block to see the rest of the code, I can only do so by clicking on that section as best I can (assuming I clicked or focused on that element, because there's no immediate indicator like an outline). Then I test to see that I did in fact select the code block by pressing down on my right and left keyboard arrows (which is when the focus outline appears).
If you notice my original screenshot, I can only see the scroll bar easily in the dev tools for Brave browser, but my new video below shows that's not the case (for Chrome browser). This issue was tested on 3 separate browsers, the last one being Firefox. Adding these details to the issue description as well.
https://github.com/freeCodeCamp/freeCodeCamp/assets/22532097/779a4e39-bfb8-479b-8cdb-aab38a8bb5ad

Hey, can i please solve this issue? i have got the gist of it.

Hey, can i please solve this issue? i have got the gist of it.

Please stop and read our contributing guide.
https://contribute.freecodecamp.org/
This issue is not marked as ready for contributions or help wanted. Also, we do not assign issues.

Thank you for the video @ARodriguezHacks. That is very interesting. I don't have a mac so I can't replicate this. Perhaps someone else with a mac will be able to chime in on whether they can replicate this, or even provide a solution.
The code example isn't doing anything special as far as scrolling is concerned. It is relying on the browser to provide the scroll bar when needed. I can tell you that I am able to use the scroll bar with a mouse on both my linux and Win11 systems with Chrome and Firefox. This leads me to believe that this is an issue specific to your mac, or maybe macs in general. But I'm not a mac person so I'm really just guessing here. I did google "macos horizontal scroll" and found a bunch of links explaining how to do horizontal scroll on macs, which sort of implies that this is/was an issue, but I have no idea if those are still relevant.
If you have the time, would you test a different page to see if you are able to horizontal scroll with your mouse?
https://cdpn.io/aardrian/debug/MWeRJWd
This is a codepen from a very well-known and reputable accessibility expert. You must narrow your browser window all the way in so that the right edge of the table gets cut-off. The table is built to horizontal scroll on purpose when you do that. Are you able to scroll the table horizontally when this happens?

I can only do so by clicking on that section as best I can (assuming I clicked or focused on that element, because there's no immediate indicator like an outline).

By design the focus outline does not show up when you are using the mouse (it only shows up when you use the keyboard). But perhaps we need to add it back for mouse clicks on these code example boxes to make it clear that the box has focus and can be scrolled.

@bbsmooth I tested the link you shared and followed your steps. The horizontal scrolling works as expected, and I am able to scroll with my mouse pad without issue. I can't say the same thing, though, for the code block in the affected freeCodeCamp page.
https://github.com/freeCodeCamp/freeCodeCamp/assets/22532097/2cba20df-dbd3-44e4-95de-ab4afd4f353e

Thank you for the testing and video @ARodriguezHacks. I will have to compared the website with the table to the code block example in fCC and see if I can find a difference that might be causing your scrolling problem with the code blocks.
For the page with the table, are you having to click on the table (or page) first before you can scroll? Or is it enough just to hover your mouse cursor over the table?

I will have to compare the website with the table to the code block example in fCC and see if I can find a difference that might be causing your scrolling problem with the code blocks.

I also don't have mac so I've not tested, but it seems that the fCC code block (I think this is pre[class*=language-] in css) does not have overflow: auto;, while the example table block (this is [role="region"][aria-labelledby][tabindex] in css) has the property.

Perhaps we should add something to signal that there is more code to see?

I agree with you because even someone completely new to coding needs to be able to notice at first glance that only a portion of the code is originally visible within a code block, especially on mobile devices.
text-overflow: ellipsis; may be able to provide the signal, as shown in video below.
But the property should be overwritten the value clip when the code is scrolled.
This is merely an idea, and I don't know this is the best practice.
Because I haven't seen any concrete, proven examples.
example: display the ellipsis in the code and remove it when scrolling (windows11 PC, Firefox)
https://github.com/freeCodeCamp/freeCodeCamp/assets/44451585/7dfd705f-63e3-4538-b04c-5833df8cb89f

it seems that the fCC code block (I think this is pre[class*=language-] in css) does not have overflow: auto;

My dev tools is showing that pre[class*=language-] has overflow set to auto.

My dev tools is showing that pre[class*=language-] has overflow set to auto.

Sorry, I simply overlooked the property in dev tools and also the codebase so you are definetely correct.

Thank you for testing and the video @ARodriguezHacks. I will have to compare the website with the table to the code block example in fCC and see if I can find a difference that might be causing your scrolling problem with the code blocks.
For the page with the table, are you having to click on the table (or page) first before you can scroll? Or is it enough just to hover your mouse cursor over the table?

@bbsmooth apologies for the late reply, but to answer this question, Yes, it is enough for me to just hover over the table with my mouse pad to scroll horizontally.

Since the main difference appears to be that one is using a div and the other is using pre, I've put together some examples of both in a codepen. @ARodriguezHacks, if you, or anyone else using macOS has the time, I would appreciate it if you could test the four examples in my codepen and see which (if any) you are able to scroll with your mouse and report back. I don't think videos are necessary, just yes/no for each one. Also, if you have both an actual mouse and a trackpad, please test with both of them.

@bbsmooth The 4 Codepen examples are all scrollable via hovering (as well as non-hovering) with my Mac laptop's mouse pad. However, I'm confused about the 'actual' mouse test. With an actual mouse, I'm not able to hover and scroll, I don't believe that's possible, Mac or otherwise, unless you meant if using an actual mouse works as expected too. Which it does, by the way., by the usual dragging of the scrollbar since it's clearly visible.
I do wonder if the code in the freeCodeCamp page has any z-index issues? I will do additional testing as well, but I wonder if the code for that code block is too nested, so when a user hovers over the section with their mouse, the mouse cannot easily detect that the code block exists and that there's more content by scrolling.

UPDATE: I'm not entirely sure if the codebase has been updated but I checked 3 browsers on my Mac, but now the scrollbar is visible for the code block.
I still cannot scroll by hovering with my mouse pad, but this seems like an appropriate fix from at least a user experience perspective, because now we can see the scrollbar to indicate there is more to the code block than what my previous video was displaying. I even checked on my Ubuntu desktop, and it's showing the same thing.

It is still broken for me with WebKit (using Playwright on Windows).

It has the "Scroll" badge in the Element Inspector (same as how Firefox does it) but no scroll bar. Setting it directly to scroll also doesn't do anything. I also tried creating an overflow using fixed width on both the pre and code elements and it still does not create a scroll bar.

@ARodriguezHacks

unless you meant if using an actual mouse works as expected too. Which it does, by the way.

Yes, this is exactly what I meant, just using an actual physical mouse. I just wanted to verify that that was working OK and it was just the trackpad mouse that wasn't working.

@ARodriguezHacks

UPDATE: I'm not entirely sure if the codebase has been updated but I checked 3 browsers on my Mac, and all of a sudden now the scrollbar is visible for the code block.

I'm not aware of any updates that would have an affect on this.

@ARodriguezHacks:

The 4 Codepen examples are all scrollable via hovering (as well as non-hovering) with my Mac laptop's mouse pad.

These four examples are not really doing anything different than what the fCC code blocks are doing. The main difference is that the fCC code block is embedded in a div that has absolute positioning. I'll create some more codepen tests emulating that and if you are willing to test again maybe we can figure out if that is the issue.

@bbsmooth It is super simple to set up Playwright in case you want to test it.
https://joyofcode.xyz/test-your-site-in-every-browser
It might not be 100% the same as Safari on a Mac but it usually works just fine for testing.

@ARodriguezHacks

I still cannot scroll by hovering with my mouse pad

In Win11/linux, I can hold down the Shift key while scrolling with my middle mouse button and that will cause the mouse to scroll horizontally instead of vertically. When I try that with my four codepen examples then it works as expected. I do not need to put focus on the code blocks. I can just hover my mouse over each code block, hold down the Shift key, and them scroll the middle mouse wheel and the code block will scroll horizontally. I believe this is equivalent to what you are doing with your trackpad.
But when I try this with the fCC code block in step 12, instead of the code block scrolling horizontally, the entire editor window scrolls horizontally, even if I have focus set on the code block itself. I'm guessing that the monaco editor is hijacking the scroll event and preventing the code block from scrolling horizontally. I am not surprised by this, as it hijacks a lot of other events that we have had to work around in the past. So when you are trying to horizontal scroll with your trackpad it is actually scrolling, but its scrolling the entire editor window, not the code block.
The reason you are not seeing any scrolling is because you probably do not have the editor's accessibility mode turned on. When you turn accessibility mode on then the editor does not line wrap long lines and thus long lines will overflow on the right side of the editor, which will allow for horizontal scroll to be seen. You can toggle accessibility mode using Ctrl + e on Win/linux. I'm assuming it is something similar on mac. If you can't find it then while focus is in the editor hit F1 on your keyboard and search for Toggle Accessibility Mode. Once you've enabled accessibility mode and try to horizontal scroll the code block I think you'll see that it is scrolling the editor instead.
So I think this solves the mystery of why horizontal scrolling with the trackpad isn't working. You'll just need to use the traditional method of clicking the actual scroll bar and dragging it to scroll. And it sounds like you are now seeing the scroll bar? Can you think of anything you might have done to make this happen?

But when I try this with the fCC code block in step 12, instead of the code block scrolling horizontally, the entire editor window scrolls horizontally, even if I have focus set on the code block itself. I'm guessing that the monaco editor is hijacking the scroll event and preventing the code block from scrolling horizontally. I am not surprised by this, as it hijacks a lot of other events that we have had to work around in the past. So when you are trying to horizontal scroll with your trackpad it is actually scrolling, but it's scrolling the entire editor window, not the code block.

@bbsmooth I have no idea off the top of my head how to enable accessibility mode on my Macbook Air. I looked it up, and it looks like a number of steps to enable that. Also, it doesn't look like my Accessibility Keyboard is turned on, per my search results on how to toggle accessibility on a mac.

You'll just need to use the traditional method of clicking the actual scroll bar and dragging it to scroll. And it sounds like you are now seeing the scroll bar? Can you think of anything you might have done to make this happen?

But yes, I can now see the scroll bar on 3 separate browsers. It may have had to do with something accessibility related, but I didn't go out of my way to enable that. I raised this issue because from a user experience standpoint, it was not obvious that there was more code without the ability scroll that code block nor see a scrollbar. The fact that a scrollbar is now visible I think is enough to no longer keep this issue open, though I'm not sure how it appeared from one day to the next.
I'll this to up to the FCC maintainers, but I don't think this issue needs to be open any longer. The original scope was for a Macbook Air, so I can't say for certain whether this issue persists in other environments.

@ARodriguezHacks

I have no idea off the top of my head how to enable accessibility mode on my Macbook Air.

Sorry, I might not have been clear enough. You don't enable it on your macbook. You enable it in the editor itself. The editor's accessibility mode is completely independent from your OS.

@bbsmooth it doesn't matter, I checked both my OS and the editor in the exercise. Whenever I toggle that setting it doesn't even affect that code block but rather lines 7-8. Also, I highly doubt I went in and toggled accessibility in the editor for 3 separate browsers by complete accident, on Macbook I'd have to press down fn + F1 to get it to show up.

@ARodriguezHacks

Also, I highly doubt I went in and toggled accessibility in the editor for 3 separate browsers by complete accident

Sorry, I guess I didn't explain things too well.
I agree, you did not turn on accessibility mode. That's why you weren't seeing any horizontal scrolling. I only mentioned accessibility mode so you could see for yourself that the editor is horizontal scrolling (instead of the code block example in the instruction) if you wanted to confirm that what I was explaining above is correct.

Whenever I toggle that setting it doesn't even affect that code block but rather lines 7-8.

Correct, accessibility mode only affects the lines of code in the editor, not the code example blocks in the instructions. When you do have accessibility mode turned on and there are lines of code overflowing the right side of the editor then you should be able to see the entire horizontal editor scroll horizontally when using your trackpad.

We've had a second person in the forum bring up the issue that the horizontal scroll bar is not showing when the code overflows the block and thus they didn't realize it was scrollable. This was one of the issues that @ARodriguezHacks was initially having on macOS, but now it appears to have been fixed, but I don't think we know why. I don't know the OS of the second person yet (but I'm guessing macOS by the looks of the pic they provided).
I'm not sure this is something that we can solve from our end, unless we want to switch from relying on the browser to supply the scroll bar (which is triggered by overflow: auto) and instead implement our own scroll bar from scratch (which is what monaco does with the vertical scrollbar in the editor). Or we get lucky enough to figure out that there is some obscure bug that is causing a certain browser on a certain OS to not display the scrollbar when needed and we are able to figure out a workaround for it. (This assumes that the issue is due to a bug and not the configuration of the OS/browser.)
Another option would be to add some sort of visual cue that the code block is scrollable so anyone who isn't seeing a scrollbar will at least know it is scrollable. I'm not sure what that would be, I'll leave it up to the designers.
I thinks that's where we are on this issue. The other issue of not being able to horizontally scroll the code block on mouse hover only has been explained and I'm guessing we are not going to try and fix that.

The scroll bar is now apparently appearing for MacOS (see above).

Is the scroll bar not appearing for other browsers or OS?

Looks like there was an update to the way code is displayed in the editor.

Has anyone reported or had issues with horizontal scrolling since the update?

scroll bar woks fine and you can easily access the overflowing text

this issue doesn't seem to still be present. If you find again this issue or have additional infos please comment and we can reopen this issue.


Passing context to isEnabled

As part of the official packages, you can always pass in the context object,  but in this library, you cannot. The context is only part of the request and is piggybacking on it. Why is it so?
Let's assume I have some context which is calculated as part of the service/controller and doesn't arrive from the client in the Request, using this library it seems I can't use that data as part of the context.
Can this somehow be altered?
Thanks!
P.S
I was sure at the beginning it's just a wrapper around the node SDK, but you actually wrote everything from scratch! That's amazing!

@pmb0 ?


2.0.0 seems not to be published to npm

I updated to 2.0.0 throuhg npm but it does not seem to take your latest changes. (latest publish was 8 months ago)
https://www.npmjs.com/package/@kevingimbel/eleventy-plugin-mermaid?activeTab=readme
documentation still references
<script async src="${src}">mermaid.initialize({ startOnLoad: true });</script>

Thanks!
I changed the README after I published the changes to NPM, that's why they didn't show up.
I now published v2.0.2 with the README changes and some more files added to the .npmignore. See https://github.com/KevinGimbel/eleventy-plugin-mermaid/commit/c037fb448cb3dcc32f4152f595722e7291f3c189 and https://github.com/KevinGimbel/eleventy-plugin-mermaid/commit/6fc577a6eb845eaf95dfed5d16fb6d2549a5939d
NPM now also shows the "last published" date as today, not sure why this wasn't picked up before 🤔


Fix/makefile print statements

Description
Running make install-for-dev was echoing an if-statement, which was confusing me.
if [ "$(shell uname)" = "Darwin" ]; then \
	make install-highs-macos; \
fi

This PR suppresses that echo by using @if.
How to test
Run make install-for-dev or make-install-for-test. The last statements that either command prints should no longer be the above.
Related Items
@VladIftime you mentioned HiGHS wasn't installed correctly with macOS. This PR doesn't fix your issue, but I hope it helps you with understanding the log statements in your terminal. Feel free to make a FlexMeasures Issue about your problem. Did you already try running make install-highs-macos as a standalone command? If that works, there might be an issue with the if-statement.

The command make install-highs-macos did install HiGHS and all the other packages

The command make install-highs-macos did install HiGHS and all the other packages

But I thought you ran make install-for-dev and that included the installation of HiGHS? It should.

Both of them do install HiGHS. I also tested the make install-highs-macos today to see if it works.


Update What is Email Address Obfuscation.md

SPM-1778

My information submitted name Naveed iftikhar from Quetta Balochistan
Pakistan phone number<PHONE_NUMBER>51
Address. Faisal town brewery road Quetta Balochistan Pakistan
Postel coad area 87300
Bank details submitted
PK27TMFB0000000029800288
Plsss myself amount given me payment amount My given me
On Wed, Sep 6, 2023, 1:57 PM cflcrowter @.***> wrote:

SPM-1778
You can view, comment on, or merge this pull request online at:
https://github.com/cloudflare/cloudflare-docs/pull/10572
Commit Summary

994f45c
https://github.com/cloudflare/cloudflare-docs/pull/10572/commits/994f45c32d780583d1e387883bcbd696d2621286
Update What is Email Address Obfuscation.md

File Changes
(1 file https://github.com/cloudflare/cloudflare-docs/pull/10572/files)

M content/support/More Dashboard Apps/Cloudflare Scrape
Shield/What is Email Address Obfuscation.md
https://github.com/cloudflare/cloudflare-docs/pull/10572/files#diff-9ce9bf9d9e03eec8423e35b34a7e8e5c6bdee988698c028e990ef0b3e0f2ecb4
(4)

Patch Links:

https://github.com/cloudflare/cloudflare-docs/pull/10572.patch
https://github.com/cloudflare/cloudflare-docs/pull/10572.diff

—
Reply to this email directly, view it on GitHub
https://github.com/cloudflare/cloudflare-docs/pull/10572, or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4M4HOBGABTROUI63FUUK43XZA3HRANCNFSM6AAAAAA4M7NGEM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>