text:
Gulp exceeds call stack max in cmd/ui

I'm trying to get your changes compiled and in and tested and have this problem starting up the UI.
As a side note, I presume this is intended, but tchaik.com and github.com have different states; the documentation here on github specifies a go get from tchaik.com. I did that and then 'pull'ed from the github repo to get your Issue #58 patch in.
I don't think that patch is hitting this part of the code though.
#pwd
/Users/admin/go/src/tchaik.com/cmd/tchaik/ui

# node -v
v5.1.0

# gulp -v
[11:53:53] CLI version 3.9.0
[11:53:53] Local version 3.9.0

#gulp
[11:51:12] Using gulpfile ~/go/src/tchaik.com/cmd/tchaik/ui/gulpfile.js
[11:51:12] Starting 'webpack'...
[11:51:13] Starting 'eslint'...
[11:51:20] [webpack] Hash: 6dedad6dd7e4ff53e062
Version: webpack 1.12.9
Time: 6929ms
     Asset     Size  Chunks             Chunk Names
 tchaik.js   2.7 MB       0  [emitted]  app
styles.css  41.2 kB       0  [emitted]  app
chunk    {0} tchaik.js, styles.css (app) 859 kB [rendered]
    [0] multi app 28 bytes {0} [built]
    [1] ./js/src/app.js 2.66 kB {0} [built] [5 errors]
    [2] ./css/screen.css 41 bytes {0} [built]
    [6] ./css/material-icons.css 41 bytes {0} [built]
    [8] ./~/react/react.js 56 bytes {0} [built]
    [9] ./~/react/lib/React.js 1.49 kB {0} [built]
   [10] ./~/react/lib/ReactDOM.js 3.71 kB {0} [built]
   [11] ./~/react/lib/ReactCurrentOwner.js 653 bytes {0} [built]
   [12] ./~/react/lib/ReactDOMTextComponent.js 4.32 kB {0} [built]
   [13] ./~/react/lib/DOMChildrenOperations.js 5 kB {0} [built]
   [14] ./~/react/lib/Danger.js 6.96 kB {0} [built]
   [15] ./~/react/~/fbjs/lib/ExecutionEnvironment.js 1.09 kB {0} [built]
   [16] ./~/react/~/fbjs/lib/createNodesFromMarkup.js 2.71 kB {0} [built]
   [17] ./~/react/~/fbjs/lib/createArrayFromMixed.js 2.36 kB {0} [built]
   [18] ./~/react/~/fbjs/lib/toArray.js 1.98 kB {0} [built]
   [19] ./~/react/~/fbjs/lib/invariant.js 1.51 kB {0} [built]
   [20] ./~/react/~/fbjs/lib/getMarkupWrap.js 3.06 kB {0} [built]
   [21] ./~/react/~/fbjs/lib/emptyFunction.js 1.09 kB {0} [built]
   [22] ./~/react/lib/ReactMultiChildUpdateTypes.js 861 bytes {0} [built]
   [23] ./~/react/~/fbjs/lib/keyMirror.js 1.27 kB {0} [built]
   [24] ./~/react/lib/ReactPerf.js 2.51 kB {0} [built]
   [25] ./~/react/lib/setInnerHTML.js 3.35 kB {0} [built]
   [26] ./~/react/lib/setTextContent.js 1.2 kB {0} [built]
   [27] ./~/react/lib/escapeTextContentForBrowser.js 849 bytes {0} [built]
   [28] ./~/react/lib/DOMPropertyOperations.js 7.88 kB {0} [built]
   [29] ./~/react/lib/DOMProperty.js 9.57 kB {0} [built]
   [30] ./~/react/lib/quoteAttributeValueForBrowser.js 746 bytes {0} [built]
   [31] ./~/react/~/fbjs/lib/warning.js 1.77 kB {0} [built]
   [32] ./~/react/lib/ReactComponentBrowserEnvironment.js 1.26 kB {0} [built]
   [33] ./~/react/lib/ReactDOMIDOperations.js 3.29 kB {0} [built]
   [34] ./~/react/lib/ReactMount.js 36.8 kB {0} [built]
   [35] ./~/react/lib/ReactBrowserEventEmitter.js 12.4 kB {0} [built]
   [36] ./~/react/lib/EventConstants.js 2.04 kB {0} [built]
   [37] ./~/react/lib/EventPluginHub.js 9.22 kB {0} [built]
   [38] ./~/react/lib/EventPluginRegistry.js 8.41 kB {0} [built]
   [39] ./~/react/lib/EventPluginUtils.js 6.79 kB {0} [built]
   [40] ./~/react/lib/ReactErrorUtils.js 2.27 kB {0} [built]
   [41] ./~/react/lib/accumulateInto.js 1.74 kB {0} [built]
   [42] ./~/react/lib/forEachAccumulated.js 893 bytes {0} [built]
   [43] ./~/react/lib/ReactEventEmitterMixin.js 1.3 kB {0} [built]
   [44] ./~/react/lib/ViewportMetrics.js 638 bytes {0} [built]
   [45] ./~/react/lib/Object.assign.js 1.26 kB {0} [built]
   [46] ./~/react/lib/isEventSupported.js 1.97 kB {0} [built]
   [47] ./~/react/lib/ReactDOMFeatureFlags.js 458 bytes {0} [built]
   [48] ./~/react/lib/ReactElement.js 8.07 kB {0} [built]
   [49] ./~/react/lib/canDefineProperty.js 629 bytes {0} [built]
   [50] ./~/react/lib/ReactEmptyComponentRegistry.js 1.38 kB {0} [built]
   [51] ./~/react/lib/ReactInstanceHandles.js 10.6 kB {0} [built]
   [52] ./~/react/lib/ReactRootIndex.js 723 bytes {0} [built]
   [53] ./~/react/lib/ReactInstanceMap.js 1.25 kB {0} [built]
   [54] ./~/react/lib/ReactMarkupChecksum.js 1.39 kB {0} [built]
   [55] ./~/react/lib/adler32.js 1.2 kB {0} [built]
   [56] ./~/react/lib/ReactReconciler.js 3.55 kB {0} [built]
   [57] ./~/react/lib/ReactRef.js 2.34 kB {0} [built]
   [58] ./~/react/lib/ReactOwner.js 3.45 kB {0} [built]
   [59] ./~/react/lib/ReactUpdateQueue.js 10.9 kB {0} [built]
   [60] ./~/react/lib/ReactUpdates.js 8.54 kB {0} [built]
   [61] ./~/react/lib/CallbackQueue.js 2.44 kB {0} [built]
   [62] ./~/react/lib/PooledClass.js 3.55 kB {0} [built]
   [63] ./~/react/lib/Transaction.js 9.55 kB {0} [built]
   [64] ./~/react/~/fbjs/lib/emptyObject.js 482 bytes {0} [built]
   [65] ./~/react/~/fbjs/lib/containsNode.js 1.43 kB {0} [built]
   [66] ./~/react/~/fbjs/lib/isTextNode.js 628 bytes {0} [built]
   [67] ./~/react/~/fbjs/lib/isNode.js 712 bytes {0} [built]
   [68] ./~/react/lib/instantiateReactComponent.js 4.52 kB {0} [built]
   [69] ./~/react/lib/ReactCompositeComponent.js 27.5 kB {0} [built]
   [70] ./~/react/lib/ReactComponentEnvironment.js 1.67 kB {0} [built]
   [71] ./~/react/lib/ReactPropTypeLocations.js 549 bytes {0} [built]
   [72] ./~/react/lib/ReactPropTypeLocationNames.js 611 bytes {0} [built]
   [73] ./~/react/lib/shouldUpdateReactComponent.js 1.49 kB {0} [built]
   [74] ./~/react/lib/ReactEmptyComponent.js 1.68 kB {0} [built]
   [75] ./~/react/lib/ReactNativeComponent.js 3.02 kB {0} [built]
   [76] ./~/react/lib/validateDOMNesting.js 13.1 kB {0} [built]
   [77] ./~/react/lib/ReactDefaultInjection.js 3.99 kB {0} [built]
   [78] ./~/react/lib/BeforeInputEventPlugin.js 14.9 kB {0} [built]
   [79] ./~/react/lib/EventPropagators.js 5.22 kB {0} [built]
   [80] ./~/react/lib/FallbackCompositionState.js 2.49 kB {0} [built]
   [81] ./~/react/lib/getTextContentAccessor.js 994 bytes {0} [built]
   [82] ./~/react/lib/SyntheticCompositionEvent.js 1.16 kB {0} [built]
   [83] ./~/react/lib/SyntheticEvent.js 5.75 kB {0} [built]
   [84] ./~/react/lib/SyntheticInputEvent.js 1.15 kB {0} [built]
   [85] ./~/react/~/fbjs/lib/keyOf.js 1.11 kB {0} [built]
   [86] ./~/react/lib/ChangeEventPlugin.js 11.5 kB {0} [built]
   [87] ./~/react/lib/getEventTarget.js 930 bytes {0} [built]
   [88] ./~/react/lib/isTextInputElement.js 1.03 kB {0} [built]
   [89] ./~/react/lib/ClientReactRootIndex.js 551 bytes {0} [built]
   [90] ./~/react/lib/DefaultEventPluginOrder.js 1.26 kB {0} [built]
   [91] ./~/react/lib/EnterLeaveEventPlugin.js 3.9 kB {0} [built]
   [92] ./~/react/lib/SyntheticMouseEvent.js 2.2 kB {0} [built]
   [93] ./~/react/lib/SyntheticUIEvent.js 1.64 kB {0} [built]
   [94] ./~/react/lib/getEventModifierState.js 1.3 kB {0} [built]
   [95] ./~/react/lib/HTMLDOMPropertyConfig.js 7.67 kB {0} [built]
   [96] ./~/react/lib/ReactBrowserComponentMixin.js 1.15 kB {0} [built]
   [97] ./~/react/lib/findDOMNode.js 2.17 kB {0} [built]
   [98] ./~/react/lib/ReactDefaultBatchingStrategy.js 1.92 kB {0} [built]
   [99] ./~/react/lib/ReactDOMComponent.js 36.9 kB {0} [built]
  [100] ./~/react/lib/AutoFocusUtils.js 816 bytes {0} [built]
  [101] ./~/react/~/fbjs/lib/focusNode.js 725 bytes {0} [built]
  [102] ./~/react/lib/CSSPropertyOperations.js 5.71 kB {0} [built]
  [103] ./~/react/lib/CSSProperty.js 3.5 kB {0} [built]
  [104] ./~/react/~/fbjs/lib/camelizeStyleName.js 1.03 kB {0} [built]
  [105] ./~/react/~/fbjs/lib/camelize.js 729 bytes {0} [built]
  [106] ./~/react/lib/dangerousStyleValue.js 1.93 kB {0} [built]
  [107] ./~/react/~/fbjs/lib/hyphenateStyleName.js 1 kB {0} [built]
  [108] ./~/react/~/fbjs/lib/hyphenate.js 822 bytes {0} [built]
  [109] ./~/react/~/fbjs/lib/memoizeStringOnly.js 778 bytes {0} [built]
  [110] ./~/react/lib/ReactDOMButton.js 1.15 kB {0} [built]
  [111] ./~/react/lib/ReactDOMInput.js 5.74 kB {0} [built]
  [112] ./~/react/lib/LinkedValueUtils.js 5.18 kB {0} [built]
  [113] ./~/react/lib/ReactPropTypes.js 12.3 kB {0} [built]
  [114] ./~/react/lib/getIteratorFn.js 1.17 kB {0} [built]
  [115] ./~/react/lib/ReactDOMOption.js 2.79 kB {0} [built]
  [116] ./~/react/lib/ReactChildren.js 5.83 kB {0} [built]
  [117] ./~/react/lib/traverseAllChildren.js 6.9 kB {0} [built]
  [118] ./~/react/lib/ReactDOMSelect.js 6.09 kB {0} [built]
  [119] ./~/react/lib/ReactDOMTextarea.js 4.35 kB {0} [built]
  [120] ./~/react/lib/ReactMultiChild.js 14.7 kB {0} [built]
  [121] ./~/react/lib/ReactChildReconciler.js 4.52 kB {0} [built]
  [122] ./~/react/lib/flattenChildren.js 1.65 kB {0} [built]
  [123] ./~/react/~/fbjs/lib/shallowEqual.js 1.28 kB {0} [built]
  [124] ./~/react/lib/ReactEventListener.js 7.51 kB {0} [built]
  [125] ./~/react/~/fbjs/lib/EventListener.js 2.65 kB {0} [built]
  [126] ./~/react/~/fbjs/lib/getUnboundedScrollPosition.js 1.09 kB {0} [built]
  [127] ./~/react/lib/ReactInjection.js 1.37 kB {0} [built]
  [128] ./~/react/lib/ReactClass.js 27.8 kB {0} [built]
  [129] ./~/react/lib/ReactComponent.js 5.04 kB {0} [built]
  [130] ./~/react/lib/ReactNoopUpdateQueue.js 3.94 kB {0} [built]
  [131] ./~/react/lib/ReactReconcileTransaction.js 4.58 kB {0} [built]
  [132] ./~/react/lib/ReactInputSelection.js 4.32 kB {0} [built]
  [133] ./~/react/lib/ReactDOMSelection.js 6.83 kB {0} [built]
  [134] ./~/react/lib/getNodeForCharacterOffset.js 1.66 kB {0} [built]
  [135] ./~/react/~/fbjs/lib/getActiveElement.js 876 bytes {0} [built]
  [136] ./~/react/lib/SelectEventPlugin.js 6.71 kB {0} [built]
  [137] ./~/react/lib/ServerReactRootIndex.js 868 bytes {0} [built]
  [138] ./~/react/lib/SimpleEventPlugin.js 17.4 kB {0} [built]
  [139] ./~/react/lib/SyntheticClipboardEvent.js 1.23 kB {0} [built]
  [140] ./~/react/lib/SyntheticFocusEvent.js 1.12 kB {0} [built]
  [141] ./~/react/lib/SyntheticKeyboardEvent.js 2.76 kB {0} [built]
  [142] ./~/react/lib/getEventCharCode.js 1.56 kB {0} [built]
  [143] ./~/react/lib/getEventKey.js 2.93 kB {0} [built]
  [144] ./~/react/lib/SyntheticDragEvent.js 1.13 kB {0} [built]
  [145] ./~/react/lib/SyntheticTouchEvent.js 1.33 kB {0} [built]
  [146] ./~/react/lib/SyntheticWheelEvent.js 1.99 kB {0} [built]
  [147] ./~/react/lib/SVGDOMPropertyConfig.js 3.8 kB {0} [built]
  [148] ./~/react/lib/ReactDefaultPerf.js 8.63 kB {0} [built]
  [149] ./~/react/lib/ReactDefaultPerfAnalysis.js 5.72 kB {0} [built]
  [150] ./~/react/~/fbjs/lib/performanceNow.js 830 bytes {0} [built]
  [151] ./~/react/~/fbjs/lib/performance.js 612 bytes {0} [built]
  [152] ./~/react/lib/ReactVersion.js 379 bytes {0} [built]
  [153] ./~/react/lib/renderSubtreeIntoContainer.js 463 bytes {0} [built]
  [154] ./~/react/lib/ReactDOMServer.js 766 bytes {0} [built]
  [155] ./~/react/lib/ReactServerRendering.js 3.3 kB {0} [built]
  [156] ./~/react/lib/ReactServerBatchingStrategy.js 673 bytes {0} [built]
  [157] ./~/react/lib/ReactServerRenderingTransaction.js 2.3 kB {0} [built]
  [158] ./~/react/lib/ReactIsomorphic.js 2.05 kB {0} [built]
  [159] ./~/react/lib/ReactDOMFactories.js 3.36 kB {0} [built]
  [160] ./~/react/lib/ReactElementValidator.js 10.8 kB {0} [built]
  [161] ./~/react/~/fbjs/lib/mapObject.js 1.47 kB {0} [built]
  [162] ./~/react/lib/onlyChild.js 1.21 kB {0} [built]
  [163] ./~/react/lib/deprecated.js 1.77 kB {0} [built]
  [164] ./~/react-dom/index.js 63 bytes {0} [built]
  [165] ./~/babel-core/polyfill.js 50 bytes {0} [built]
  [166] ./~/babel-core/lib/babel/polyfill.js 203 bytes {0} [built]
  [167] ./~/babel-core/~/core-js/shim.js 1.95 kB {0} [built]
  [168] ./~/babel-core/~/core-js/modules/es5.js 11.3 kB {0} [built]
  [169] ./~/babel-core/~/core-js/modules/$.js 2.72 kB {0} [built]
  [170] ./~/babel-core/~/core-js/modules/$.fw.js 77 bytes {0} [built]
  [171] ./~/babel-core/~/core-js/modules/$.dom-create.js 286 bytes {0} [built]
  [172] ./~/babel-core/~/core-js/modules/$.cof.js 480 bytes {0} [built]
  [173] ./~/babel-core/~/core-js/modules/$.wks.js 235 bytes {0} [built]
  [174] ./~/babel-core/~/core-js/modules/$.shared.js 191 bytes {0} [built]
  [175] ./~/babel-core/~/core-js/modules/$.uid.js 199 bytes {0} [built]
  [176] ./~/babel-core/~/core-js/modules/$.def.js 1.33 kB {0} [built]
  [177] ./~/babel-core/~/core-js/modules/$.redef.js 831 bytes {0} [built]
  [178] ./~/babel-core/~/core-js/modules/$.invoke.js 867 bytes {0} [built]
  [179] ./~/babel-core/~/core-js/modules/$.array-methods.js 1.37 kB {0} [built]
  [180] ./~/babel-core/~/core-js/modules/$.ctx.js 528 bytes {0} [built]
  [181] ./~/babel-core/~/core-js/modules/$.assert.js 548 bytes {0} [built]
  [182] ./~/babel-core/~/core-js/modules/$.array-includes.js 574 bytes {0} [built]
  [183] ./~/babel-core/~/core-js/modules/$.replacer.js 269 bytes {0} [built]
  [184] ./~/babel-core/~/core-js/modules/$.throws.js 108 bytes {0} [built]
  [185] ./~/babel-core/~/core-js/modules/es6.symbol.js 5.82 kB {0} [built]
  [186] ./~/babel-core/~/core-js/modules/$.keyof.js 250 bytes {0} [built]
  [187] ./~/babel-core/~/core-js/modules/$.enum-keys.js 283 bytes {0} [built]
  [188] ./~/babel-core/~/core-js/modules/$.get-names.js 587 bytes {0} [built]
  [189] ./~/babel-core/~/core-js/modules/es6.object.assign.js 129 bytes {0} [built]
  [190] ./~/babel-core/~/core-js/modules/$.assign.js 557 bytes {0} [built]
  [191] ./~/babel-core/~/core-js/modules/es6.object.is.js 124 bytes {0} [built]
  [192] ./~/babel-core/~/core-js/modules/$.same.js 119 bytes {0} [built]
  [193] ./~/babel-core/~/core-js/modules/es6.object.set-prototype-of.js 147 bytes {0} [built]
  [194] ./~/babel-core/~/core-js/modules/$.set-proto.js 812 bytes {0} [built]
  [195] ./~/babel-core/~/core-js/modules/es6.object.to-string.js 321 bytes {0} [built]
  [196] ./~/babel-core/~/core-js/modules/es6.object.statics-accept-primitives.js 1.28 kB {0} [built]
  [197] ./~/babel-core/~/core-js/modules/es6.function.name.js 533 bytes {0} [built]
  [198] ./~/babel-core/~/core-js/modules/es6.function.has-instance.js 562 bytes {0} [built]
  [199] ./~/babel-core/~/core-js/modules/es6.number.constructor.js 1.56 kB {0} [built]
  [200] ./~/babel-core/~/core-js/modules/es6.number.statics.js 1.13 kB {0} [built]
  [201] ./~/babel-core/~/core-js/modules/es6.math.js 3.55 kB {0} [built]
  [202] ./~/babel-core/~/core-js/modules/es6.string.from-code-point.js 817 bytes {0} [built]
  [203] ./~/babel-core/~/core-js/modules/es6.string.raw.js 445 bytes {0} [built]
  [204] ./~/babel-core/~/core-js/modules/es6.string.iterator.js 592 bytes {0} [built]
  [205] ./~/babel-core/~/core-js/modules/$.string-at.js 575 bytes {0} [built]
  [206] ./~/babel-core/~/core-js/modules/$.iter.js 1.62 kB {0} [built]
  [207] ./~/babel-core/~/core-js/modules/$.iter-define.js 1.88 kB {0} [built]
  [208] ./~/babel-core/~/core-js/modules/es6.string.code-point-at.js 237 bytes {0} [built]
  [209] ./~/babel-core/~/core-js/modules/es6.string.ends-with.js 757 bytes {0} [built]
  [210] ./~/babel-core/~/core-js/modules/es6.string.includes.js 404 bytes {0} [built]
  [211] ./~/babel-core/~/core-js/modules/es6.string.repeat.js 145 bytes {0} [built]
  [212] ./~/babel-core/~/core-js/modules/$.string-repeat.js 320 bytes {0} [built]
  [213] ./~/babel-core/~/core-js/modules/es6.string.starts-with.js 642 bytes {0} [built]
  [214] ./~/babel-core/~/core-js/modules/es6.array.from.js 1.36 kB {0} [built]
  [215] ./~/babel-core/~/core-js/modules/$.iter-call.js 383 bytes {0} [built]
  [216] ./~/babel-core/~/core-js/modules/$.iter-detect.js 564 bytes {0} [built]
  [217] ./~/babel-core/~/core-js/modules/es6.array.of.js 436 bytes {0} [built]
  [218] ./~/babel-core/~/core-js/modules/es6.array.iterator.js 1.06 kB {0} [built]
  [219] ./~/babel-core/~/core-js/modules/$.unscope.js 241 bytes {0} [built]
  [220] ./~/babel-core/~/core-js/modules/es6.array.species.js 30 bytes {0} [built]
  [221] ./~/babel-core/~/core-js/modules/$.species.js 207 bytes {0} [built]
  [222] ./~/babel-core/~/core-js/modules/es6.array.copy-within.js 904 bytes {0} [built]
  [223] ./~/babel-core/~/core-js/modules/es6.array.fill.js 587 bytes {0} [built]
  [224] ./~/babel-core/~/core-js/modules/es6.array.find.js 464 bytes {0} [built]
  [225] ./~/babel-core/~/core-js/modules/es6.array.find-index.js 484 bytes {0} [built]
  [226] ./~/babel-core/~/core-js/modules/es6.regexp.js 1.54 kB {0} [built]
  [227] ./~/babel-core/~/core-js/modules/es6.promise.js 7.82 kB {0} [built]
  [228] ./~/babel-core/~/core-js/modules/$.for-of.js 395 bytes {0} [built]
  [229] ./~/babel-core/~/core-js/modules/$.task.js 2.25 kB {0} [built]
  [230] ./~/babel-core/~/core-js/modules/$.mix.js 150 bytes {0} [built]
  [231] ./~/babel-core/~/core-js/modules/es6.map.js 491 bytes {0} [built]
  [232] ./~/babel-core/~/core-js/modules/$.collection-strong.js 5.08 kB {0} [built]
  [233] ./~/babel-core/~/core-js/modules/$.collection.js 2.26 kB {0} [built]
  [234] ./~/babel-core/~/core-js/modules/es6.set.js 346 bytes {0} [built]
  [235] ./~/babel-core/~/core-js/modules/es6.weak-map.js 1.38 kB {0} [built]
  [236] ./~/babel-core/~/core-js/modules/$.collection-weak.js 2.48 kB {0} [built]
  [237] ./~/babel-core/~/core-js/modules/es6.weak-set.js 340 bytes {0} [built]
  [238] ./~/babel-core/~/core-js/modules/es6.reflect.js 5.08 kB {0} [built]
  [239] ./~/babel-core/~/core-js/modules/$.own-keys.js 266 bytes {0} [built]
  [240] ./~/babel-core/~/core-js/modules/es7.array.includes.js 328 bytes {0} [built]
  [241] ./~/babel-core/~/core-js/modules/es7.string.at.js 226 bytes {0} [built]
  [242] ./~/babel-core/~/core-js/modules/es7.string.lpad.js 186 bytes {0} [built]
  [243] ./~/babel-core/~/core-js/modules/$.string-pad.js 1.57 kB {0} [built]
  [244] ./~/babel-core/~/core-js/modules/es7.string.rpad.js 187 bytes {0} [built]
  [245] ./~/babel-core/~/core-js/modules/es7.regexp.escape.js 178 bytes {0} [built]
  [246] ./~/babel-core/~/core-js/modules/es7.object.get-own-property-descriptors.js 443 bytes {0} [built]
  [247] ./~/babel-core/~/core-js/modules/es7.object.to-array.js 562 bytes {0} [built]
  [248] ./~/babel-core/~/core-js/modules/es7.map.to-json.js 100 bytes {0} [built]
  [249] ./~/babel-core/~/core-js/modules/$.collection-to-json.js 305 bytes {0} [built]
  [250] ./~/babel-core/~/core-js/modules/es7.set.to-json.js 100 bytes {0} [built]
  [251] ./~/babel-core/~/core-js/modules/js.array.statics.js 707 bytes {0} [built]
  [252] ./~/babel-core/~/core-js/modules/web.timers.js 655 bytes {0} [built]
  [253] ./~/babel-core/~/core-js/modules/$.partial.js 772 bytes {0} [built]
  [254] ./~/babel-core/~/core-js/modules/web.immediate.js 150 bytes {0} [built]
  [255] ./~/babel-core/~/core-js/modules/web.dom.iterable.js 565 bytes {0} [built]
  [256] ./~/babel-core/~/regenerator/runtime.js 19.9 kB {0} [built]
  [257] ./~/node-libs-browser/~/process/browser.js 2.06 kB {0} [built]
  [258] ./js/src/utils/WebsocketAPI.js 6.43 kB {0} [built]
  [259] ./js/src/utils/ChangeEmitter.js 3.74 kB {0} [built]
  [260] ./~/eventemitter3/index.js 6.08 kB {0} [built]
  [261] ./js/src/dispatcher/AppDispatcher.js 3.62 kB {0} [built]
  [262] ./~/flux/index.js 364 bytes {0} [built]
  [263] ./~/flux/lib/Dispatcher.js 7.28 kB {0} [built]
  [264] ./~/flux/~/fbjs/lib/invariant.js 1.51 kB {0} [built]
  [265] ./js/src/actions/WebsocketActions.js 2.33 kB {0} [built]
  [266] ./js/src/constants/WebsocketConstants.js 1.47 kB {0} [built]
  [267] ./~/keymirror/index.js 1.41 kB {0} [built]
  [268] ./js/src/utils/AudioAPI.js 7.25 kB {0} [built]
  [269] ./js/src/constants/NowPlayingConstants.js 1.69 kB {0} [built]
  [270] ./js/src/actions/NowPlayingActions.js 5.14 kB {0} [built]
  [271] ./js/src/stores/NowPlayingStore.js 10.9 kB {0} [built]
  [272] ./js/src/constants/PlaylistConstants.js 1.64 kB {0} [built]
  [273] ./js/src/constants/CursorConstants.js 1.52 kB {0} [built]
  [274] ./js/src/stores/CursorStore.js 8.97 kB {0} [built]
  [275] ./js/src/stores/CollectionStore.js 4.77 kB {0} [built]
  [276] ./js/src/constants/CollectionConstants.js 1.51 kB {0} [built]
  [277] ./js/src/constants/ControlConstants.js 1.71 kB {0} [built]
  [278] ./js/src/stores/PlaylistStore.js 6.88 kB {0} [built]
  [279] ./js/src/stores/PlayingStatusStore.js 6.99 kB {0} [built]
  [280] ./js/src/stores/VolumeStore.js 5.76 kB {0} [built]
  [281] ./js/src/constants/VolumeConstants.js 1.5 kB {0} [built]

ERROR in ./js/src/components/LeftColumn.js
Module build failed: RangeError: Maximum call stack size exceeded
    at new Reference (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/lib/reference.js:41:21)
    at FunctionScope.__referencing (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/lib/scope.js:405:27)
    at Referencer.Identifier (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/lib/referencer.js:406:37)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.CallExpression (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/lib/referencer.js:480:22)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:109:34)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
 @ ./js/src/app.js 16:17-54

ERROR in ./js/src/components/RightColumn.js
Module build failed: RangeError: Maximum call stack size exceeded
    at keys (native)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:78:24)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
 @ ./js/src/app.js 17:18-56

ERROR in ./js/src/components/Top.js
Module build failed: RangeError: Maximum call stack size exceeded
    at keys (native)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:78:24)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
 @ ./js/src/app.js 19:10-40

ERROR in ./js/src/components/Bottom.js
Module build failed: RangeError: Maximum call stack size exceeded
    at keys (native)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:78:24)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
 @ ./js/src/app.js 18:13-46

ERROR in ./js/src/components/Container.js
Module build failed: RangeError: Maximum call stack size exceeded
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:67:48)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
 @ ./js/src/app.js 20:16-52
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 43.3 kB [rendered]
        [0] ./~/css-loader!./~/postcss-loader!./css/screen.css 41.8 kB {0} [built]
        [1] ./~/css-loader/lib/css-base.js 1.51 kB {0} [built]
Child extract-text-webpack-plugin:
    chunk    {0} extract-text-webpack-plugin-output-filename 2.74 kB [rendered]
        [0] ./~/css-loader!./~/postcss-loader!./css/material-icons.css 1.23 kB {0} [built]
        [1] ./~/css-loader/lib/css-base.js 1.51 kB {0} [built]
[11:51:20] Finished 'webpack' after 7.72 s
/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:78
            children = objectKeys(node);
                       ^

RangeError: Maximum call stack size exceeded
    at keys (native)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:78:24)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (/Users/admin/go/src/tchaik.com/cmd/tchaik/ui/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)

As a side note, I presume this is intended, but tchaik.com and github.com have different states; the documentation here on github specifies a go get from tchaik.com. I did that and then 'pull'ed from the github repo to get your Issue #58 patch in.

If you look at the source of tchaik.com you'll see that it's just a go get redirect to this repo (it's using https://github.com/dhowden/getaway).
So it seems that I'm using an older version of Node:
$ node -v
v0.12.2
$ gulp -v
[08:45:57] CLI version 3.8.11
[08:45:57] Local version 3.9.0

I will update and see if I can replicate your issue (I will need to sort this out if it's a problem for Node 5.0+!), in the mean time if you're just trying to build it you could downgrade to 0.12.2 which should work fine.

Ok, I'm seeing this error with a fresh install and Node v4.2.2, it's possible that the downgrade to v0.12.2 won't help.
Will begin by going through these deprecation warnings:
npm WARN deprecated gulp-karma@0.0.4: Please use Karma directly: https://github.com/karma-runner/gulp-karma
npm WARN deprecated babel-core@5.5.4: Babel 5 is no longer being maintained. Upgrade to Babel 6.
npm WARN engine karma@0.12.37: wanted: {"node":">=0.8 <=0.12 || >=1 <=2"} (current: {"node":"4.2.2","npm":"2.14.7"})
npm WARN deprecated lodash@2.4.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.

In the mean time if you just want to try the system out I can send you the pre-built JS and CSS files...

I can confirm this commit fixes the issue, although I will note a few things:

I had to re-clone the repo
I had to re-run npm install inside the ui directory, as my global gulp version was higher than recommended.

One or both of these in combination fixed the issue. There are still a bunch of deprecated warnings inside ui, I'm not sure if they matter or not.

I had to re-run npm install inside the ui directory, as my global gulp version was higher than recommended.

Removing node_moduldes and running $ npm install is necessary after changing package.json, sorry I should have mentioned this!

There are still a bunch of deprecated warnings inside ui, I'm not sure if they matter or not.

Yes, for the moment I'm leaving this here as Babel 6 will need some more configuration changes to move to.

authors: dhowden vessenes

repo: tchaik/tchaik


text:
adapter: NebulaGraph

What are the key elements of this solution?
Add support of NebulaGraph
Why did you design your solution this way? Did you assess any alternatives? Are there tradeoffs?
n/a
Does this PR require a change to Harlequin's docs?

[ ] No.
[x] Yes, and I have opened a PR at tconbeer/harlequin-web. https://github.com/tconbeer/harlequin-web/pull/91
[ ] Yes; I haven't opened a PR, but the gist of the change is: ...

Did you add or update tests for this change?

[ ] Yes.
[x] No, I believe tests aren't necessary, adaptor tests are in https://github.com/wey-gu/harlequin-nebulagraph
[ ] No, I need help with testing this change.

Please complete the following checklist:

[x] I have added an entry to CHANGELOG.md, under the [Unreleased] section heading. That entry references the issue closed by this PR.
[x] I acknowledge Harlequin's MIT license. I do not own my contribution.

A graph database! Cool! Thanks so much!

source: gharchive/pull-request

authors: tconbeer wey-gu

repo: tconbeer/harlequin

license: MIT

license_type: permissive

license_source: github-api


text:
'encapsia plugins install' exitcode on error is 0

adinis@inf2:~/adi-test$ encapsia --host adi-test-01.encapsia.com plugins --local-dir /etc/cmed/encapsia/plugins/ install --versions system-plugins.toml
name             existing version    new version    action

sync                                 0.0.2          install
test             0.0.1               0.0.1          skip
tmp_maintenance  0.0.1               0.0.1          skip
(Equivalent semver versions are shown in brackets when non-semver version is used)
Do you wish to proceed with the above plan? [y/N]: y
Uploaded /etc/cmed/encapsia/plugins/plugin-sync-0.0.2.tar.gz to blob: 213e2bb19b39438595b85ac29861fc35
Installing..................................................Done
Status: error
Downloaded blob 213e2bb19b39438595b85ac29861fc35 to /tmp/tmps8gyprxr
Extracted /tmp/tmps8gyprxr into /tmp/tmp8r4u7ujk
Registered plugin sync (0.0.2) from blob 213e2bb19b39438595b85ac29861fc35 with id 399184cf695644e0ae741401e8eb2d84
/var/lib/pluginsmanager-virtualenv/lib/python3.8/site-packages/icepluginsmanager/plugins.py:221: FutureWarning: reset_on_install is deprecated and will be treated as always true in the future
warnings.warn(
Destroying plugin namespace: sync
Stopped all task workers for namespace: sync
Destroyed virtualenv: sync
Removed tasks directory: /home/ice/sync
Removed webfiles directory: /var/share/nginx/iceplugins/sync
Views namespace does not exist: sync
Remove published permissions, if any
Remove published tags, if any
Removing all/any schedules from plugin namespace: sync
Installing plugin sync (0.0.2)
Made webfiles directory: /var/share/nginx/iceplugins/sync
Installing web files in to namespace sync
Installed manifest /var/share/nginx/iceplugins/sync/plugin.toml
pew new -d sync
created virtual environment CPython3.8.5.final.0-64 in 173ms
creator CPython3Posix(dest=/home/ice/.local/share/virtualenvs/sync, clear=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/ice/.local/share/virtualenv)
added seed packages: pip==20.2.4, setuptools==50.3.2, wheel==0.36.2
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
pew in sync pip install -c /var/lib/pluginsmanager-virtualenv/config/pluginsmanager/requirements.txt redis rq
Collecting redis
Using cached redis-3.5.3-py2.py3-none-any.whl (72 kB)
Collecting rq
Using cached rq-1.5.1-py2.py3-none-any.whl (62 kB)
Collecting click>=5.0.0
Using cached click-7.1.2-py2.py3-none-any.whl (82 kB)
Installing collected packages: redis, click, rq
Successfully installed click-7.1.2 redis-3.5.3 rq-1.5.1
WARNING: You are using pip version 20.2.4; however, version 21.0 is available.
You should consider upgrading via the '/home/ice/.local/share/virtualenvs/sync/bin/python -m pip install --upgrade pip' command.
Made virtualenv: sync
Installing wheels in to namespace sync
pew in sync pip install --find-links /tmp/tmp8r4u7ujk/plugin-sync-0.0.2/wheels --requirement /tmp/tmp8r4u7ujk/plugin-sync-0.0.2/wheels/requirements.txt
Looking in links: /tmp/tmp8r4u7ujk/plugin-sync-0.0.2/wheels
Collecting encapsia-api
Using cached encapsia_api-0.2.7-py3-none-any.whl (19 kB)
Collecting python-pidfile==2.0.0
Using cached python_pidfile-2.0.0-py3-none-any.whl (4.9 kB)
Collecting requests[security]<3.0,>=2.24
Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)
Collecting toml<0.11,>=0.10
Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting arrow<0.17,>=0.16
Using cached arrow-0.16.0-py2.py3-none-any.whl (50 kB)
Processing ./.cache/pip/wheels/a9/92/74/7694cd5d3f10ea335ef507c10e877b2150de20975a986782b9/psutil-5.8.0-cp38-cp38-linux_x86_64.whl
Collecting idna<3,>=2.5
Using cached idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting urllib3<1.27,>=1.21.1
Using cached urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
Collecting certifi>=2017.4.17
Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
Collecting chardet<5,>=3.0.2
Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting pyOpenSSL>=0.14; extra == "security"
Using cached pyOpenSSL-20.0.1-py2.py3-none-any.whl (54 kB)
Processing ./.cache/pip/wheels/9b/bd/12/c040f2df6b28138b66b0361cd218180a278b95763fc2466951/cryptography-3.3.1-cp38-cp38-linux_x86_64.whl
Collecting python-dateutil>=2.7.0
Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting six>=1.5.2
Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Processing ./.cache/pip/wheels/74/c4/b2/301f50054a0b5635fc25567992701a66ccb924f38a85e1133c/cffi-1.14.4-cp38-cp38-linux_x86_64.whl
Collecting pycparser
Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Installing collected packages: idna, urllib3, certifi, chardet, six, pycparser, cffi, cryptography, pyOpenSSL, requests, toml, python-dateutil, arrow, encapsia-api, psutil, python-pidfile
Successfully installed arrow-0.16.0 certifi-2020.12.5 cffi-1.14.4 chardet-4.0.0 cryptography-3.3.1 encapsia-api-0.2.7 idna-2.10 psutil-5.8.0 pyOpenSSL-20.0.1 pycparser-2.20 python-dateutil-2.8.1 python-pidfile-2.0.0 requests-2.25.1 six-1.15.0 toml-0.10.2 urllib3-1.26.3
WARNING: You are using pip version 20.2.4; however, version 21.0 is available.
You should consider upgrading via the '/home/ice/.local/share/virtualenvs/sync/bin/python -m pip install --upgrade pip' command.
Installing tasks in to namespace sync
Installed task file /home/ice/sync/sync.py
Configuring 1 task workers for namespace sync
Created/updated system user sync with capabilities: ['login.transfer.from', 'login.transfer.to', 'login.extend', 'config.read.sync', 'login.federate.sync.from', 'login.federate.sync.to', 'synchronise.in', 'synchronise.out', 'blob.read', 'blob.write']
Not publishing empty tags list.
Installing schedules in to namespace sync
Unknown error. Check system log with id d98492e8f1cf44f4beb9be0f31b7ec94 for details.
adinis@inf2:~/adi-test$ echo $?
0
adinis@inf2:~/adi-test$ encapsia version
Encapsia CLI version: 0.4.0
Encapsia API version: 0.2.6

Duplicate of #42

source: gharchive/issue

authors: adiniscmed petrem

repo: tcorbettclark/encapsia-cli


text:
Fixed relative link checking for local input files.

The link checker will correctly evaluate a relative URL contained within markdown when a remote URL is specified as a CLI argument that contains a relative link. But it failed when a local filename was specified instead. This patch addresses that issue by considering whether the markdown source URL is local.

I'd rather do this in a more generic way. For example, in the markdown-link-check script, if it's a file being supplied, opts.baseUrl would get set to file:///your/path/here, and link-check would look at the scheme (http, https, file, etc) and choose the right checker (e.g. http/https would use request while file would use fs.stat). There would probably have to be a new command line option (for specifying the baseUrl for data from stdin): cat /path/to/*.md | markdown-link-check --base-url file:///path/to

Want some one to try to implement this? I'm pretty keen because I was thinking about building literally that piece of what you have done here... Then I came across this repo and this thread... If you haven't already begun then I'll fork and give it a go.

I've added support for the file: protocol (version 3.0.0), so what I have above should work now.

authors: justsayno slythfox tcort

repo: tcort/markdown-link-check

license: isc

license_source: bigquery


text:
Hosting help

I noticed that when I run my code and close my app or computer the hot stops responding so I thought of hosting my code. I choose Heroku but I don't know anything about this and Heroku. Can anyone help me?

This is not related to the Bot API server itself.

Okay I will close the issue ⚠ .

authors: Senhas-t levlam

repo: tdlib/telegram-bot-api


text:
Interpolate merging digest percentiles by centroid weight

Hi Ted,
Thanks for the great work on the project. The code is well documented, and easy to understand considering the complexity of the problem it is solving.
I have a suggestion that perhaps improves accuracy for datasets that contain data points with very large weights. In addition to interpolating by the percentile's distance to the nearest centroids, take into account the weight of the centroid.
In the case of the endpoint, we can estimate the weight of the min/max to be the minimum of sin^2(pi*(1/compression)/2) and min/max CentroidWeight. The former is the inverse of the quantile to notional index value for the last centroid.
In cases where the centroids fit the quantile notional function well, this won't make much difference because adjacent centroids typically have relatively similar weights. In datasets which have elements with large weights, this can substantially improve accuracy in merging digest.
On a related point, while changing the code, I realized I don't quite understand what's going on at the interpolation by the max:
https://github.com/tdunning/t-digest/blob/b2d0bd2481ce12803bbe05c78f226b87ac94576e/core/src/main/java/com/tdunning/math/stats/MergingDigest.java#L701-L703
It seems z1 will always be negative, and z2 will always be positive.
Any feedback on the changes would be appreciated. Cheers.

Hi,
Your suggestion is reasonable. But there are some very serious subtleties
involved here that I am only barely beginning to understand.
The key issue, as I know it so far, is whether your policy encourages
biased assignment of new points. The best example of what happens when
there is bias, the errors produced by the merging digest are larger than
expected. This apparently has to do with the fact that merging is delayed
while buffering incoming data and then adding things by a sequential scan
over sorted centroids. That sounds great, but it causes a bias in how
points are added when tends to cause centroids to start too close to the
median and then slide outward towards the extremes. This means that
centroids are constructed of data that is smeared over a longer range than
we want. That leads to higher estimation errors than expected.
Similar (but smaller) slightly bad things happen when you have a preference
for attaching new data points to big or to small centroids.
So, I think your idea might be useful. I just can't say.
You should also look at the k-size limiting ideas. The idea is that you map
the beginning and ending values of q onto a non-linear k-scale. The size of
each cluster on the k-scale then is constrained to be between 0.5 and 1.
This gives a very natural size limit on cluster size. It is also pretty
easy to show how to derive the k-scale from a desired cluster size limit
expressed in terms of q. This k function can be of the form asin(2q-1) to
get a sqrt(q(1-q)) size limit.
Regarding behavior at the extremes, I have recently developed some methods
that use a different k-function to get a q(1-q) proportional limit on
centroid size. A particular virtue of this alternative is that it is
guaranteed to have singleton centroids at the min and max values of the
distribution. This function also gives tighter error bounds (as long as the
centroids actually get the right samples).
Anyway, these alternative formulations make it harder to put in a
preference of the sort you describe, but I think that the k-scale approach
may give something very similar.
I would love any input you have on these ideas. Please note that I am
updating the paper on the master branch.
On Sun, Jun 10, 2018 at 2:28 PM pyckle notifications@github.com wrote:

Hi Ted,
Thanks for the great work on the project. The code is well documented, and
easy to understand considering the complexity of the problem it is solving.
I have a suggestion that perhaps improves accuracy for datasets that
contain data points with very large weights. In addition to interpolating
by the percentile's distance to the nearest centroids, take into account
the weight of the centroid.
In the case of the endpoint, we can estimate the weight of the min/max to
be the minimum of sin^2(pi*(1/compression)/2) and lowestCentroidWeight. The
former is the inverse of the quantile to notional index value for the last
centroid.
In cases where the centroids fit the quantile notional function well, this
won't make much different because adjacent centroids typically have
relatively similiar weights. In datasets which have elements with large
weights, this can substantially improve accuracy in merging digest.
On a related point, while changing the code, I realized I don't quite
understand what's going on at the interpolation by the max:
From:
t-digest/core/src/main/java/com/tdunning/math/stats/MergingDigest.java
https://github.com/tdunning/t-digest/blob/b2d0bd2481ce12803bbe05c78f226b87ac94576e/core/src/main/java/com/tdunning/math/stats/MergingDigest.java#L701
Line 701 in b2d0bd2
http:///tdunning/t-digest/commit/b2d0bd2481ce12803bbe05c78f226b87ac94576e
double z1 = index - totalWeight - weight[n - 1] / 2.0;
// weightSoFar = totalWeight - weight[n-1]/2 (very nearly)
// so we interpolate out to max value ever seen
double z1 = index - totalWeight - weight[n - 1] / 2.0;
double z2 = weight[n - 1] / 2 - z1;
return weightedAverage(mean[n - 1], z1, max, z2);
It seems z1 will always be negative, and z2 will always be positive.
Any feedback on the changes would be appreciated. Cheers.
You can view, comment on, or merge this pull request online at:
https://github.com/tdunning/t-digest/pull/110
Commit Summary

Interpolate merging digest percentiles by centroid weight

File Changes

M core/src/main/java/com/tdunning/math/stats/MergingDigest.java
https://github.com/tdunning/t-digest/pull/110/files#diff-0 (29)
M core/src/test/java/com/tdunning/math/stats/MergingDigestTest.java
https://github.com/tdunning/t-digest/pull/110/files#diff-1 (26)

Patch Links:

https://github.com/tdunning/t-digest/pull/110.patch
https://github.com/tdunning/t-digest/pull/110.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tdunning/t-digest/pull/110, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPSelphbOhXcfvAQndOS5DMl1tlp132ks5t7R77gaJpZM4Uhtwn
.

Hi,
I think you may have misunderstand the suggestion. I was not refering to interpolation between the weights during the merge step, although this is a fascinating idea - I'll elaborate below. I was only referring to interpolating already compressed/merged centroids to generate quantiles. This change can be done independently of the centroid merging/compression algorithm. Have a look at the diff - it should make this clearer.
Regarding biasing the merging algorithm to have different heuristics with which to merge the incoming centroids - I tend to think you're correct that any heuristics that do not enforce k-size during the merge function will cause unpredicatible inaccuracies. And it should trivally follow that these heuristics will cause this biased behavior in many datasets. I presume this not an acceptable tradeoff for better accuracy in specific use cases.
One idea that could perhaps make this feasible is adding logic to split the centroids once they become bigger than the optimal k-size. The splitting, in fact, could be done in a way to make the centroids better adhere to the k-size limits as well as offer better flexibility to where new centroids are merged. I suspect this is worth spending some time thinking about.
I'm looking forward to seeing the math for the q(1-q) k-size function/the paper updates. It's very interesting.

On Mon, Jun 11, 2018 at 1:39 AM pyckle notifications@github.com wrote:

I think you may have misunderstand the suggestion.

Sounds like I did.

I was not refering to interpolation between the weights during the merge
step [but] to interpolating already compressed/merged centroids to generate
quantiles.

Ah.
I think that this is already done effectively. See the latest unreleased
code and paper.
I think that this diagram conveys the method. I don't have time right now
to add explanatory text, but you can see how weights are involved:
[image: image.png]

This change can be done independently of the centroid merging/compression
algorithm. Have a look at the diff - it should make this clearer.

I will look.
In the meantime, have you tested this algorithm for accuracy?

Regarding biasing the merging algorithm to have different heuristics with
which to merge the incoming centroids - I tend to think you're correct that
any heuristics that do not enforce k-size during the merge function will
cause unpredicatible inaccuracies.

Actually, I was saying that even algorithms that always enforce k-size can
have variable accuracy.

One idea that could perhaps make this feasible is adding logic to split
the centroids once they become bigger than the optimal k-size.

None of the implementations ever produce a centroid that exceeds k-size.
That is absolutely key to the whole thing because it avoids all need for
splitting.

The splitting, in fact, could be done in a way to make the centroids
better adhere to the k-size limits as well as offer better flexibility to
where new centroids are merged. I suspect this is worth spending some time
thinking about.

Yes. It is. But splitting is incredibly difficult to do in a way that is
guaranteed to meet any accuracy bounds because you have lost the resolution
you need to split by doing the combining in the first place.

Hi,
The image that you sent didn't get attached. Would you mind sending it again?
In the meantime, I made some visualizations of what the code I wrote does:
https://github.com/pyckle/t-digest/blob/master/docs/t-digest-paper/weighted-vs-linear-interpolation.pdf
Instead of interpolating linearly, the code I wrote interpolates taking centroid weight in account. This has the advantage of making the algorithm much more accurate when values with weights larger than the k.to.q() function limit. This is demonstrated in the Java test cases. I am using t-digest with datasets of arbitrary weights, some of which could be individual points that violate the limits.
However, this change has the unfortunate consequence of increasing errors at extreme percentiles, where weight sizes are more relatively different. The increased error is bounded at the difference between the centroids that are interpolated. For the percentiles and datasets which I am using, this error is irrelevant.
As such, I'm no longer convinced that it's worth the trade off for all general use, but it is useful for this specific use case, and presumably anybody else with have datasets that can have elements with very heavy weights. If you think this idea has some merit, but only for some use cases, I'm also happy to refactor the code to add this as an extra method, or interpolation algorithm as a parameter to quantile().
Two last things that I hope are of some use.
There is an existing bug in the interpolation code between weight[n-1] and max. I fixed it here:
https://github.com/pyckle/t-digest/commit/41c0066daea2dc8729d92b367db230aa82781b03
It also is fixed in this pull request. If this pull request is not accepted, I will open one for this branch. The current interpolation code for max always produces a negative z1 and a z2 greater than 1.
I think the charts better visually represent centroids than the ones that linear-interpolation.r generates. Those charts led me to believe the centroids have an start/end point and a slope, whereas the sample charts I generated show that each centroid is a point, displays the weight of it, and connects them like the interpolation in the code.
Thanks for your time.

Picking this up again.
The current version of the paper has an extensive section on how I do the interpolation. Revamping this has improved accuracy substantially.
Could you take a look at in section 2.9 and beyond?

Notably, interpolation now is weight aware.

Hi Ted,
Sorry for the delay. I've been very busy recently and just got a chance to start looking at the changes you've made. I will try and find a few more hours sometime soon to verify my findings.
I read the paper. The method of interpolating as described appears to be far better than what I had come up with originally. Fantastic work, and clear drawings make it very easy to understand.
However, this doesn't address my original issue. The issue I had is an `apparent' limitation of the algorithm - if you have a weighted sample with one sample with an extreme weight as compared to the rest of the dataset, it will interpolate to the nearby centroids. Example:
digest.add(1, 2);
digest.add(50, 1000000);
digest.add(100, 2);
This change does not address this issue. I think the situation which it assists with is actually probably even less common of a use case. It will assist with preventing incorrect interpolation with tiny datasets, as centroids will always get a weight >=1 as datasets get bigger. One elegant way to address this situation using the current design would be the sign bit on the weight in each centroid. The sign bit can be set to 1 if there's exactly one sample at this centroid, and 0 if there is more than 1. This complicates the code, but would have minimal performance impact, and should handle this case. If I have some spare time, I perhaps will try and write this myself.
Also, the logic for the end cases seems incorrect as coded. See test case and possible fix in this commit: https://github.com/pyckle/t-digest/commit/a367ab95e5cb336bd131f1c35fd0c1a8a7f880d6
I think the root of the issue is that the code does not correctly take into account that a weight of 1 from the min or max is included in the first/last centroid. I have not tested my fix for this, nor am I confident it is correct. But it doesn't divide by zero.
I have not yet had time to review the interpolation for the middle cases in the datasets in depth, but it appears correct on first glance. I will try and find time to do this soon.
Thank you again for the incredible work. This project has been very beneficial to me and my organization.

OK.
I think I understand better what you are getting at.
You are correct that the current algorithm makes no distinction between a cluster of 100,000 data points with a variety of values versus a cluster with 100,000 data points all with the same value versus a single data point with a high weight.
This is absolutely true. The key question is whether this is a feature or a bug. From the point of view that a sketch is purposely losing information, this could be a feature. From the point of view that essentially nobody inserts weighted points anyway, it could be viewed as moot.
But there is precedent for handling this. As you suggest, we can mark clusters according to whether they incorporate samples with non-identical values. Individual samples, regardless of weight, would carry the flag indicating that they have a single value. Merging single value clusters could preserve this characteristic if the means are the same. All other kinds of merges would result in a cluster without the special flag. As it stands, we essentially have a flag for this implicitly in that singleton clusters are known to have a single value.
The interpolation algorithms already can handle this case by simply extending the current singleton cases.
I am a bit dubious about the positive impact here, though. The case of a single point with weight so large that the merging algorithm won't touch it will absolutely work better. A mixed continuous discrete algorithm, however, won't see much improvement. The reason is that when you look into a digest constructed with lots of repeated points, you see centroids that look like this:
{Centroid@1222} "Centroid{centroid=18.651162790697672, count=43}"
{Centroid@1223} "Centroid{centroid=19.0, count=50}"
{Centroid@1224} "Centroid{centroid=476200.42857142846, count=42}"
{Centroid@1225} "Centroid{centroid=1000000.0, count=40}"
{Centroid@1226} "Centroid{centroid=1000000.0, count=40}"

The data here have lots of points with a value of exactly 19 and lots with a value of exactly 10^6. What we see are transitional clusters like 1222 and 1224 and one or more "pure" clusters like 1223, 1225 and 1226. When interpolating, we won't know that cluster 1223 contains pure data, but the fact is that half of the mass of those samples are split between 1222 and 1224 anyway. That means that understanding that 1223 contains only a single value won't really fix more than half the problem.
On the other hand, once we get to the middle 1225, we are interpolating between two clusters at the same location so everything is just fine even without understanding  what is going on in terms of unique values.
In practice, if we have a lot of repeated samples, then we will actually get a number of clusters with the same mean. There will be some error on the shoulders, but most of the interpolation will be between clusters with identical means. The errors are relatively small.
Moreover, a diversity flag wouldn't help much because during the early phases, some of the repeated samples would inevitably get merged with other values and pure clusters will only appear later. This means that even with a diversity flag, the problem of shoulder clusters would still exist.
Does this make sense?

Regarding the handling of interpolation at terminal clusters, I experimented with your approach and found that it gave slightly less accurate results.
The basic question is whether the min or max value should be considered to be a singleton cluster in its own right or whether it should be an observation about the largest sample in the first or last cluster. The way that clusters are currently constructed makes the second interpretation more accurate. As such, half of the weight of a terminal cluster is assumed to be on either side of the mean and one sample from the weight on the outer side is treated as a singleton. It is handled this way because that singleton contributed to the mean of the terminal cluster.
IF the min and max were treated as forced singletons, this could be done differently. In that case, the min or max samples would not contribute to the mean of the first or last cluster and your code would be correct. To do that, however, would require changes to the insertion path. Essentially would would happen is that if the new sample is larger than the old max or smaller than the old min, the old max or min would have to be inserted into the last (or first) cluster and the value of max (or min) would be updated. I considered making this change, but K_2 and K_3 scale functions both force a singleton at the edge of the digest anyway so it didn't seem like a big deal other than it makes slightly better use of the bits used by the min and max values.

authors: pyckle tdunning

repo: tdunning/t-digest


text:
organismQuantityType

Justification
Required for sharing organism abundance data from controlled sampling and monitoring surveys (i.e., sampling events). For an introduction to the sampling proposal please see http://links.gbif.org/ipt-sample-data-primer
Definition
The type of entity to which the number or enumeration value reported for the quantity of organisms in organismQuantity refers.
Comment
The terms organismQuantity and organismQuantityType are required to be used as a pair. The value of organismQuantityType (i.e., the entity being
measured) is expected to be drawn from a small controlled vocabulary with terms such as “Individuals”, “%Biomass”, “%Biovolume”, “%Species”, “%Coverage”, “BraunBlanquetScale”, “DominScale”. Examples when combined with organismQuantity values: + on DominScale; 5 on BraunBlanquetScale; 45 for %Biomass.
Term group
Occurrence

Recommended and incorporated.

authors: mdoering tucotuco

repo: tdwg/dwc


text:
🛑 API is down

In f8a9fb0, API (https://api.demo.greyfinch.com/healthz) was down:

HTTP code: 200
Response time: 80 ms

Resolved: API is back up in 5919f19.

repo: teamgreyfinch/demo-status


text:
🛑 PMS Application - https://app.staging.greyfinch.com/ is down

In 124ce36, PMS Application - https://app.staging.greyfinch.com/ (https://app.staging.greyfinch.com/) was down:

HTTP code: 503
Response time: 110 ms

Resolved: PMS Application - https://app.staging.greyfinch.com/ is back up in f423300.

repo: teamgreyfinch/staging-status


text:
Fix READY packet parsing times with many guilds

Currently, parsing 1 guild will take around 1 second. Needs to be fixed.

Fixed by not preloading bans.

repo: teamreflex/DiscordPHP


text:
Race condition/MessageReaction events (And probably others)

I'm pretty sure this is a race condition. This is a reaction to a message that existed in a channel before the bot was started. Reacting to a message does not appear to attempt to fetch the message if it does not already exist. This occurs regardless of whether the storeMessages option is true or false. This also affects other events such as MESSAGE_UPDATE. This was also replicated in my attempts to resolve #403
$discord->on('MESSAGE_REACTION_ADD', function($reaction) use ($discord) {
    $message = $reaction->message;
    if ( ($message->content == NULL) || ($message->content == "") ){
        echo '[REACT TO EMPTY MESSAGE]' . __DIR__ . ':' . __LINE__ . PHP_EOL;
        return true;
    }
}

https://cdn.discordapp.com/attachments/234582138740146176/775908059099824198/unknown.png

https://cdn.discordapp.com/attachments/234582138740146176/775908021431304232/unknown.png

The same issue occurs when a message gets updated. The same issue could probably be resolved by changing L29 of WebSockets/Events/MessageUpdate.php to call ->fetch instead of ->get. This (and other) update functions do not have a return, so there is no issue with scope.
if ($oldMessage = $channel->messages->get('id', $messagePart->id)) {
    $messagePart = $this->factory->create(Message::class, array_merge($oldMessage->getRawAttributes(), $messagePart->getRawAttributes()), true);
}

$that = $this;
$channel->messages->fetch($messagePart->id)->then(function ($oldMessage) use ($that)
{
    $messagePart = $that->factory->create(Message::class, array_merge($oldMessage->getRawAttributes(), $messagePart->getRawAttributes()), true);
    //Other stuff
});

@valzargaming I wasted hours in this. Maybe #395? since starting from a root much lower now as you say, MessageRepository::fetch() isn't even working. It makes sense that nothing that needs fetching messages can work.

I can confirm that MessageRepository's fetch is not working, even with getMessageHistory in a channel with only one message in it.
<?php
if ( ($reaction->message->content == NULL) || ($reaction->message->content == "") ){
	echo '[REACT TO EMPTY MESSAGE]' . __FILE__ . ':' . __LINE__ . PHP_EOL;
	echo '[MessageID] ' . $reaction->message->id . PHP_EOL;
	//$reaction->message->channel->messages->fetch($reaction->message->id)->then(function($message) use ($reaction, $discord){
	$reaction->message->channel->getMessageHistory(['limit' => 100])->then(function($message_collection) use ($reaction, $discord){
		//attempt to get the message
		foreach($message_collection as $message){
			if($message->id == $reaction->message->id){
				include 'messagereactionadd2-include.php';
				return true;
			}
		}
	});
	return true; //Don't process blank messages, bots, webhooks, or rich embeds
}
include 'messagereactionadd2-include.php';
return true;

messagereactionadd2-include.php:
$message = $message ?? $reaction->message;
$message->channel->sendMessage($message->content); //Never triggers inside the promise scope

Commit 4509920 resolved this by adding the channel endpoint so fetch will work.

authors: kenygamer valzargaming


text:
Bugs while creating new transactions under customer

[x] creating new invoice from customer-invoice date is displayed as dd/mm/yyyy

[x] creating new customer payment from customer - remove unpaid invoice table if there is no such invoices and display message as there is no such transcations

[x]  creating new sales order from customer- sales order date is displayed as dd/mm/yyyy

[x]  creating new delivery challan from customer-date is displayed as dd/mm/yyyy

[x]  creating new credit note from customer- customer name is getting removed

issue fixed !

repo: techgebra/polosys-books

license: Unlicense


text:
feat(docs): Add syntax highlighting for code blocks in docs

This PR Add code highlighting to the code blocks in the docs. 😉  (Getting bored on the train. No comment. hahaha)

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

authors: tsboter vogelino

repo: technologiestiftung/stadtpuls-frontend


text:
##[error]File not found: '/home/runner/work/_actions/technote-space/auto-cancel-redundant-job/gh-actions/lib/main.js'

Describe the bug: バグの概要
Running the action for the latest version (1.4.3) results in the error:
##[error]File not found: '/home/runner/work/_actions/technote-space/auto-cancel-redundant-job/gh-actions/lib/main.js'

Operating environment: バグが発生した環境
ubuntu_latest activated for pull-request flows.
Additional context: 補足
Dependabot submitted a PR for us to update from @v1 to @v1.4.3 and we get this error as part of the checks for that PR so I haven’t merged it. I notice that the CI for this project has the same error.

@mxcl
I fixed this issue.
Thank you.

authors: mxcl technote-space


text:
多言語化

https://suzukalight.com/2019-09-09-react-i18next/

面倒なので日本語化対応のみ

面倒なので日本語化対応のみ

repo: technote-space/frourio-demo