Conditional router support in the handler

Current behavior:
Currently, the handler cannot introspect the payload and perform conditional routing to an action.
Expected behavior:
Support conditional routing in the handler.
What is the motivation / use case for changing the behavior?
Support payload routing to actions.
Additional information you deem important (e.g. I need this tomorrow):

The trigger Handler implementation looks like this:
type handlerImpl struct {  runner action.Runner  act    action.Action  config *HandlerConfig  actionInputMapper  mapper.Mapper  actionOutputMapper mapper.Mapper }
but needs to look more like this:
`type act struct {
expr expression.Expr
act    action.Action
actionInputMapper  mapper.Mapper
actionOutputMapper mapper.Mapper
}
type handlerImpl struct {
runner action.Runner
config *HandlerConfig
acts []act
}`
The first act with a true expr gets executed. An empty expression is considered to be true. It looks like the expression scripting engine doesn't support unmarshalled json (that has been unmarshalled into a map[string]interface{}), so this is something that potentially needs to be enhanced. Some consideration should be given to supporting other formats such as XML or Protobuf.


MCEdit Crashes when opening world

Hey,
So I am trying to replace block in my minecraft world, and I found that you could use MCEdit, so I have tried, but it always crashes after selecting a world and clicking the edit button. How can I fix this problem?
MCEdit version: 2.0.0-beta14
Python version: 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)]
Platform: win32
System version: Windows-10-10.0.17134
Processor: Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
Obtained a GL context with this format:
Valid: True
Version: 4.4
Hardware Accelerated: True
Depth buffer: True, 24
Double buffer: True
Rendering profile: PySide.QtOpenGL.QGLFormat.OpenGLContextProfile.CompatibilityProfile
Driver info:
GL_VERSION: 4.4.0 - Build <IP_ADDRESS>90 (4, 4)
GL_VENDOR: 'Intel'
GL_RENDERER: 'Intel(R) HD Graphics 620'

Unhandled Exception
Traceback (most recent call last):
File "mcedit2\editorsession.py", line 1643, in viewOffsetChanged (self is a EditorTab)
File "mcedit2\worldview\minimap.py", line 187, in currentViewMatrixChanged (self is a MinimapWorldView)
File "mcedit2\util\raycast.py", line 30, in rayCastInBounds
File "mcedit2\util\profiler.py", line 73, in _wrapper (self is a Profiler)
File "mcedit2\util\raycast.py", line 77, in rayCast
File "mcedit2\util\raycast.py", line 215, in advanceToChunk
File "mceditlib\worldeditor.py", line 831, in getChunk (self is a WorldEditorDimension)
File "mceditlib\worldeditor.py", line 499, in getChunk (self is a WorldEditor)
File "mceditlib\cachefunc.py", line 77, in call
File "mceditlib\worldeditor.py", line 477, in _getChunkDataRaw (self is a WorldEditor)
File "mceditlib\anvil\adapter.py", line 922, in readChunk (self is a AnvilWorldAdapter)
AnvilChunkFormatError: [Errno Error loading chunk: KeyError('Key Blocks not found.',)] None: <traceback object at 0x0000029D5493A488>
Open MCEdit
Choose world
Select Edit

It looks like this is a bug related to MCEdit 2.0 which is a totally different project to this. Please can you go report it there.
https://github.com/mcedit/mcedit2


Remove whitelist for base currencies

Context
Fixes degica/hats#13898
We recently have more merchants processing orders with base currencies that are not listed in KOMOJU's available currencies such as INR or BRL. These merchants are getting errors processing payments as we are getting exchange rates only for whitelisted KOMOJU's available currencies.
This allows KOMOJU to fetch exchange rates for all base currencies while restricting quote currencies to KOMOJU's list.
How to Test

rspec should pass
Create a new bank in the console, bin/console:

st = Money::RatesStore::Memory.new
access_key = <please DM me>
currencies = ['JPY', 'USD']
data_set = 'OANDA'
bank = Money::Bank::OandaCurrency.new(st, access_key, currencies, data_set)

Get INR conversion rate

bank.get_rate(Money::Currency.wrap(:INR), Money::Currency.wrap(:USD)).to_f
# => should give you a 0.01295 ish rate

@kubenstein can you help us review this PR, please?


Exception for Entities Card footer

On the mobile Home Assistant app (specifically iOS) when the footer of an entities card is set to contain buttons, rather than have multiple rows like on a desktop, it overflows into a horizontal scrolling list.  I would imagine there would be a similar issue if the header was setup as buttons.

Let me know if you need any more info.

Hi, @lezmaka, thank you for spotting that! Can you share the complete yaml of the card?

The one in the screenshot is somewhat complex (to me anyway).  Here's a simpler card that has the same issue.  Yaml for the card in screenshot will be at the bottom if you need it.
Simpler card for bedroom
type: entities
entities:
  - type: custom:slider-entity-row
    entity: light.bd11
    tap_action:
      action: toggle
    hold_action:
      action: more-info
  - type: custom:slider-entity-row
    entity: light.bd22
    tap_action:
      action: toggle
    hold_action:
      action: more-info
  - type: custom:slider-entity-row
    entity: light.bd_3
    tap_action:
      action: toggle
    hold_action:
      action: more-info
state_color: true
show_header_toggle: true
title: Bedroom
footer:
  type: buttons
  entities:
    - entity: scene.bedroom_sunny
      name: Sunny
      icon: hue:scene-bright
      tap_action:
        action: toggle
    - entity: scene.bedroom_bright
      name: Bright
      icon: hue:scene-bright
      tap_action:
        action: toggle
    - entity: scene.bedroom_relax
      name: Relax
      icon: hue:scene-relax
      tap_action:
        action: toggle
    - entity: scene.bedroom_rest
      name: Rest
      icon: hue:scene-dimmed
      tap_action:
        action: toggle
    - entity: scene.bedroom_bedroom_torch
      name: Torch
      icon: hue:scene-dimmed
      tap_action:
        action: toggle

Yaml of card in screenshot
type: entities
entities:
  - type: custom:slider-entity-row
    entity: light.lamp_1
    icon: hue:bulb-classic
    hold_action:
      action: more-info
  - type: custom:slider-entity-row
    entity: light.strip_1
    icon: hue:lightstrip
    hold_action:
      action: more-info
  - type: custom:slider-entity-row
    entity: light.strip_2
    icon: hue:lightstrip
    hold_action:
      action: more-info
  - type: custom:slider-entity-row
    entity: light.backlight
    icon: hue:lightstrip
    hold_action:
      action: more-info
  - type: custom:slider-entity-row
    entity: light.hue_play_4
    icon: hue:play-bar
    hold_action:
      action: more-info
  - type: section
    label: Adaptive Lighting
  - entity: switch.adaptive_lighting_living_room_adaptive
  - type: conditional
    conditions:
      - entity: switch.adaptive_lighting_living_room_adaptive
        state: 'on'
    row:
      type: attribute
      entity: switch.adaptive_lighting_living_room_adaptive
      attribute: manual_control
      name: Excluded
      icon: none
  - entity: automation.living_room_adaptive_auto_reset
    name: Auto Reset
    state_color: false
  - entity: input_boolean.living_room_adaptive_reset_enabled
    name: Time Reset
    state_color: false
  - entity: input_datetime.living_room_adaptive_reset_time
    name: Reset Time
  - entity: script.living_room_adaptive_reset
    name: Reset
footer:
  type: buttons
  entities:
    - entity: scene.living_room_bright
      name: Bright
      icon: hue:scene-bright
      tap_action:
        action: toggle
    - entity: scene.living_room_relax
      name: Relax
      icon: hue:scene-relax
      tap_action:
        action: toggle
    - entity: scene.living_room_rest
      name: Rest
      icon: mdi:sleep
      tap_action:
        action: toggle
    - entity: scene.living_room_top_relax
      name: Top Relax
      tap_action:
        action: toggle
    - entity: scene.living_room_top_night_1
      name: Top Night 1
      icon: mdi:brightness-2
      tap_action:
        action: toggle
    - entity: scene.living_room_top_night_2
      name: Top Night 2
      icon: mdi:brightness-3
      tap_action:
        action: toggle
    - entity: scene.living_room_concentrate
      name: Concentrate
      icon: hue:scene-concentrate
      tap_action:
        action: toggle
    - entity: scene.living_room_energize
      name: Energize
      icon: hue:scene-energize
      tap_action:
        action: toggle
state_color: true
show_header_toggle: true
title: Living Room

That worked, thanks!


Add application gw

Description
This is a new feature for the inclusion of AppGW
Type of change

[X] New feature (non-breaking change which adds functionality)

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings e.g. code analysis tooling or general use of the changed code

To-Do:

[ ] - Outputs
[ ] - README
[ ] - Finish PR
[ ] - Pipeline

Done @tb-ans - please approve


Adding Good 'request' type (include PID & reqID)

adding special handling for request.log() events

Hey Charles , thanks for the contribution!. It seems there's an issue with the build, would you mind make those corrections on your code?. Also, it'd be nice if you can add some tests to ensure your changes are working as expected.

Yep! Forgot to add the tests. Everything should work now and there is 100% code coverage on the tests.

@charleshearn looks great!


Fix nil interface{} checks

PR https://github.com/submariner-io/shipyard/pull/1447 changed places where we check for nil interface{} in the callback functions for AwaitUntil to cast first. However this can result in an invalid type conversion panic depending on how the value is returned from the operation function. In Go, an interface var contains both a type and value so there are 2 cases for a nil:

The type is non-nil and the value is nil
The type and value are nil

For 1, the interface{} var is not actually nil so checking if result == nil yields false. Eg,
  var s *string
  var i interface{} = s

  if i == nil { // yields false b/c i is typed
  }

In this case, we can cast to the expected type and then check for nil.
s := i.(*string)
if s == nil {  // yields true
}

For 2, the interface{} var is untyped so nil check yields true:
var i interface{} = nil
 if i == nil { // yields true
 }

So in cases where we directly return nil from an operation function, the nil check in the result function is valid.
The actual reason for #1447 was b/c of a nil pointer panic in AwaitGatewaysWithStatus. This function was previously changed to call findGateway and return its values. However findGateway returns *unstructured.Unstructured so now the operation function returned a typed interface{} var. So if findGateway returns a nil *unstructured.Unstructured value, the result == nil check in the result function yields false. This resulted in the panic when result was later casted and accessed.
So we basically need to undo #1447. For AwaitGatewayWithStatus and AwaitGatewayFullyConnected, check the error from findGateway and return a nil interface{} value.

The globalnet w/ helm job is failing:
E1106 16:18:52.373476       1 leaderelection.go:327] error retrieving resource lock submariner-operator/submariner-globalnet-lock: leases.coordination.k8s.io "submariner-globalnet-lock" is forbidden: User "system:serviceaccount:submariner-operator:submariner-globalnet" cannot get resource "leases" in API group "coordination.k8s.io" in the namespace "submariner-operator"
Need to update the helm chart to add submariner-globalnet permissions. This issue is orthogonal so and shouldn't block this PR so force merging.


Can't find where to set CORS

Always get CORS error (Reason: CORS header 'Access-Control-Allow-Origin' missing)) when trying to get result from template engine http://localhost:8000/queries.json on client side
Where I can set it? Can't find anything in docs.
Thanks!

I think, at present there is no way to set some configuration parameter to make CORS work with PredictionIO. Underneath, it uses Spray HTTP, which can only support CORS if the header is added on every Response. This at the moment is not configurable.
However, you may try using a reverse proxy like Nginx ( enabled with CORS ), to make it work. Essentially, put a man in the middle that allows CORS.

http://www.html5rocks.com/en/tutorials/cors/
http://enable-cors.org/server_nginx.html

If you are feeling adventurous, you can look at the following code, and see if you can fix this:

https://github.com/PredictionIO/PredictionIO/blob/v0.9.4/core/src/main/scala/io/prediction/workflow/CreateServer.scala#L490

Thanks for response!
I'll use nginx proxy on production.
But for those who are on development I would suggest to run chrome browser like this:
google-chrome --disable-web-security (ubuntu 14)

@speciose : That's a great google-chrome tip for development!

I believe this topic could be re-open in order to implement this feature in spray-can config.

OK, feel free to submit a PR if you've fixed it.

I'm new to all this and struggling with CORS issue when trying to make AJAX requests to my predictionio AWS instance.
Came across this PR, was that meant to solve this issue?
Cheers

If anyone is new to nginx and needs help setting up what tuxdna described I made a short guide

@alex9311 This could be a good addition to PredictionIO documentation. Nice work! :-)

I'm actually having issues getting CORS working for the events server. I'm listening at 7072, adding the accessKey and CORS headers, and sending on to the event server at 7070
It works fine if I do a GET
$.ajax({
      url: 'http://<my_ip>:7072/events.json',
      type: 'GET',
      header: { 'Content-Type': 'application/json'},
      success: function (response) { console.log(response);}
    });

But if I try to POST, I get back 'Cross-Origin Request Blocked' error
data = {"event":"$set","entityType":"item","entityId":"3041","properties":{"title":"test title","category":"test cat"}};
$.ajax({
      url: 'http://<my_ip>:7072/events.json',
      type: 'POST',
      data:JSON.stringify(data),
      header: { 'Content-Type': 'application/json'},
      success: function (response) {console.log(response);}
    });

curl requests from inside the server work just fine
curl -i -X POST http://localhost:7072/events.json -H "Content-Type: application/json" -d '{"event":"$set","entityType":"item","entityId":"3041","properties":{"title":"test title","category":"test cat"}}'

I put this server block right under my engine server block (see guide I linked above)
    server {
        listen 7072 default;
        location / {
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header   Host             $host;
            if ($request_method = 'POST') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Credentials' 'true';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
            }
            if ($request_method = 'GET') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Credentials' 'true';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
            }
            rewrite ^(.*)$ $1?accessKey=<my_access_key> break;
            proxy_pass http://[::1]:7070;
        }

I'm still pretty new to nginx, could anyone help me out with this?

If any of the predictionIO people think it would be helpful, I'd be happy to add a CORS guide to the documentation


Hot reload and "You try to add new component with already existing name" error

Describe the bug
In dev mode, during application reload, require with name reports the above error.
To Reproduce
Steps to reproduce the behavior:

add require with name
in developer mode, call hot reload of the app

This error cause that we are unable to work in dev mode. Will deleting line of code with this throw have any negative consequences (e.g. memleak in developer mode)?

Hi @ku8ar
Could you add small reproducible demo?
In fact I worked with this library in hot reload mode and didn't encounter any problems.
register function should be called only once. If it's called multiple times, then it may lead to some unexpected problems (such as performance bottlenecks or cache issues). So I would be highly appreciated you if you could create small reproducible demo.

We have react-navigation v5 in the application and many connections between components. So sometimes it happens that dev mode reloads the entire application (and thus the components with navigation).
Typical code of nav component:
// many imports which editing causes reload of this file

const Wish = register({ name: 'Wish', loader: () => import('src/screens/Wish') })
const Cart = register({ name: 'Cart', loader: () => import('src/screens/Kept') })

export default () => (
 <Tab.Navigator>
   <Tab.Screen name={'Wish'} component={Wish} />
   <Tab.Screen name={'Cart'} component={Cart} />
 </Tab.Navigator>
)

The problem only occurs in developer RN mode (because only then we do reload of files).
So you're saying I can patch this lib so that in dev mode there won't be this bug and the rest of developers won't hate me for it? :D
Anyway, I read where you are from. Good luck in these hard days...

Nice @ku8ar! Thank you for the explanation and the detailed described issue.
I saw, that some people are forking the repo and commenting this line out, but I didn't understand why... Now it's clear.
I will keep this issue opened. I think I will change the approach, and instead of throwing the error I will call console.warn. For developers it will give more flexibility. They will not need to patch the library (they will be able to ignore the warning via LogBox.ignoreLogs). Anyway, I haven't decided how to make it better, so if you have any suggestion - feel free to share it 😊
And I think the reason, why I haven't seen such issues before is because of the fact, that I moved all register function calls into separate index.ts files. And these files never were reloaded, so I didn't see any errors.
It was like:
// src/screens/Wish/index.ts

import { register } from "react-native-bundle-splitter";

export default register({
  name: 'Wish',
  loader: () => import('./View')
});

Inside of src/screens/Wish/View.tsx I had actual implementation of the screen. And inside of navigator I had a reference only to index.ts file, so it was like that:
import Wish from "src/screens/Wish/index";
import Cart from "src/screens/Kept/index";

export default () => (
 <Tab.Navigator>
   <Tab.Screen name={'Wish'} component={Wish} />
   <Tab.Screen name={'Cart'} component={Cart} />
 </Tab.Navigator>
)

So you're saying I can patch this lib so that in dev mode there won't be this bug and the rest of developers won't hate me for it? :D

I think yes. You can just add a link as a comment to the patch, so other developers will be aware of the changes, that you made (and the motivation why you made it).

Anyway, I read where you are from. Good luck in these hard days...

Thanks, mate. I appreciate it!

Thanks for the clarification :) Your coding-style is better. But in the app we're working in, it would require a large code refactor.
Therefore, console.warn will actually be a better idea.

Closed in https://github.com/kirillzyusko/react-native-bundle-splitter/commit/b0e3ee6a1396e18f84e64e4597459132fb0c8968


Todoapi

I have created a generic todo API with NODE/MongoDB for my front end project. Hope it helps for the community.

Can you squash this commit into a single one? You've also got another PR open with the same APIs, maybe close both and open a new one so I can merge the right things you need, thanks in advance.


specifying the tpu_core speed-up TPU training

🐛 Bug

I am getting a huge time difference between training a model on a specific tpu core tpu_cores=[1] and training a model on just 1 tpu core tpu_cores=1. What's the reason for that? Aren't both the conditions the same with just the difference that I am assigning a specific tpu_core in the first case and assigning the number of tpu_cores I want to use in the second case. Also in the second case, I am getting an error. When training with tpu_cores=[1] epoch time is 17 seconds with tpu_cores=1 epoch time is just 5 seconds.
Running on colab gives me an error but no error on Kaggle kernels. But the time difference issue is the same on both the platforms.

To Reproduce
Code sample
Colab Notebook
Expected behavior
As far as I know in both cases, the training time should be the same regardless of training on a single core or training on a specific core.
Environment

PyTorch Version (e.g., 1.0): 1.5.0
OS (e.g., Linux): Linux
How you installed PyTorch (conda, pip, source): pip
Build command you used (if compiling from source):
Python version: 3.7
CUDA/cuDNN version: 10.1
GPU models and configuration: Tesla P100-PCIE-16GB
Any other relevant information:

Additional context

@williamFalcon @dlibenzi

Because of a bug?
https://github.com/PyTorchLightning/pytorch-lightning/blob/fdbbe968256f6c68a5dbb840a2004b77a618ef61/pytorch_lightning/trainer/trainer.py#L360
https://github.com/PyTorchLightning/pytorch-lightning/blob/fdbbe968256f6c68a5dbb840a2004b77a618ef61/pytorch_lightning/trainer/training_loop.py#L415

@dlibenzi I recall when training on a single core and using ParallelLoader, I used to receive an error. Hence the self.tpu_id is None condition. However, I did a recheck and it seems to be working fine with ParallelLoader now. Made a PR for the same. :)

not sure why this was reopened...


es.input.max.docs.per.partition invalid for spark2.2 es6.1.3

In 5 shards cluster, the Index has more than two hundred million records.
spark: 2.2.0
elasticsearch: 6.1.3
elasticsearch-hadoop: 6.1.3
set es.input.max.docs.per.partition=2000000 or not set the partition always equals shards.
each partition has more than 20gb data.
Track code about partitions been created in debug mode, findSlicePartitions method was called and get the right paritions. But, in spark web ui and console log, the task numbers still equals shards.

@jbaiera hi,
I found out the problem, cause by apache spark partition  strategy.
Because there only only one stage load and then write. If force repartition, the read  stage satisfies the configuration


Same issue as a month or so ago...

Home Screen app is blank. Just wanted to let you know!

Resolved


Upgrade dependencies

Changelog
None
Docs
None
Description
This upgrades a few packages with minor version bumps and several other transitive dependencies to resolve some warnings identified by npm audit. All critical warnings are resolved.
This also changes the create script to install this (create-foxglove-extension) dependency from v1, since we're no longer on 0.x.
With these changes, a user should no longer encounter security warnings when creating an extension.
Resolves #125

I also bumped the version here: 1.0.1 -> 1.0.2


onboard @whit537

May I? :-)

Okay! cc: @samanehsan

I've got the osf.io repo forked and my fork is cloned locally.

I'm reading through these installation docs:

https://github.com/CenterForOpenScience/osf.io#readme
http://cosdev.readthedocs.org/en/latest/osf/setup.html

I thought I would make a little PR just to get used to the PR flow and find an early win. Here are the PR docs I'm going through:

http://cosdev.readthedocs.org/en/latest/process/pull_requests.html#sending-a-pull-request

Even though this PR I'm preparing is tiny and probably doesn't need a test, I'd like to get the test suite passing locally before submitting it. Per the PR docs, I'm looking here for testing instructions:
http://cosdev.readthedocs.org/en/latest/process/testing.html#testing

It looks like there isn't one preferred test runner. I'm trying out py.test.

I'm not finding what version of Python OSF requires. I'm looking at http://cosdev.readthedocs.org/en/latest/osf/setup.html#installing-python.

I also looked for a setup.py to check the trove classifiers: nada.

(setup.cfg is unhelpful in this regard.)

I see print() without a __future__ import in tasks.py.

It looks like there isn't one preferred test runner.

Actually, it looks like nosetest is preferred. What's rednose?

You can run tests with invoke test, which just runs nosetests. However, feel free to use py.test if you are more comfortable with that; our tests are compatible with it (it's what personally use to run tests in isolation).
OSF requires python 2.7.x.
BTW, documentation PRs are always welcome =).

Thanks @sloria. :-)

rednose is a nosetests plugin for adding colour (and readability) to nosetest console results.

https://pypi.python.org/pypi/rednose
Nice! cf. https://pypi.python.org/pypi/snot :-)

Python 2.7 is doc'd at https://github.com/CenterForOpenScience/osf.io#mac-os.

And invoke test is doc'd at https://github.com/CenterForOpenScience/osf.io#running-tests. Looks like there's some truth-source bifurcation between the README and COSDev.

I've got a virtualenv with nose+rednose (I was having trouble with pytest but I was also using an old virtualenv from a while ago when I first cloned osf.io). Current status:

I actually have yet to install Homebrew, and I'm going to attempt to preserve my ignorance of the bliss of brew for a little while longer ...

[osf.io]$ invoke requirements --dev --addons

Might come back to haunt me later:
    --------------------------------------------------------------------
    PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.4.0
    platform     darwin 2.7.9 (default, Jan  4 2015, 20:46:16)
                 [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)]
    --------------------------------------------------------------------
    --- TKINTER support available
    --- JPEG support available
    *** OPENJPEG (JPEG2000) support not available
    --- ZLIB (PNG/ZIP) support available
    *** LIBTIFF support not available
    *** FREETYPE2 support not available
    *** LITTLECMS2 support not available
    *** WEBP support not available
    *** WEBPMUX support not available
    --------------------------------------------------------------------

Status:

I'm glad to see that our dependencies are pinned. :-)
https://github.com/CenterForOpenScience/osf.io/blob/15d15ba1f402f4b53a60e5b5ac4e504fd1cd6115/requirements.txt
https://github.com/CenterForOpenScience/osf.io/blob/15d15ba1f402f4b53a60e5b5ac4e504fd1cd6115/requirements/dev.txt
!m *

Chuggin' along ...

Successfully installed invoke Werkzeug Flask Mako Markdown Pygments WTForms beautifulsoup4 celery httplib2 hurry.filesize itsdangerous lxml mailchimp nameparser py-bcrypt pymongo python-gnupg pytz bleach html5lib blinker furl elasticsearch google-api-python-client python-crontab Babel requests urllib3 requests-oauthlib raven webcolors Django djangorestframework django-rest-swagger factory-boy webtest-plus mock fake-factory flake8 livereload progressbar watchdog modular-odm httpretty Jinja2 MarkupSafe billiard kombu setuptools docopt orderedmultidict oauthlib PyYAML webtest pyflakes pep8 mccabe tornado argh pathtools anyjson amqp WebOb waitress backports.ssl-match-hostname singledispatch certifi backports-abc
Cleaning up...
[osf.io]$

Blam?

[osf.io]$ invoke encryption
GnuPG is not enabled. No GnuPG key will be generated.

How important can that be? <:-)
/me forges ahead, to his certain detriment ...

I've got node 4.1.1 and npm 2.14.4 installed. I'm not sure what version(s) OSF expects. I've never used bower before ...

Looks like npm i installed bower:

<EMAIL_ADDRESS>node_modules/bower
└──<EMAIL_ADDRESS>[osf.io]$

bower install?

Huzzah? :)
[osf.io]$ ./node_modules/.bin/bower install
? May bower anonymously report usage statistics to improve the tool over time? (Y/n)

Truckin' ...

It looks like invoke assets --dev is reinstalling npm install and bower install. :-/

Warnings and errors!

 [440] ./website/static/js/wikiMenu.js 3.43 kB {49} [built]
    + 339 hidden modules

WARNING in ./~/knockout/build/output/knockout-latest.debug.js
Critical dependencies:
22:24-31 require function is used in a way in which dependencies cannot be statically extracted
 @ ./~/knockout/build/output/knockout-latest.debug.js 22:24-31

WARNING in ./~/knockout/build/output/knockout-latest.js
Critical dependencies:
7:222-229 require function is used in a way in which dependencies cannot be statically extracted
 @ ./~/knockout/build/output/knockout-latest.js 7:222-229

WARNING in ./~/markdown-it/dist/markdown-it.js
Critical dependencies:
1:564-571 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/markdown-it/dist/markdown-it.js 1:564-571

WARNING in ./~/markdown-it-sanitizer/dist/markdown-it-sanitizer.js
Critical dependencies:
1:591-598 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
 @ ./~/markdown-it-sanitizer/dist/markdown-it-sanitizer.js 1:591-598

WARNING in ./website/addons/wiki/static/ace.js
Critical dependencies:
5:52-59 require function is used in a way in which dependencies cannot be statically extracted
 @ ./website/addons/wiki/static/ace.js 5:52-59

ERROR in ./website/static/js/logFeed.js
Module not found: Error: Cannot resolve module 'built/nodeCategories.json' in /Users/whit537/workbench/cos/osf.io/website/static/js
 @ ./website/static/js/logFeed.js 14:21-62

ERROR in ./website/static/js/projectorganizer.js
Module not found: Error: Cannot resolve module 'built/nodeCategories.json' in /Users/whit537/workbench/cos/osf.io/website/static/js
 @ ./website/static/js/projectorganizer.js 26:21-62

ERROR in ./website/static/js/projectCreator.js
Module not found: Error: Cannot resolve module 'built/nodeCategories.json' in /Users/whit537/workbench/cos/osf.io/website/static/js
 @ ./website/static/js/projectCreator.js 12:21-62

Indeed, there is no directory /Users/whit537/workbench/cos/osf.io/website/static/js/built.

/me starts mongod

[osf.io]$ invoke server
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.005s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.001s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.001s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[elasticsearch]  WARNING: GET http://localhost:9200/_cluster/health?wait_for_status=yellow [status:N/A request:0.001s]
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 67, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/retry.py", line 222, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connectionpool.py", line 349, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1001, in request
    self._send_request(method, url, body, headers)
  File "/Users/whit537/lib/python2.7/httplib.py", line 1035, in _send_request
    self.endheaders(body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/Users/whit537/lib/python2.7/httplib.py", line 850, in _send_output
    self.send(msg)
  File "/Users/whit537/lib/python2.7/httplib.py", line 812, in send
    self.connect()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 155, in connect
    conn = self._new_conn()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/connection.py", line 134, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/urllib3/util/connection.py", line 88, in create_connection
    raise err
ProtocolError: ('Connection aborted.', error(61, 'Connection refused'))
[framework.sentry]  WARNING: Sentry called to log exception, but is not active
[framework.sentry]  WARNING: Sentry called to log message, but is not active: The SEARCH_ENGINE setting is set to 'elastic', but there was a problem starting the elasticsearch interface. Is elasticsearch running?
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/bin/invoke", line 9, in <module>
    load_entry_point('invoke==0.9.0', 'console_scripts', 'invoke')()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 304, in main
    dispatch(sys.argv)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 297, in dispatch
    return executor.execute(*tasks, dedupe=dedupe)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 90, in execute
    task=task, name=name, args=args, kwargs=kwargs
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 131, in _execute
    result = task(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/tasks.py", line 111, in __call__
    result = self.body(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/tasks.py", line 47, in server
    app = init_app(set_backends=True, routes=True)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 111, in init_app
    init_addons(settings, routes)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 38, in init_addons
    addon = init_addon(app, addon_name, routes=routes)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/base/__init__.py", line 1102, in init_addon
    addon_module = importlib.import_module(import_path)
  File "/Users/whit537/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/__init__.py", line 3, in <module>
    from . import routes, views, model
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/routes.py", line 5, in <module>
    from website.addons.github import views
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/__init__.py", line 1, in <module>
    from . import auth, config, crud, hgrid, hooks, repos  # noqa
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/auth.py", line 18, in <module>
    from ..api import GitHub
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/api.py", line 4, in <module>
    import github3
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/__init__.py", line 20, in <module>
    from github3.api import *
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/api.py", line 11, in <module>
    from .github import GitHub, GitHubEnterprise
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/github.py", line 15, in <module>
    from github3.gists import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/__init__.py", line 16, in <module>
    from .gist import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/gist.py", line 14, in <module>
    from github3.gists.comment import GistComment
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/comment.py", line 12, in <module>
    from github3.users import User
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/users.py", line 12, in <module>
    from uritemplate import URITemplate
ImportError: cannot import name URITemplate

/me looks into elasticsearch ...

I tried turning off elasticsearch in website/settings/local.py (by setting SEARCH_ENGINE to None). No go.
Looks like we want version 1.2.1.

https://www.elastic.co/downloads/past-releases/elasticsearch-1-2-1

Easy as Mongo. :-)

Ah, the URITemplate issue is nasty. Here's the fix (from https://cosdev.readthedocs.org/en/latest/osf/common_problems.html#error-when-importing-uritemplate)
pip uninstall uritemplate.py --yes
pip install uritemplate.py==0.3.0

The ImportError persists:
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/bin/invoke", line 9, in <module>
    load_entry_point('invoke==0.9.0', 'console_scripts', 'invoke')()
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 304, in main
    dispatch(sys.argv)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/cli.py", line 297, in dispatch
    return executor.execute(*tasks, dedupe=dedupe)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 90, in execute
    task=task, name=name, args=args, kwargs=kwargs
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/executor.py", line 131, in _execute
    result = task(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/invoke/tasks.py", line 111, in __call__
    result = self.body(*args, **kwargs)
  File "/Users/whit537/workbench/cos/osf.io/tasks.py", line 47, in server
    app = init_app(set_backends=True, routes=True)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 111, in init_app
    init_addons(settings, routes)
  File "/Users/whit537/workbench/cos/osf.io/website/app.py", line 38, in init_addons
    addon = init_addon(app, addon_name, routes=routes)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/base/__init__.py", line 1102, in init_addon
    addon_module = importlib.import_module(import_path)
  File "/Users/whit537/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/__init__.py", line 3, in <module>
    from . import routes, views, model
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/routes.py", line 5, in <module>
    from website.addons.github import views
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/__init__.py", line 1, in <module>
    from . import auth, config, crud, hgrid, hooks, repos  # noqa
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/views/auth.py", line 18, in <module>
    from ..api import GitHub
  File "/Users/whit537/workbench/cos/osf.io/website/addons/github/api.py", line 4, in <module>
    import github3
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/__init__.py", line 20, in <module>
    from github3.api import *
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/api.py", line 11, in <module>
    from .github import GitHub, GitHubEnterprise
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/github.py", line 15, in <module>
    from github3.gists import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/__init__.py", line 16, in <module>
    from .gist import Gist
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/gist.py", line 14, in <module>
    from github3.gists.comment import GistComment
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/gists/comment.py", line 12, in <module>
    from github3.users import User
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/github3/users.py", line 12, in <module>
    from uritemplate import URITemplate
ImportError: cannot import name URITemplate

Ah, the URITemplate issue is nasty.

Interesting. Thanks for the pointer, @sloria! :-)

@sloria Does it makes sense to add uritemplate to requirements.txt?

Interesting that 0.3.0 is already the version installed, though ...
[osf.io]$ pip list |grep uritemplate
uritemplate.py (0.3.0)

@whit537 It's complicated. We actually want uritemplate.py, but it conflicts with another uritemplate package.
https://github.com/sigmavirus24/uritemplate/issues/14

Copy that, gold leader. :hurtrealbad:

Still, would being explicit about uritemplate.py in requirements.txt allow us to control the install order?

Blam?
[osf.io]$ invoke server
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
[website.addons.github.settings]  WARNING: No local.py settings file found
[website.addons.osfstorage.settings]  WARNING: No local.py settings file found
[website.addons.wiki.settings]  WARNING: No local.py settings file found
[root]  DEBUG: Setting storage backends
[root]  INFO: Sentry disabled; Flask's debug mode enabled
[werkzeug]  INFO:  * Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
[werkzeug]  INFO:  * Restarting with fsevents reloader
[website.util.paths]  WARNING: Skipping load of "webpack-assets.json" in DEBUG_MODE.
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
[website.addons.github.settings]  WARNING: No local.py settings file found
[website.addons.osfstorage.settings]  WARNING: No local.py settings file found
[website.addons.wiki.settings]  WARNING: No local.py settings file found
[root]  DEBUG: Setting storage backends
[root]  INFO: Sentry disabled; Flask's debug mode enabled

Blam! :-)
Looks like it's time for TokuMX ...

Not finding a version specified for TokuMX ...

Still, would being explicit about uritemplate.py in requirements.txt allow us to control the install order?

Probably. I want to say we've tried that before to no avail...but I can't be sure.

/me goes for tokumx-enterprise-2.0.2 ...

@sloria M'kay. :)

I am currently using Tokumx 2.0.0, installed with Homebrew:
brew tap tokutek/tokumx
brew install tokumx-bin

Hmm ...
https://github.com/Tokutek/mongo/blob/tokumx-2.0.0/docs/building.md
Not as easy as Mongo. :-/

Building Tokutek from source looks like it may require installing gcc (to avoid using Apple's clangy gcc-alike). At which point, I give in: and turns out I already have brew installed after all. :-)
$ brew tap tokutek/tokumx
==> Tapping tokutek/tokumx
Cloning into '/usr/local/Library/Taps/tokutek/homebrew-tokumx'...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
Checking connectivity... done.
Tapped 1 formula (29 files, 128K)
$ brew install tokumx-bin
==> Installing tokumx-bin from tokutek/homebrew-tokumx
==> Downloading https://s3.amazonaws.com/tokumx-2.0.0/tokumx-2.0.0-osx-x86_64-main.tar.gz
######################################################################## 100.0%
36:139: execution error: System Events got an error: User canceled. (-128)
Error: Canceling at user request.
$ brew install tokumx-bin
==> Installing tokumx-bin from tokutek/homebrew-tokumx
==> Downloading https://s3.amazonaws.com/tokumx-2.0.0/tokumx-2.0.0-osx-x86_64-main.tar.gz
Already downloaded: /Library/Caches/Homebrew/tokumx-bin-2.0.0.tar.gz
==> Caveats
To have launchd start tokutek/tokumx/tokumx-bin at login:
  ln -sfv /usr/local/opt/tokumx-bin/*.plist ~/Library/LaunchAgents
Then to load tokutek/tokumx/tokumx-bin now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.tokumx-bin.plist
Or, if you don't want/need launchctl, you can just run:
  mongod --config /usr/local/etc/tokumx.conf
==> Summary
�  /usr/local/Cellar/tokumx-bin/2.0.0: 24 files, 241M, built in 13 seconds
$

$ mongod
mongod --help for help and startup options
Wed Dec 16 15:50:59.306  nssize is a deprecated parameter
Wed Dec 16 15:50:59.319 [initandlisten] TokuMX starting : pid=21489 port=27017 dbpath=/data/db/ 64-bit host=Chads-MBP
Wed Dec 16 15:50:59.319 [initandlisten]
Wed Dec 16 15:50:59.320 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Wed Dec 16 15:50:59.320 [initandlisten] TokuMX mongod server v2.0.0-mongodb-2.4.10, using TokuKV rev 60be90af92bb3aeae3e43fe166e8d4381a1e5e7c
Wed Dec 16 15:50:59.320 [initandlisten] git version: 534df238ab437147e722c6ff6b3ad535991bfc8b
Wed Dec 16 15:50:59.320 [initandlisten] build info: Darwin localhost 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
Wed Dec 16 15:50:59.320 [initandlisten] options: {}
Wed Dec 16 15:50:59.321 [initandlisten] [tokumx] startup
Wed Dec 16 15:50:59.460 [initandlisten] Need to upgrade from disk format version 1 to 5.
Wed Dec 16 15:50:59.460 [initandlisten] 0 databases will be upgraded.
Wed Dec 16 15:50:59.460 [initandlisten] Running upgrade of disk format version 1 to 2.
Wed Dec 16 15:50:59.463 [initandlisten] Running upgrade of disk format version 2 to 3.
Wed Dec 16 15:50:59.464 [initandlisten] Running upgrade of disk format version 3 to 4.
Wed Dec 16 15:50:59.464 [initandlisten] Running upgrade of disk format version 4 to 5.
Wed Dec 16 15:50:59.468 [websvr] admin web console waiting for connections on port 28017
Wed Dec 16 15:50:59.468 [initandlisten] waiting for connections on port 27017

Blam! :dancer:

Now for that test suite ...

Chuggin' ...

Oooh! Some passing! :-)

Can't say this test suite is zippy ...

202) ERROR: test suite for <class 'tests.webtest_tests.TestShortUrls'>

   Traceback (most recent call last):
    env/lib/python2.7/site-packages/nose/suite.py line 209 in run
      self.setUp()
    env/lib/python2.7/site-packages/nose/suite.py line 292 in setUp
      self.setupContext(ancestor)
    env/lib/python2.7/site-packages/nose/suite.py line 315 in setupContext
      try_run(context, names)
    env/lib/python2.7/site-packages/nose/util.py line 471 in try_run
      return func()
    tests/base.py line 126 in setUpClass
      addons=settings.ADDONS_AVAILABLE,
    framework/mongo/handlers.py line 103 in set_up_storage
      **kwargs
    env/lib/python2.7/site-packages/modularodm/storedobject.py line 429 in set_storage
      storage._ensure_index(field_name)
    env/lib/python2.7/site-packages/modularodm/storage/mongostorage.py line 188 in _ensure_index
      self.store.ensure_index(key)
    env/lib/python2.7/site-packages/pymongo/collection.py line 916 in ensure_index
      return self.create_index(key_or_list, cache_for, **kwargs)
    env/lib/python2.7/site-packages/pymongo/collection.py line 823 in create_index
      **self._get_wc_override())
    env/lib/python2.7/site-packages/pymongo/collection.py line 357 in insert
      continue_on_error, self.__uuid_subtype), safe)
    env/lib/python2.7/site-packages/pymongo/mongo_client.py line 920 in _send_message
      rv = self.__check_response_to_last_error(response)
    env/lib/python2.7/site-packages/pymongo/mongo_client.py line 863 in __check_response_to_last_error
      raise OperationFailure(details["err"], details["code"])
   OperationFailure: Error 24: Too many open files

-----------------------------------------------------------------------------
268 tests run in 188.3 seconds.
202 errors, 5 skipped (61 tests passed)
[osf.io]$

https://github.com/CenterForOpenScience/osf.io#additional-configuration-for-mac-os-x

Okay!
Raven is not configured (logging is disabled). Please see the documentation for more information.
[raven.base.Client]  INFO: Raven is not configured (logging is disabled). Please see the documentation for more information.
[website.addons.github.settings]  WARNING: No local.py settings file found
[website.addons.osfstorage.settings]  WARNING: No local.py settings file found
[website.addons.wiki.settings]  WARNING: No local.py settings file found
[root]  DEBUG: Setting storage backends
[root]  INFO: Sentry disabled; Flask's debug mode enabled
[root]  INFO: Sentry disabled; Flask's debug mode enabled
/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/modularodm/storedobject.py:940: UserWarning: Setting an attribute that is neither a field nor a protected value.
  warnings.warn('Setting an attribute that is neither a field nor a protected value.')

[py.warnings]  WARNING: /Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/modularodm/storedobject.py:940: UserWarning: Setting an attribute that is neither a field nor a protected value.
  warnings.warn('Setting an attribute that is neither a field nor a protected value.')

....[website.addons.badges.settings]  WARNING: No local.py settings file found
..........S..........S......................S...SSSSS.......SSS...
----------------------------------------------------------------------
Ran 70 tests in 49.904s

OK (SKIP=11)
[osf.io]$

So far so good?

======================================================================
FAIL: test_share_count (tests.test_share.TestShareSearch)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/whit537/workbench/cos/osf.io/env/lib/python2.7/site-packages/mock.py", line 1201, in patched
    return func(*args, **keywargs)
  File "/Users/whit537/workbench/cos/osf.io/tests/test_share.py", line 99, in test_share_count
    assert_is(mock_count.called, True)
AssertionError: False is not True

----------------------------------------------------------------------
Ran 1491 tests in 535.315s

FAILED (SKIP=27, failures=1)
[osf.io]$

17m 44s at Travis.

My final goals for this morning are:

[ ] Submit a PR for https://github.com/CenterForOpenScience/osf.io/issues/4768, or otherwise bring some closure there.
[ ] Write https://openscience.atlassian.net/browse/OSF-5439.

Here's the Jira filter I'll use when deciding what to code review: https://openscience.atlassian.net/issues/?filter=11402.

Alright, I've bailed out on #4768. Gonna consider myself onboarded and get on with code review.
To the Jira-mobile! :blue_car:


Allow disabling specific keymap

It would be great to allow it. For example, I prefer to use ]t for :tabnext instead of :tnext. So I would like to disable the built-in keymapping. I would like to suggest to support something like this:
require('unimpaired').setup({
  keymaps = {
    tnext = false,
    tfirst = false,
  },
})

Alternatively we could allow to override the command. I think this should be even better.

Sorry for my late reply, i was incredible busy.
It's already possible to disable build-in keymappings. Just read the README
https://github.com/tummetott/unimpaired.nvim/blob/3a3993eb2d8df48dac691876751e80cccb395880/.github/README.md?plain=1#L79-L80
After you disabled it, you can remap the keys however you like


outputDirectory and IntelliJ generated sources (cont'd from upstream)

Continued from (dead) upstream here: https://github.com/bohnman/package-info-maven-plugin/pull/9
@willhains Indeed, as I didn't include the plugin initially, we're already using your fork in version 1.2.0. Still, the issue appeared for me and it was quite sublte that Intellij didn't pick up the Spring's @NonNullApi annotation on package level, still indicating (false-positive) nullability issues. Once I changed the outputDirectory to <outputDirectory>${project.basedir}/target/generated-sources</outputDirectory>, IntelliJ successfully picked it up.
Maybe it's caused by that I'm also generating sources with jOOQ into the same dir target/generated-sources (plugin org.jooq:jooq-codegen-maven) and the two plugins conflict with each other telling IntelliJ where to find generated sources? Does that make sense to you? I have little experience with maven plugin development, so I can't really tell. I'm just experimenting :D
If you're interested, I could try to create a minimal reproducer for the problem.

@neiser Thanks for the clarification and additional info.
I think the preferred way to allow multiple sets of generated source coexist is to put them in separate sub-directories under generated-sources, and add each as independent source roots:
./target/generated-sources/package-info/
./target/generated-sources/jooq/
./target/generated-sources/something-else/

However, this appears to be a convention rather than a hard rule, so unfortunately, different code-generating plugins do it differently. If jOOQ assumes generated-sources with no sub-directory, then Maven will end up with one source root nested inside another (generated-sources/package-info inside generated-sources). It sounds like this is the problem you're facing.
If my guess is right, there are two solutions:

Override the package-info plugin's output directory to generated-sources (no package-info sub-directory), as you have done.

If jOOQ allows you to specify the output directory, change it to generated-sources/jooq, and make sure Maven sees that as a source root.

Personally, I prefer #2, since it keeps the generated sources cleanly separated. But it's a personal choice. You should choose whichever fits you and your team's style best.

If you're interested, I could try to create a minimal reproducer for the problem.

That's always helpful! I'll certainly try it out if you have one.

@willhains Again, thank you very much for this detailed response! Now I got the idea, and actually, it works like a charm when you just don't specify any <outputDirectory> for neither jooq nor package-info. Then, they end up in separate subdirs below target/generated-sources and IntelliJ picks up both sources as expected.
I close this issue then, because it was mainly my own ignorance about how plugins should be configured correctly.

@neiser I’m glad it worked out for you! :)


Automatically detect packageManager

Deprecate the packageManager setting, and automatically detect it with the vscode command.

@microsoft-github-policy-service agree

@microsoft-github-policy-service agree

First time making a PR to a language server so please let me know if I missed something.

@dbaeumer anything else that needs to be addressed in this PR?

IMO the change can be breaking for users that had different values set for ESLint and the package manager extension. IMO we should deprecated the value and code wise do the following:

read ESLint's value AND the value through the command and consider their default values.

If both values are the same pint a message to the channel that the eslint value is deprecated and will be removed in the future. Use either of them
If the values are different print a message to the channel that the value is deprecated and that we will not honor it in the future and that we moved to npm.packagemanager. I would still use the eslint value for a while.
Breaking changes usually cause swirl especially since we will receive issue reports for it. This is why I try to avoid this.
Sorry for detecting this so late.

Deprecate the packageManager setting, and automatically detect it with the vscode command.

no

@wilkinson4 Forgot to say thanks for working on this.

@wilkinson4 Forgot to say thanks for working on this.

No problem!

See other commants.

@dbaeumer Following up on this one. Made the recommended changes.


NPM windows : unable to set default proxy address

npm --proxy http://ip_address:port_address install express does not work.

Can you please provide more details?  Here's what I'd need to debug this:

The entire output from the cmd terminal.
The npm-debug.log file generated.
Any details about what kind of proxy it is.  (Note that npm only supports basic-auth http proxies, not socks5.)

It seems to work fine for me.

1 . output from the cmd terminal
C:\__JSONP>npm --proxy http://<IP_ADDRESS>:1234 install express
npm http GET https://registry.npmjs.org/express
npm ERR! Error: failed to fetch from registry: express
npm ERR!     at C:\Program Files\nodejs\node_modules\npm\lib\utils\npm-registry-client\get.js:139:12
npm ERR!     at cb (C:\Program Files\nodejs\node_modules\npm\lib\utils\npm-registry-client\request.js:32:9)
npm ERR!     at Request._callback (C:\Program Files\nodejs\node_modules\npm\lib\utils\npm-registry-client\request.js:137:18)
npm ERR!     at Request.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:104:22)
npm ERR!     at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:181:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:178:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1114:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>npm ERR!
npm ERR! System Windows_NT 5.1.2600
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "--proxy" "http://<IP_ADDRESS>:1234" "install" "express"
npm ERR! cwd C:\__JSONP
npm ERR! node -v v0.6.6
npm ERR! npm -v 1.1.0-beta-4
npm ERR! message failed to fetch from registry: express
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\__JSONP\npm-debug.log
npm not ok

2 . npm-debug.log
info it worked if it ends with ok
verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe',
verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
verbose cli   '--proxy',
verbose cli   'http://<IP_ADDRESS>:1234',
verbose cli   'install',
verbose cli   'express' ]
info using<EMAIL_ADDRESS>info using<EMAIL_ADDRESS>verbose config file C:\Documents and Settings\user\.npmrc
verbose config file C:\Program Files\nodejs\etc\npmrc
verbose config file C:\Program Files\nodejs\node_modules\npm\npmrc
verbose mkdir done: C:\__JSONP 755
verbose into C:\__JSONP [ 'express' ]
verbose cache add express
verbose cache add [ 'express', null ]
silly cache add: name, spec, args [ undefined, 'express', [ 'express', null ] ]
verbose parsed url { pathname: 'express', path: 'express', href: 'express' }
verbose addNamed [ 'express', '' ]
verbose addNamed [ null, '' ]
silly name, range, hasData [ 'express', '', false ]
verbose raw, before any munging express
verbose url resolving [ 'https://registry.npmjs.org/', './express' ]
verbose url resolved https://registry.npmjs.org/express
http GET https://registry.npmjs.org/express
silly get cb [ 304, undefined ]
ERR! Error: failed to fetch from registry: express
ERR!     at C:\Program Files\nodejs\node_modules\npm\lib\utils\npm-registry-client\get.js:139:12
ERR!     at cb (C:\Program Files\nodejs\node_modules\npm\lib\utils\npm-registry-client\request.js:32:9)
ERR!     at Request._callback (C:\Program Files\nodejs\node_modules\npm\lib\utils\npm-registry-client\request.js:137:18)
ERR!     at Request.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:104:22)
ERR!     at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:181:58)
ERR!     at Request.emit (events.js:88:20)
ERR!     at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:178:10)
ERR!     at ClientRequest.emit (events.js:67:17)
ERR!     at CleartextStream.<anonymous> (http.js:1114:11)
ERR!     at CleartextStream.emit (events.js:67:17)
ERR! Report this *entire* log at:
ERR!     <http://github.com/isaacs/npm/issues>
ERR! or email it to:
ERR<EMAIL_ADDRESS>ERR!
ERR! System Windows_NT 5.1.2600
ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "--proxy" "http://<IP_ADDRESS>:1234" "install" "express"
ERR! cwd C:\__JSONP
ERR! node -v v0.6.6
ERR! npm -v 1.1.0-beta-4
ERR! message failed to fetch from registry: express
verbose exit [ 1, true ]

3 . Proxy is Squid Cache: Version 2.7.STABLE7 instance

The server is part of "npm" :)
The npm registry certificate is signed by the npmCA.  If you add the npmCA cert to your proxy, it should work.  You can get it via npm get ca, or from http://npmjs.org/ca.crt
I do it this way for 3 reasons.

It's silly to help support a largely incompetent industry based on extortion and fear, if we have the technical means to avoid it.
It is more safe to protect a CA certificate with pgp signatures and cryptographically sound SHAs than with money and vague promises.
It makes it easier for private companies to use their own internal CA certificate, which they can control internally, if they have their own registry.

Totally fair; unfortunately, I'm at work, and can't change the certs on the proxies. The downgrade to http should be considered only as a workaround for folks in my situation- there are probably quite a few, especially as node grows in mindshare.

Hm.  Maybe we should just spring for a known CA signature.  Sometimes reality > principles.

How about:

npm config set victim_corporate_idiocy "true"

:)


Async.MixedParallel fix

Fixed bug in Async.MixedParallel* functions when
resulting computation would wait for all sub-computations to
finish, even if one of them threw exception.
Now exception will propagate immediately.
Added MixedParallel4 function.
Added tests for all MixedParallel* functions.

You pushed the bugfix before the tests, it should be the other way around so I can see the failing tests first. Can you change the order please @webwarrior-ws

Reordered commits. Had to split tests into 2 commits, because fix also introduces function for 4 jobs.

Sorry, what is the motivation for adding MixedParallel4 ?

It was added with RGS support and was present in code that I was working on.
So I decided to fix it too rather than have correct 2 and 3 argument variants and incorrect 4-argument one.

Ok, if you had added the why (instead of just the what) then I wouldn't have needed to ask you. Please add the why in the commit messages.

Updated commit message and PR description.


Use @example.org for the default admin login RFC 2606

Hello there.
Since admin.com isn't a reserved url (seems registered by Amazon in 94) i think it would be best to switch to one of the reserved top level url's according to RFC 2606 in order to not spam that email address with registrations.
I can make a pull request if you're ok with the change :)
example.com
example.net
example.org

yeah sure

@mlantz https://github.com/YABhq/Laracogs/pull/150

Merge is up 👍
My question now is, how can one update the site docs ? :)

Working on it and releasing to day ;)


Listen a storage from multiple Vue instances in a same page

Hello RobinCK!
Thanks for making a great plugin!
However I stumbled upon an issue, I'm trying to make 2 instances to listen a storage in a same page.
Example: https://fiddle.jshell.net/Stolka/hbayz0t8/show/
If I changed the data from the first instance, the second counter won't be updated until I reload the page and vice versa.
Is there a way to make both of them to watch the storage changes and update each counter at same time?
Thanks!

Hello @Stolka, thanks.
Please see the documentation
My example https://jsfiddle.net/Robin_ck/hbayz0t8/12/


Consolidate FSTStore and BytesStore in FST

Description
Consolidate the FSTStore and BytesStore in FST. The two are similar, except that FSTStore has an init() method, which is not needed for BytesStore. Thus I extracted the common methods to FSTReader (maybe there is better name). FST no longer needs to have if-else conditional logics to choose between the two.
Also fix the numBytes() method which would throw NullPointerException if the FST is FSTStore-backed.
I'm not sure if this needs a new entry in CHANGES.txt, but it can be backported to 9.x

I think we should land this only on main for now, and then backport it eventually to 9.x along with the other FST changes?

I think this makes sense. Let hold off the backporting.

I added an entry in the CHANGES.txt under Lucene 10.0 (as we are not backporting)

Thanks @dungba88 -- I just merged.  We can open a new PR when it's time to backport ...


Release the pretrained of original pSp model on Car, Horse, AFHQ Wild, Church in the paper

Hi,
This work is very useful!
Could you release the pre-trained of the original pSp model on Car, Horse, AFHQ Wild, Church reported in the main paper?
Thanks!

I apologize for the delay. I haven't had the time to prepare everything.  I hope it's still relevant.
I have uploaded the 4 pSp models to the following Google Drive link:
https://drive.google.com/drive/folders/1-7DJzHlzzFqnD3frBhPlEipfbiH9tBPq?usp=sharing
I have also provided the encoder class that was used to train these models.
As I mentioned before, there is no guarantee that these checkpoints will work with the code since they were trained a while back.


Building a Vue.js 3 App with JSON Server and Axios

NOTE: All 1st-time contributors should know Topic approval and PR submission does NOT guarantee your Topic/Article will be published. Our team of Peer Reviewers and Content Moderators will review all PRs that come in to make sure they adhere to the standard of quality we expect from the EngEd community.
We expect all community memebers to go through provided examples, resources, and previously published material before submitting content. As a rule of thumb, please only submit articles (pull requests) that are complete, formatted correctly, and include a fully polished article (ready to be published and error free).
All revisions and edits should be completed on your own forked repo (as to not take up room in the queue). Any PR that is submitted incomplete (meaning not ready to be published as is) will be closed. A PR being closed does NOT mean the article can not be published (or fixed) it simply means that the edits, revisions, and fixes will happen outside of the queue.
Topic Suggestion
Enter topic suggestion here...
Pre-submission advice
By following all our pre-submission advice and reviewing our Resources folder, you will maximise your chances of your topic being approved.
We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner.
Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published (subject to vary depending on volume and/or backlog of articles).
Be sure to visit our Resources Page for tools, resources, and example articles that will help you propose and write a successful article.
Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
Writing sample(s):
Include any links or writing samples - to help our team better gauge your writing quality.
Proposal Submission
Proposed title of article
Building a Vue.js 3 App with JSON Server and Axios
Use keyword research to improve your article's SEO.
Proposed article introduction
Axios is a lightweight HTTP library inside of your Vue.js applications. We'll learn how you can use Axios to consume the data by creating a simple shopping list  application. We'll start with a blank Vue.js application and add json-server for local data storage and axios for HTTP interaction.
Key takeaways

Create a new Vue.js project
Adding json-server
Getting HTTP data using Axios
Adding data using POST
Updating data using PATCH

Article quality
This will help the learner be more confident in their ability to interface with APIs using axios and Vue 3.
References
N/A

Sounds like a helpful topic - let's please be sure it adds value beyond what is in any official docs and/or what is covered in other blog sites. (the articles should go beyond a basic explanation - and it is always best to reference any EngEd article and build upon it). @Terripha
Please be attentive to grammar/readability and make sure that you put your article through a thorough editing review prior to submitting it for final approval. (There are some great free tools that we reference in EngEd resources.)
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.
Please be sure to double-check that it does not overlap with any existing EngEd articles, articles on other blog sites, or any incoming EngEd topic suggestions (if you haven't already) to avoid any potential article closure, please reference any relevant EngEd articles in yours. - Approved


iamax and asum bug related to USM

Summary
While working with an NVIDIA GPU, I attempted to use the iamax function, but encountered a segmentation fault that only occurred when using USM (Unified Shared Memory) and obtaining memory through the "malloc_device" function. After investigating possible causes, I found that obtaining memory through the "malloc_shared" function for the "result" variable resolved the issue. Further digging revealed that the variable is reinterpreted from int to int64_t in this line to ensure compatibility between oneMKL and cuBLAS. However, since the operation is performed on the host side, a segmentation fault occurs when memory for that variable is obtained with "malloc_device". It's worth noting that the same issue may be occurring with rocBlas.
On the other side, I have also found a related bug but with asum function. Getting memory for the "result" variable with "malloc_device" ends with a segmentation fault, but everything works well with "malloc_shared". In this case, I could not find any evidence of why it is crashing.
Version
oneMKL githash: 45c43edcfaea9773a01fcd32b1354984d6780b8e
Environment

HW: NVIDIA 1030GT
OS: Ubuntu 22.04

Here is a simple code to test the issue:
#include <iostream>
#include <string>
#include <CL/sycl.hpp>
#include "oneapi/mkl.hpp"

int main(int argc, char* argv[]) {
    auto nvidia_gpu_selector = [](const sycl::device &Device) {
        const std::string DriverVersion = Device.get_info<sycl::info::device::driver_version>();
        if (Device.is_gpu() && (DriverVersion.find("CUDA") != std::string::npos))
            return 1;
        return -1;
    };
    cl::sycl::queue q{nvidia_gpu_selector};

    constexpr int N{100};
    double h_sum{-1};
    int64_t h_imax{-1};
    double* vec   = sycl::malloc_device<double>(N, q);
    double* sum   = sycl::malloc_device<double>(1, q); // change -> malloc_shared
    int64_t* imax = sycl::malloc_device<int64_t>(1, q); // change -> malloc_shared
    q.memset(vec, 0, N*sizeof(double)).wait();

    oneapi::mkl::blas::column_major::asum(q, N, vec, 1, sum);
    oneapi::mkl::blas::column_major::iamax(q, N, vec, 1, imax);
    q.wait();

    q.memcpy(&h_sum, sum, sizeof(double)); // must be 0
    q.memcpy(&h_imax, imax, sizeof(int64_t)); // must be 0
    q.wait();

    std::cout << "Sum = " << h_sum << ", Max index = " << h_imax << std::endl;

    sycl::free(vec, q);
    sycl::free(sum, q);
    sycl::free(imax, q);
    return 0;
}

Just try changing the malloc_device of the result variables to malloc_shared.

I can reproduce this. It is USM-specific, the buffer APIs seem okay. In addition to iamax, iamin, and asum, it also affects nrm2 and probably all the level-1 BLAS APIs that return a scalar parameter.
There are two separate issues: setting the correct pointer mode with cuBlasPointerMode and the host-side adjustment for 0-based indices in iamax and iamin. The pointer mode is relatively easy to fix, the other is going to be slightly uglier. I'm working on a fix and tests now.

@FRYoussef Let me know if the changes in PR #304 resolve this for you.

As far as I tested it, it worked for me. Well done!!


Not able to get IIS Logs

Not able to get IIS Logs.
OS Version: Windows Server 2012 R2
Ops Agent Version: 2.17.0
Config File - Reference Link
logging:
  receivers:
    windows_event_log:
      type: windows_event_log
      channels: [System, Application, Security]
    iis_access:
      type: iis_access
      include_paths:
        - "C:\\inetpub\\logs\\LogFiles\\W3SVC1\\uex*"
        - "C:\\inetpub\\logs\\LogFiles\\W3SVC2\\uex*"
        - "C:\\inetpub\\logs\\LogFiles\\W3SVC3\\uex*"
        - "C:\\inetpub\\logs\\LogFiles\\W3SVC4\\uex*"
  service:
    pipelines:
      default_pipeline:
        receivers: [windows_event_log]
      iis:
        receivers: [iis_access]
metrics:
  receivers:
    hostmetrics:
      type: hostmetrics
      collection_interval: 60s
    iis_v2:
      type: iis
      receiver_version: 2
  processors:
    metrics_filter:
      type: exclude_metrics
      metrics_pattern: []
  service:
    pipelines:
      default_pipeline:
        receivers: [hostmetrics]
        processors: [metrics_filter]
      iispipeline:
        receivers: [iis_v2]

This do not throw any error, nothing suspicious in logging-module.log as well.
Tried some custom application logs with regex defined, it worked well.
Additional Information: This is an existing server, which do have IIS running since long time with old logs kept intact.

Team is already looking into this.

There is an internal tracker already. Closing this issue because this is WAI. The problem here was unrelated to the receiver and instead because of backpressure and storage. Feel free to open up this issue again if there are developments.


[Feature] specify gpus in pipeline

Motivation
How to specify gpus id in pipeline? I need to run two models simultaneously
Related resources
No response
Additional context
No response

Having same use case. Is it already supported or can anyone share how that can be implemented (correctly)? TYSM!
cc @lvhan028 @AllentDan @irexyc

can you try the CUDA_VISIBLE_DEVICES?


Add a build option.

It would be nice if there was an option to build so that I could then integrate the /dist into the app. This would eliminate the need to recompile less after I am done tweaking the components and themes. Or is this possible already and I just don't know it?

You could probably use the semantic src folder, compile it and then integrate it into your project. :)

I'll try that out, Thanks!


add Datarisk to the list

Datarisk transitioned to F#'s SAFE stack at the beginning of the year. For further context, F# eXchange 2021 talk

@Kavignon I'm not familiar with the commit signing requirements here that are blocking the merge.
Is this something you have dealt with before?

@Kavignon I'm not familiar with the commit signing requirements here that are blocking the merge. Is this something you have dealt with before?

I've removed the signing requirement - if it's a major issue we can undo and go back and require signing.

@alsnrbernardo Please also consider adding a testimonial to https://fsharp.org/testimonials!


polymer/npm build process - ERROR and WARNING during the build

The errors from the npm/polymer build should be appropriately masked/checked, or the underlaying issues around dependencies addressed.
This is to avoid confusion with newly introduced issues and/or improve our ability to automatically check build results
Example output from the polymer build:
15:28:57,629 [INFO] Running 'npm install polymer-cli --prefix .' in /Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/user-interfac
es/access-services-user-interface/tools
15:29:09,084 [WARNING] npm WARN saveError ENOENT: no such file or directory, open '/Users/jonesn/IdeaProjects/egeria/open-metadata-implementatio
n/user-interfaces/access-services-user-interface/tools/package.json'
15:29:09,382 [WARNING] npm WARN enoent ENOENT: no such file or directory, open '/Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/u
ser-interfaces/access-services-user-interface/tools/package.json'
15:29:09,383 [WARNING] npm WARN tools No description
15:29:09,383 [WARNING] npm WARN tools No repository field.
15:29:09,383 [WARNING] npm WARN tools No README data
15:29:09,383 [WARNING] npm WARN tools No license field.
15:29:09,384 [ERROR]
15:29:09,385 [INFO] +<EMAIL_ADDRESS>15:29:09,385 [INFO] updated 67 packages and audited 18055 packages in 10.838s
15:29:09,386 [INFO] found 17 vulnerabilities (11 low, 6 high)
15:29:09,387 [INFO]   run `npm audit fix` to fix them, or `npm audit` for details
15:29:09,430 [INFO]
15:29:09,430 [INFO] --- frontend-maven-plugin:1.6:npm (npm install) @ access-services-user-interface ---
15:29:09,431 [INFO] Running 'npm install ../src/main/static --prefix .' in /Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/user-interfaces/access-services-user-interface/tools
15:29:19,589 [WARNING] npm WARN saveError ENOENT: no such file or directory, open '/Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/user-interfaces/access-services-user-interface/tools/package.json'
15:29:19,859 [WARNING] npm WARN enoent ENOENT: no such file or directory, open '/Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/user-interfaces/access-services-user-interface/tools/package.json'
15:29:19,860 [WARNING] npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
15:29:19,860 [WARNING] npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
15:29:19,860 [WARNING] npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
15:29:19,861 [WARNING] npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| >=2.0.0-dev || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev but none is installed. You must install peer dependencies yourself.
15:29:19,861 [WARNING] npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><5 but none is installed. You must install peer dependencies yourself.
15:29:19,861 [WARNING] npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^2.1.0 || ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
15:29:19,862 [WARNING] npm WARN tools No description
15:29:19,862 [WARNING] npm WARN tools No repository field.
15:29:19,862 [WARNING] npm WARN tools No README data
15:29:19,862 [WARNING] npm WARN tools No license field.
15:29:19,862 [ERROR]
15:29:23,154 [INFO] +<EMAIL_ADDRESS>15:29:23,155 [INFO] updated 1 package and audited 18055 packages in 12.884s
15:29:23,155 [INFO] found 17 vulnerabilities (11 low, 6 high)
15:29:23,155 [INFO]   run `npm audit fix` to fix them, or `npm audit` for details
15:29:23,182 [INFO]

The 'npm WARN' messages are now at INFO level for the build.
However we do see some warnings that should be looked at around dependencies, as well as seeing reports of vulnerabilities that npm spots -- this is the only area we have .js scans so should be investigated from a security perspective


Fix docstring in training window

Removes reference to no longer supported dictionary input to training window.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #166   +/-   ##
=======================================
  Coverage   92.93%   92.93%
=======================================
  Files          72       72
  Lines        7785     7785
=======================================
  Hits         7235     7235
  Misses        550      550

Impacted Files
Coverage Δ

featuretools/entityset/entity.py
91.76% <ø> (ø)
:arrow_up:

featuretools/synthesis/dfs.py
100% <ø> (ø)
:arrow_up:

...computational_backends/calculate_feature_matrix.py
97.87% <ø> (ø)
:arrow_up:

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 80286b6...187360d. Read the comment docs.

Looks good. Merging


Vim freezing on write: How can I debug? Anyone else getting this?

Potentially related: #74, https://github.com/neoclide/coc.nvim/issues/2148, https://github.com/neoclide/coc.nvim/issues/661
This is coc-prettier, but I have no reliable way to reproduce this. I want to keep the line of communication open on how to collect better diagnostics / see if anyone else has this issue.
In the above issues, its referred to as delays. For me, the client seems to outright freeze. I can't open prompt or navigate around.
How do I find what's hanging VIM up?  What types of scripts hang up input in vim? Are there any keyboard commands that could break out of a jam like this?
killall -9 node frees it.
The issue is, this happens after 15 or 20 minutes of editing, enough for me to forget the earlier steps to recreate. If anyone has had similar issues and has workarounds/debug methods to provide more info please do!

You can disable formatOnSave for that filetype or use :noa w to write the file.

@chemzqm Hey, thank you
And if I wanted to invoke the formatter manually, how would that happen?
Additionally: Are there any commands I can use to help log vim / coc for any errors/messages?  If there were instructions for that I could provide more information.

I don't think they can help, it mostly issue with your prettier, you can debug it https://github.com/neoclide/coc.nvim/wiki/Debug-coc.nvim

After 60 seconds of vim being frozen, I finally saw this:
Error on request (CocAutocmd): request CocAutocmd ['BufWritePre', 2] timeout after 60s

vim version: VIM - Vi IMproved 8.2 8022815
node version: v12.20.1
coc.nvim version: 0.0.80-825a54d780
coc.nvim directory: /home/t/.dot-config/.vim/plugged/coc.nvim
term: dumb
platform: linux

https://github.com/tony/vim-config-framework/blob/bc104bf/plugins.vim#L63-L106
https://github.com/tony/vim-config-framework/blob/bc104bf/coc-settings.json
:CocInfo
2021-06-02T14:27:25.377 INFO (pid:32319) [services] - registered service "languageserver.golang"
2021-06-02T14:27:25.378 INFO (pid:32319) [services] - registered service "languageserver.cquery"
2021-06-02T14:27:25.407 INFO (pid:32319) [services] - registered service "json"
2021-06-02T14:27:25.407 INFO (pid:32319) [services] - Json language server state change: stopped => starting
2021-06-02T14:27:25.485 INFO (pid:32319) [plugin] - coc.nvim 0.0.80-825a54d780 initialized with node: v12.20.1 after 151ms
2021-06-02T14:27:25.489 INFO (pid:32319) [language-client-index] - json started with 32531
2021-06-02T14:27:25.538 INFO (pid:32319) [services] - Json language server state change: starting => running
2021-06-02T14:27:25.541 INFO (pid:32319) [services] - service json started
2021-06-02T14:27:26.092 INFO (pid:32319) [watchman] - watchman watching project: /home/t/work/javascript/ckeditor5/packages/ckeditor5-media-embed
2021-06-02T14:28:14.477 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:16.542 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:22.573 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:25.566 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:27.677 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:33.534 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:35.125 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:41.229 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:48.861 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:28:55.198 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:03.506 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:03.683 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:03.937 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:04.243 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:04.505 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:04.865 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:09.350 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:11.901 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:13.294 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:22.566 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:23.551 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:23.960 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:24.427 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:24.721 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:26.828 INFO (pid:32319) [completion-complete] - Results from: json
2021-06-02T14:29:27.877 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:33.252 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:37.270 INFO (pid:32319) [attach] - receive notification: highlight []
2021-06-02T14:29:45.662 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:29:51.757 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:30:01.126 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:30:05.225 INFO (pid:32319) [attach] - receive notification: highlight []
2021-06-02T14:32:56.213 INFO (pid:32319) [attach] - receive request: CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:32:58.215 WARN (pid:32319) [events] - Handler of BufWritePre blocked more than 2s: Error
    at gq.on (/home/t/.dot-config/.vim/plugged/coc.nvim/build/index.js:132:216)
    at zj.init (/home/t/.dot-config/.vim/plugged/coc.nvim/build/index.js:185:11391)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async qP.init (/home/t/.dot-config/.vim/plugged/coc.nvim/build/index.js:247:10465)
    at async /home/t/.dot-config/.vim/plugged/coc.nvim/build/index.js:129:13510
2021-06-02T14:32:59.216 ERROR (pid:32319) [attach] - Request cost more than 3s CocAutocmd [ 'BufWritePre', 2 ]
2021-06-02T14:34:32.839 INFO (pid:32319) [attach] - receive notification: highlight []
2021-06-02T14:35:42.332 INFO (pid:32319) [attach] - receive notification: openLog []
2021-06-02T14:35:46.220 INFO (pid:32319) [attach] - receive notification: openLog []

Normally in cases like these I choose between killall -9 vim or killall -9 node (depending on whichever is less irritating to lose)
Do the above logs help clue you in on if this is a coc-prettier issue or not?  Unfortunately it doesn't specify which coc plugin is impacting things!
Is there enough information to glean if this is a coc-prettier issue or best placed somewhere else?
Thank you!

@chemzqm
Normally in cases like these I choose between killall -9 vim or killall -9 node (depending on whichever is less irritating to lose)
Do the above logs help clue you in on if this is a coc-prettier issue or not?  Unfortunately it doesn't specify which coc plugin is impacting things.
Thank you!

Should be caused by coc-prettier, try use prettier.disableLanguages configuration.

@chemzqm Do you think prettier.disableLanguages works?
I have json disabled and vim still freezes when in json filetypes
i've confimed through set filetype the current buffer's filetype is json
Only other link I see is vscode's prettier plugin: https://github.com/prettier/prettier-vscode/issues/1854

I have json disabled and vim still freezes when in json filetypes

Could be caused be other vim plugin.

Try profile your vim https://github.com/neoclide/coc.nvim/wiki/F.A.Q#how-could-i-profile-cocnvim


Introduce an experimental modal walkthrough for web experiences

Related: https://github.com/microsoft/vscode/issues/166895

Duplicate of #

https://github.com/microsoft/vscode/issues/171190#issuecomment-1380853928

Current Progress:

We have enabled an experimental modal dialog to be used for gathering feedback.

Previous studies conducted to test this feature have concluded that users often did not engage with a modal walkthrough.
See https://github.com/microsoft/vscode/issues/106717#issuecomment-790053982

One of the issue we would need to address if we do decide to use welcome dialogs for web experiences is users encountering back-to-back modal dialogs - because GitHub Repositories triggers the modal dialog sign in flow for first-time users.

Some of the ideas under consideration for this scenario are:

Surfacing the welcome information as a notification instead of modal dialog.

Sequentially surfacing the welcome modal followed by other setup modals to establish a "welcome flow" to get users to a ready state.

followed by

Incorporating setup modal actions (such as sign-in) as a part of the welcome dialog itself and have a singular blocking modal dialog.

An intermediate page before loading the actual app -

Moving this to next milestone as part of issue tracking and cleaning for the current milestone as we are close to the release.

We've now added an experimental https://github.com/microsoft/vscode/issues/179401 contextual welcome widget in the editor on the web for new users. We will monitor its usage to determine the usefulness of this model of interaction for welcome experiences on the web.

We have rolled out a non modal experimental dialog. We will track the experiment metrics in the coming weeks.

Hi @bhavyaus, what are some verification steps for this issue?

Confirmed this is being tracked elsewhere now


ToDo Tasks

High Priority Tasks

Limit victims or dead people from chatting
Repeat notification about starting game
Chat ID issue
Limit healing after every two game rounds for Doctor
Add stickers ASAP
Add leave from game feature

Further Improvements

Mobile Application on WebView
Adding Events for interaction with an audience

Build Docker image
Save all progress to MySQL


fixing remote services visibility

it was hard coded to true
What does this PR do?
Screenshot
Related Issue

Dupe of #132. Reviewed as working. Closing #132, merging #133.


Create diagrams of unit trees for paper

Create diagrams of the unit tree tests. I would use maybe something like draw.io or you can use dot trees. These will be added into the paper graphically. You might also look into using the latex graphics packages but it may be cumbersome.

Diagrams Link: https://drive.google.com/file/d/1v3FLLLFx8y8aIAR8EbUeHGI8gGyCVmRT/view?usp=sharing
(I believe that it should be editable)
Doc Link (tree screenshots): https://docs.google.com/document/d/1WL2wV-Ae-0gpV35rprawodJTEh7tCcBCGLL5q3YWbLY/edit

Added some trees, will discuss Wednesday:

[ ] go over trees
[ ] how this will go into the paper

Trees are done, this issue will live for the docs, moving from "unit trees" to "base behavior trees" or other better name