Small changes in the transtator.coffee

Small changes in the transtator.coffee

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/NightingaleStudio/exam.js.git/'


teams: activity: minor code style

teams: activity: minor code style

--- client/activity/lib/components/publicchannellink/index.coffee
+++ client/activity/lib/components/publicchannellink/index.coffee
@@ -1,4 +1,4 @@
-kd = require 'kd'
+kd    = require 'kd'
 React = require 'kd-react'
 Link  = require 'app/components/common/link'


MachineStateModal: Added target _blank attribute to all links in readme content.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/andrewjcasal/koding.git/'


Uncommented cmdline options for directories

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/iShafayet/metae.git/'


bug fix

bug fix

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/bubblegroup/bubblebot.git/'


Modified in browser at pixie.strd6.com

Modified in browser at pixie.strd6.com

error: pathspec 'test/engine_camera.coffee' did not match any file(s) known to git

--- test/engine_camera.coffee
+++ test/engine_camera.coffee
@@ -0,0 +1,24 @@
+module "Engine"
+
+test "Camera", ->
+  engine = Engine
+    includedModules: ["Camera"]
+
+  gameObject = GameObject
+    x: 50
+    y: 100
+
+  engine.I.cameraTransform
+
+  equal engine.I.cameraTransform.a, 1
+  equal engine.I.cameraTransform.b, 0
+  equal engine.I.cameraTransform.c, 0
+  equal engine.I.cameraTransform.d, 1
+
+  engine.follow(gameObject, "centered")
+
+  engine.update()
+
+  log engine.I.cameraTransform
+
+module()


HOTFIX Linter Complaint

HOTFIX Linter Complaint

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/seanhealy/lib-themisui.git/'


Add clean task

Add clean task

error: pathspec 'grunt/clean.coffee' did not match any file(s) known to git

--- grunt/clean.coffee
+++ grunt/clean.coffee
@@ -0,0 +1,3 @@
+module.exports =
+  build: ['build']
+  build_debug_js: ['build/debug/js']


simplification

simplification

error: pathspec 'resource/translators/Zotero' did not match any file(s) known to git
error: pathspec 'TestCase.coffee' did not match any file(s) known to git


Navigation arrow and preloader in games

Navigation arrow and preloader in games

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/GregDesplaces/classe-1914.git/'


Fixed a bug with the level editor that prevented selecting thangs to add.

--- app/views/editor/level/thangs_tab_view.coffee
+++ app/views/editor/level/thangs_tab_view.coffee
@@ -255,7 +255,7 @@
 #      @thangsTreema.deselectAll()

   selectAddThang: (e) =>
-    return unless e? and $(e.target).closest('.editor-level-thangs-tab-view').length
+    return unless e? and $(e.target).closest('#editor-level-thangs-tab-view').length
     if e then target = $(e.target) else target = @$el.find('.add-thangs-palette')  # pretend to click on background if no event
     return true if target.attr('id') is 'surface'
     target = target.closest('.add-thang-palette-icon')


AdminInvitationsView: Create hidden invite view.

--- client/admin/lib/views/invitations/admininvitationsview.coffee
+++ client/admin/lib/views/invitations/admininvitationsview.coffee
@@ -2,6 +2,7 @@
 KDView                  = kd.View
 KDTabView               = kd.TabView
 KDTabPaneView           = kd.TabPaneView
+InviteSomeoneView       = require './invitesomeoneview'
 PendingInvitationsView  = require './pendinginvitationsview'
 AcceptedInvitationsView = require './acceptedinvitationsview'

@@ -15,20 +16,23 @@
     super options, data

     @createTabView()
+    @createInviteButton()

   createTabView: ->

     data = @getData()

-    @addSubView tabView   = new KDTabView
+    @addSubView tabView = @tabView = new KDTabView
       hideHandleCloseIcons : yes
       maxHandleWidth       : 210

     tabView.addPane pending  = new KDTabPaneView name: 'Pending Invitations'
     tabView.addPane accepted = new KDTabPaneView name: 'Accepted Invitations'
+    tabView.addPane invite   = new KDTabPaneView name: 'Invite', hiddenHandle: yes

     pending.addSubView  new PendingInvitationsView  {}, data
     accepted.addSubView new AcceptedInvitationsView {}, data
+    invite.addSubView   inviteView = new InviteSomeoneView {}, data

     tabView.showPaneByIndex 0


Update prompt.coffee

Update prompt.coffee

--- client/views/account/avatar/prompt.coffee
+++ client/views/account/avatar/prompt.coffee
@@ -15,7 +15,7 @@
 Template.avatarPrompt.onRendered ->
 	Tracker.afterFlush ->
 		# this should throw an error-template
-		# window.location.href = "/" if !RocketChat.settings.get("Accounts_AllowUserProfileChange")
+		FlowRouter.go ‘home’ if !RocketChat.settings.get("Accounts_AllowUserProfileChange")
 		SideNav.setFlex "accountFlex"
 		SideNav.openFlex()


changed define to require in app_core

changed define to require in app_core

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/lonelyplanet/rizzo.git/'


Disabled user status checking

Disabled user status checking

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jacobwgillespie/jk-messages.git/'


Do not animate in mobile devices

Do not animate in mobile devices

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/chapelaria/readerly.git/'


add more giphy again

add more giphy again

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/askdkc/aw_hubot.git/'


Whoops.

Whoops.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/philbooth/GitHubReminder.git/'


Fix Text Buffer spec

Fix Text Buffer spec

--- spec/text-buffer-spec.coffee
+++ spec/text-buffer-spec.coffee
@@ -925,9 +925,14 @@
         state.get('text').insert([0, 0], 'simulate divergence of on-disk contents from serialized contents')

         buffer2 = deserialize(state, {project})
-        expect(buffer2.isModified()).toBeFalsy()
-        expect(buffer2.getPath()).toBe(buffer.getPath())
-        expect(buffer2.getText()).toBe(buffer.getText())
+
+        waitsFor ->
+          buffer2.cachedDiskContents
+
+        runs ->
+          expect(buffer2.isModified()).toBeFalsy()
+          expect(buffer2.getPath()).toBe(buffer.getPath())
+          expect(buffer2.getText()).toBe(buffer.getText())

     describe "when the serialized buffer had unsaved changes", ->
       it "restores the previous unsaved state of the buffer", ->
@@ -938,11 +943,16 @@
         expect(state.getObject('text')).toBe 'abc'

         buffer2 = deserialize(state, {project})
-        expect(buffer2.getPath()).toBe(buffer.getPath())
-        expect(buffer2.getText()).toBe(buffer.getText())
-        expect(buffer2.isModified()).toBeTruthy()
-        buffer2.setText(previousText)
-        expect(buffer2.isModified()).toBeFalsy()
+
+        waitsFor ->
+          buffer2.cachedDiskContents
+
+        runs ->
+          expect(buffer2.getPath()).toBe(buffer.getPath())
+          expect(buffer2.getText()).toBe(buffer.getText())
+          expect(buffer2.isModified()).toBeTruthy()
+          buffer2.setText(previousText)
+          expect(buffer2.isModified()).toBeFalsy()

     describe "when the serialized buffer was unsaved and had no path", ->
       it "restores the previous unsaved state of the buffer", ->


format percentage

format percentage

fatal: remote error: upload-pack: not our ref e9043394dedf3cb1b468b3d8ecf649251be4f5e0
fatal: the remote end hung up unexpectedly


commets always start from the same Y coordinate

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/UCSFMemoryAndAging/tabcat.git/'


New E2E test that verifies Collection Summary is displayed.

error: pathspec 'test/e2e/collectionSpec.coffee' did not match any file(s) known to git

--- test/e2e/collectionSpec.coffee
+++ test/e2e/collectionSpec.coffee
@@ -0,0 +1,13 @@
+expect = require('./helpers/expect')()
+
+Page = require './helpers/page'
+
+describe 'E2E Testing Collection', ->
+  page = null
+
+  beforeEach ->
+    page = new Page '/quip/breast?project=QIN_Test'
+
+  it 'should load the page', ->
+    expect(page.content, 'The page was not loaded')
+      .to.eventually.exist


fix form submission on edit event page w/ multiple dates.

fixes CNVS-3616

when creating/editing an event with different dates for
each section, properly submit the form w/o throwing a
javascript error.

test plan:
  * create an event for a course with multiple sections,
    and check its 'use a different date for each section'
    checkbox;
  * provide a date for each section, click 'update event,'
    and verify that the form is submitted and the event is
    updated properly.

Change-Id: I336ecf5be45a27aec8f2c6df5a509272b4d19393
Reviewed-on: https://gerrit.instructure.com/17443
Tested-by: Jenkins <d95b56ce41a2e1ac4cecdd398defd7414407cc08@instructure.com>
Reviewed-by: Joel Hough <4816dabf8db1bc6cac35b3a24cab2ff844b5b0c7@instructure.com>
QA-Review: Marc LeGendre <d33c80bc45d65303e33ca83108a9952b745af9ef@instructure.com>

--- app/coffeescripts/calendar/EditEventView.coffee
+++ app/coffeescripts/calendar/EditEventView.coffee
@@ -82,7 +82,9 @@

       if $('[name=use_section_dates]').prop('checked')
         dialog = new MissingDateDialogView
-          dateFields: $('[name*=start_date]:visible')
+          validationFn: ->
+            $fields = $('[name*=start_date]:visible').filter -> $(this).val() is ''
+            if $fields.length > 0 then $fields else true
           labelFn   : (input) -> $(input).parents('td:first').prev().find('label').text()
           success   : ($dialog) =>
             $dialog.dialog('close')


Updated commenting

Updated commenting

error: pathspec 'grammars/silverstripe' did not match any file(s) known to git
error: pathspec 'templates.cson' did not match any file(s) known to git


added InfiniteScrollingMixin

added InfiniteScrollingMixin

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/wenchenglai/firehose-ember-shared.git/'


update select-all to use updated jquery api

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/rohanorton/wharfmembers.git/'


fix(templates): display recipeId if the recipe is deleted

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/keboola/kbc-ui-doctool-admin.git/'


Test cases for handling default function

error: pathspec 'test/spec/invoke.spec.coffee' did not match any file(s) known to git

--- test/spec/invoke.spec.coffee
+++ test/spec/invoke.spec.coffee
@@ -0,0 +1,51 @@
+describe 'Overloadad functions', ->
+    overloadableFunction = null
+    spiedFunction = jasmine.createSpy()
+
+    describe 'Default function', ->
+        it 'should throw error when default function isn\'t undefined or a function', ->
+            func = null
+
+            for item in [7, 'foo', true, null, {}]
+                func = -> new Overloadable item
+                expect(func).toThrow()
+
+            func = -> new Overloadable(->)
+            expect(func).not.toThrow()
+
+            func = -> new Overloadable
+            expect(func).not.toThrow()
+
+        it 'should throw error when called without any overloads and a default function', ->
+            overloadableFunction = new Overloadable
+            expect(overloadableFunction).toThrow()
+
+        it 'should not throw error when called without any overloads but with a default function', ->
+            overloadableFunction = new Overloadable spiedFunction
+            expect(overloadableFunction).not.toThrow()
+            expect(spiedFunction).toHaveBeenCalled()
+
+        it 'should be able to return a default function', ->
+            defaultFunction = ->
+            overloadableFunction = new Overloadable defaultFunction
+            expect(overloadableFunction.getDefault()).toBe(defaultFunction)
+
+        it 'should call the default function preserving this value', ->
+            object = {}
+            thisValues = []
+
+            defaultFunction = ->
+                thisValues.push this
+
+            defaultFunction.call object
+
+            overloadableFunction = new Overloadable defaultFunction
+            overloadableFunction.call object
+
+            expect(thisValues[0]).toBe thisValues[1]
+
+        it 'should call the default function preserving original arguments list', ->
+            overloadableFunction = new Overloadable spiedFunction
+            overloadableFunction 7, true, 'foo'
+
+            expect(spiedFunction).toHaveBeenCalledWith 7, true, 'foo'


Sort Income ascending.

Sort Income ascending.

Transferred on bottom. [Delivers #52592999]

--- client/helpers/income.coffee
+++ client/helpers/income.coffee
@@ -1,5 +1,5 @@
 Template.incomeList.incomes = ->
-  Incomes.find().fetch()
+  Incomes.find({}, { sort: { transferred: 1, receiptDate: 1 } }).fetch()

 Template.incomeList.editingIncome = ->
   income = Incomes.findOne(Session.get 'editingIncome') if Session.get 'editingIncome'


IDE: handle no stacks found cases

IDE: handle no stacks found cases

--- client/ide/lib/routes.coffee
+++ client/ide/lib/routes.coffee
@@ -146,7 +146,9 @@
                        machine is loaded instead.'
           router.handleRoute "/IDE/#{machine.slug}"
         else
-          router.handleRoute '/IDE'
+          if router.currentPath is '/IDE'
+          then loadIDENotFound()
+          else router.handleRoute '/IDE'

       # if machine.isPermanent() or machine.meta?.oldOwner


Document return type of `Gutter::decorateMarker()`.

--- src/gutter.coffee
+++ src/gutter.coffee
@@ -48,6 +48,8 @@
   #   * `class` (optional)
   #   * `item` (optional) A model {Object} with a corresponding view registered,
   #     or an {HTMLElement}.
+  #
+  # Returns a {Decoration} object.
   decorateMarker: (marker, options) ->
     @gutterContainer.addGutterDecoration(this, marker, options)


Add first unit test

Add first unit test

error: pathspec 'test/suite.coffee' did not match any file(s) known to git

--- test/suite.coffee
+++ test/suite.coffee
@@ -0,0 +1,58 @@
+"use strict"
+
+pg = require 'pg'
+assert = require 'assert'
+helpers = require './../coffee/query-helpers.coffee'
+config = require './../coffee/config.coffee'
+
+client = null
+
+before (done) ->
+  pg.connect config.conString, (err, c) ->
+    throw err if err
+    client = c
+    done()
+
+beforeEach (done) ->
+  client.query 'TRUNCATE calendar, calendar_entry;', (err) ->
+    throw err if err
+    sql = "
+      INSERT INTO calendar (id, name, owner) VALUES
+        (1, 'Work', 'Steve Jobs'),
+        (2, 'Work', 'Bill Gates');
+
+      INSERT INTO calendar_entry (id, calendar, title, day) VALUES
+        (1, 1, 'Unveil the iPhone', '2007-06-29'),
+        (2, 1, 'New iMac', '2007-08-07'),
+        (3, 1, 'Launch Mac OS X 10.5', '2007-10-27'),
+        (4, 1, 'Launch iPhone 3G', '2008-07-11'),
+        (5, 2, 'Ralease Windows Vista', '2007-01-30');
+    "
+    client.query sql, (err) ->
+      throw err if err
+      done()
+
+describe 'query-helpers', ->
+  describe '#insertOIDsForTables()', ->
+    it 'should insert ObjectIDs for all rows without ObjectIDs', (done) ->
+      helpers.insertOIDsForTables client, config.from, config.oid, (err, data) ->
+        throw err if err
+
+        sql = "
+          SELECT oe.oid AS entry_oid, oc.oid AS cal_oid
+          FROM calendar_entry AS e
+          LEFT JOIN objectid AS oe ON oe.type='E' AND oe.id=e.id
+          LEFT JOIN objectid AS oc ON oc.type='C' AND oc.id=e.calendar
+        "
+
+        client.query sql, (err, result) ->
+          cache = []
+          assert.equal result.rows.length, 5
+          for row in result.rows
+            assert.equal typeof row.entry_oid, 'string'
+            assert not (row.entry_oid in cache)
+            assert.equal typeof row.cal_oid, 'string'
+            cache.push row.entry_oid
+
+          done()
+


dummy test

dummy test

error: pathspec 'spec/first.spec.coffee' did not match any file(s) known to git

--- spec/first.spec.coffee
+++ spec/first.spec.coffee
@@ -0,0 +1,3 @@
+describe 'test feature', ->
+    it 'should be right', ->
+        expect(1).toEqual(1)


app: add Avatar component

app: add Avatar component

error: pathspec 'client/app/lib/components/profile/avatar.coffee' did not match any file(s) known to git

--- client/app/lib/components/profile/avatar.coffee
+++ client/app/lib/components/profile/avatar.coffee
@@ -0,0 +1,21 @@
+kd    = require 'kd'
+React = require 'kd-react'
+
+ProfilePicture = require './profilepicture'
+
+module.exports = class Avatar extends React.Component
+
+  @defaultProps =
+    onClick : kd.noop
+    width   : 50
+    height  : 50
+
+  getPictureProps: ->
+    width   : @props.width
+    height  : @props.height
+    account : @props.account
+
+  render: ->
+    <ProfilePicture {...@getPictureProps()} />
+
+


Banner: support custom functions, kill existing timer on setData

--- client/new-stack-editor/lib/views/banner.coffee
+++ client/new-stack-editor/lib/views/banner.coffee
@@ -22,6 +22,8 @@

     super options, data

+    @_wait = null
+
     @messageButton = new kd.ButtonView
       cssClass : 'message-button solid blue small'
       title    : @getData 'buttonTitle'
@@ -39,10 +41,12 @@

     unless data._initial

+      kd.utils.killWait @_wait
+
       if action
         @messageButton.setTitle action.title  if action.title
-        if typeof action is 'function'
-          @messageButton.setCallback action
+        if typeof action.fn is 'function'
+          @messageButton.setCallback action.fn
         else if actionEvent = action.event
           @messageButton.setCallback =>
             @emit Events.Banner.Close
@@ -52,7 +56,7 @@
         @messageButton.hide()

       if autohide
-        kd.utils.wait autohide, @bound 'close'
+        @_wait = kd.utils.wait autohide, @bound 'close'

     return data


converted js 2 coffee

converted js 2 coffee

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/protolif/Memory.git/'


now prints stderr to console

now prints stderr to console

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/pflannery/docpad-plugin-cmds.git/'


engine data module

engine data module

error: pathspec 'src/engine_data.coffee' did not match any file(s) known to git

--- src/engine_data.coffee
+++ src/engine_data.coffee
@@ -0,0 +1,43 @@
+###*
+The Delay module provides methods to trigger events after a number of steps have passed.
+
+@name Delay
+@fieldOf Engine
+@module
+@param {Object} I Instance variables
+@param {Object} self Reference to the engine
+###
+Engine.Delay = (I, self) ->
+  delayedEvents = []
+
+  self.bind 'afterUpdate', ->
+    [delayedEvents, firingEvents] = delayedEvents.partition (event) ->
+      (event.delay -= 1) >= 0
+
+    firingEvents.each (event) ->
+      event.callback()
+
+    return
+
+  ###*
+  Execute a callback after a number of steps have passed.
+
+

+  engine.delay 5, ->
+    engine.add
+      class: "Ghost"
+

+
+  @name delay
+  @methodOf Engine#
+  @param {Number} steps The number of steps to wait before executing the callback
+  @param {Function} callback The callback to be executed.
+
+  @returns {Engine} self
+  ###
+  delay: (steps, callback) ->
+    delayedEvents.push
+      delay: steps
+      callback: callback
+
+    return self


Oh, the most important part of that was this...

error: pathspec 'app/helpers/blueprint-input.coffee' did not match any file(s) known to git

--- app/helpers/blueprint-input.coffee
+++ app/helpers/blueprint-input.coffee
@@ -0,0 +1,10 @@
+`import Ember from 'ember';`
+
+BlueprintInput = Ember.Handlebars.makeBoundHelper (type, options) ->
+  switch type
+    when 'richtext' then component_name = 'em-text'
+    else component_name = 'em-input'
+
+  Ember.Handlebars.helpers[component_name].call @, options
+
+`export default BlueprintInput`


Fixed #303

Fixed #303

--- app/views/editor/thang/edit.coffee
+++ app/views/editor/thang/edit.coffee
@@ -41,10 +41,12 @@
     @thangType = new ThangType(_id: @thangTypeID)
     @thangType.saveBackups = true
     @thangType.fetch()
-    @thangType.once('sync', @onThangTypeSync)
+    @thangType.schema().once 'sync', @onThangTypeSync, @
+    @thangType.once 'sync', @onThangTypeSync, @
     @refreshAnimation = _.debounce @refreshAnimation, 500

   onThangTypeSync: =>
+    return unless @thangType.loaded and ThangType.hasSchema()
     @startsLoading = false
     @files = new DocumentFiles(@thangType)
     @files.fetch()


allow Viewports to accept Colors or Color init values

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/aligerum/umbriel.git/'


Beginnings of an affqis sample quest

Beginnings of an affqis sample quest

error: pathspec 'quests/affqisexample/affqisexample.coffee' did not match any file(s) known to git

--- quests/affqisexample/affqisexample.coffee
+++ quests/affqisexample/affqisexample.coffee
@@ -0,0 +1,7 @@
+Quest = require '../../src/quest'
+
+module.exports =
+class AffqisExampleQuest extends Quest
+  databases: ["pg", "hive"]
+  adventure: ->
+    @sql "select 1"


Expressify: if a broken request coming through here, clear clientId from cookie

--- node_modules_koding/bongo/lib/expressify.coffee
+++ node_modules_koding/bongo/lib/expressify.coffee
@@ -135,6 +135,7 @@

           unless client
             console.log "bongo.fetchClient: #{sessionToken} not found in #{userArea}"
+            res.clearCookie 'clientId', { path: '/' }
             return res.status(500).send 'An error occcurred'

           payload = []


client/payment: export hasCreditCard endpoint

Signed-off-by: Umut Sirin <4055abbc0e40a1254e715b952ccd414607e0b365@gmail.com>

--- client/app/lib/redux/services/payment.coffee
+++ client/app/lib/redux/services/payment.coffee
@@ -63,6 +63,8 @@
     return info

+exports.hasCreditCard = -> client.get Endpoints.CreditCardHas
+
 getTimestamp = (date) ->

   thirtyDaysInMs = (30 * 24 * 60 * 60 * 1000)


Add grunt task to download release assets.

error: pathspec 'tasks/download-github-releases-task.coffee' did not match any file(s) known to git

--- tasks/download-github-releases-task.coffee
+++ tasks/download-github-releases-task.coffee
@@ -0,0 +1,57 @@
+fs        = require 'fs'
+path      = require 'path'
+os        = require 'os'
+minimatch = require 'minimatch'
+GitHub    = require '../lib/github'
+
+module.exports = (grunt) ->
+  taskName = 'download-github-releases'
+  grunt.registerTask taskName, 'Download assets from GitHub Releases', ->
+    done = @async()
+
+    config = grunt.config taskName
+    unless config.repo?
+      grunt.log.error 'Repo must be specified'
+
+    tag = config.tag ? '*'
+    filename = config.filename ? '*'
+    outputDir = config.outputDir ? os.tmpdir()
+
+    github = new GitHub(config)
+    github.getReleases tag_name: tag, (error, releases) ->
+      if error?
+        grunt.log.error 'Failed to get releases', error
+        return done false
+
+      if releases.length < 0
+        grunt.log.error 'No specified releases is found'
+        return done false
+
+      count = 0
+      completed = 0
+      files = []
+      downloadDone = ->
+        ++completed
+        if count is completed
+          grunt.config "#{taskName}.files", files
+          done true
+
+      for release in releases
+        do (release) ->
+          for asset in release.assets
+            do (asset) ->
+              if minimatch asset.name, filename
+                ++count
+                github.downloadAsset asset, (error, inputStream) ->
+                  outputPath = path.join outputDir, asset.name
+                  inputStream.pipe fs.createWriteStream(outputPath)
+                  inputStream.on 'error', ->
+                    grunt.log.error 'Failed to download', asset.name
+                    downloadDone()
+                  inputStream.on 'end', ->
+                    files.push outputPath
+                    downloadDone()
+
+      if count is 0
+        grunt.log.error 'No matching asset is found'
+        done false


<view> Device - List

<view> Device - List

error: pathspec 'client/app/views/deviceList.coffee' did not match any file(s) known to git

--- client/app/views/deviceList.coffee
+++ client/app/views/deviceList.coffee
@@ -0,0 +1,42 @@
+ViewCollection = require '../lib/view_collection'
+
+module.exports = class DeviceList extends ViewCollection
+
+    className: 'device-list'
+    itemView: require 'views/deviceList_category'
+    template: require 'templates/deviceList'
+
+    collectionEl: null
+
+    groupingAttribute: null
+
+    initialize: ->
+        super
+
+    checkIfEmpty: =>
+       #  @$('.help').toggle _.size(@views) is 0 and app.mode is 'public'
+
+    afterRender: ->
+        super
+
+    addItem: (model) =>
+        modelGroup = model[@groupingAttribute]
+        if modelGroup not in @views
+            # Create a group view to add this device:
+            options = _.extend {}, {name: modelGroup, collection:[model]}, @itemViewOptions(model)
+            view = new @itemview(options)
+            @views[modelGroup] = view.render()
+            @appendView view
+        else
+            @views[modelGroup].collection.add @model
+
+        @onChange @views
+
+    removeItem: (model) =>
+        modelGroup = model[@groupingAttribute]
+        @views[modelGroup].collection.remove @model
+
+        if @views[modelGroup].collection.length == 0
+            @views[modelGroup].remove()
+            delete @views[modelGroup]
+            @onChange @views


Jekyll (XML) Format

Jekyll (XML) Format

error: pathspec 'grammars/jekyll-xml.cson' did not match any file(s) known to git

--- grammars/jekyll-xml.cson
+++ grammars/jekyll-xml.cson
@@ -0,0 +1,25 @@
+'scopeName': 'text.xml.jekyll'
+'name': 'Jekyll (XML)'
+'fileTypes': [
+  'xml'
+  'atom'
+  'svg'
+]
+'firstLineMatch': '^---$'
+'patterns': [
+  {
+    'include': 'text.xml'
+  }
+  {
+    'include': 'text.html.liquid'
+  }
+  {
+    'begin': '---'
+    'end': '---'
+    'patterns': [
+      {
+        'include': 'source.yaml'
+      }
+    ]
+  }
+]


Atom config updated

Atom config updated

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/nop33/dotfiles.git/'


code style change

code style change

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/artsyca/emberui.git/'


JApp: Updates, still needs lots of work

JApp: Updates, still needs lots of work

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/andrewjcasal/koding.git/'


feat(run):tag export by configId

feat(run):tag export by configId

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/keboola/kbc-ui-tde-exporter.git/'


new file:   src/app/toilets.coffee

new file:   src/app/toilets.coffee

error: pathspec 'src/app/toilets.coffee' did not match any file(s) known to git

--- src/app/toilets.coffee
+++ src/app/toilets.coffee
@@ -0,0 +1,32 @@
+Bacon = require 'bacon'
+React = require 'react'
+{ToiletList} = require 'ui/toilet-list'
+{LocationInput} = require 'ui/location-input'
+
+LocationInputApp = React.CreateClass
+  getDefaultProps: ->
+    onSubmit: new Bacon.Bus
+    onChange: new Bacon.Bus
+  componentDidMount: ->
+    addresses =
+      @props.onChange
+        .map '.target.value'
+        .toProperty()
+        .sampleBy @props.onSubmit
+    onLocation =
+      addresses
+        .flatMap @props.geocoder, 'codeAddress'
+        .map '.0.location'
+    @props.onLocation.plug onLocation
+  render: ->
+    `<LocationInput onChange={this.props.onChange.push} onSubmit={this.props.onSubmit.push} />`
+
+ToiletListApp = React.createClass
+  getInitialState: ->
+    toiles: []
+  componentDidMount: ->
+    @props.toilets.onValue (toilets) ->
+      @setState(toilets)
+  render: ->
+    `<ToiletList toilets={this.state.toilets} onSelect={this.props.onSelect.push} />`
+


Set the CR status to 'Not Available' for read-only rights camera. (#1658)

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/evercam/evercam-dashboard.git/'


add analytics events for phone number on artwork page

--- apps/artwork/client/view.coffee
+++ apps/artwork/client/view.coffee
@@ -121,10 +121,12 @@
         if locationsWithPhoneNumber.length > 0
           @$('.artwork-partner-phone-container').html partnerPhoneNumberTemplate
             locations: locationsWithPhoneNumber
+          analytics.track.funnel "Displayed 'show phone number' button"

   showPhoneNumber: ->
     @$('.show-phone-number').remove()
     @$('.partner-phone-numbers').show()
+    analytics.track.click "Clicked 'Show phone number'"

   preventRightClick: ->
     (@$artworkImage ?= @$('#the-artwork-image')).on 'contextmenu', (event) ->


Test for surrogates

Test for surrogates

error: pathspec 'test/surrogates.coffee' did not match any file(s) known to git

--- test/surrogates.coffee
+++ test/surrogates.coffee
@@ -0,0 +1,7 @@
+utf8 = require './28'
+random = require './random'
+
+describe 'Surrogates', ->
+  it 'are invalid', ->
+    for i in [1..108]
+      random.test4  false, utf8 random 0xD800, 0xDFFF


Tell tinyMCE to not change image paths. #143

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/bmedx/modulestore.git/'


fix for handle

fix for handle

--- client/app/CommonViews/applicationview/applicationtabview.coffee
+++ client/app/CommonViews/applicationview/applicationtabview.coffee
@@ -40,7 +40,7 @@
     focusActivePane = (pane)=>
       {tabView} = pane.getMainView()
       if this is tabView
-        @getActivePane().getHandle().$().click()
+        @getActivePane()?.getHandle?().$().click()

     mainView = KD.getSingleton("mainViewController").getView()
     mainView.mainTabView.on "PaneDidShow", focusActivePane


Selecting values in <Autocomplete />

Selecting values in <Autocomplete />

--- components/autocomplete.cjsx
+++ components/autocomplete.cjsx
@@ -26,20 +26,29 @@
   getInitialState: ->
     focus       : false
     sugerences  : []
+    values      : []

   # -- Events
   onChange: ->
+    sugerences = []
     value = @refs.input.getValue().toLowerCase().trim()
     if value.length > 0
-      sugerences = []
-      for data in @props.dataSource
-        sugerences.push data if data.toLowerCase().trim().indexOf(value) > -1
+      for data in @props.dataSource when data not in @state.values
+        sugerences.push data if data.toLowerCase().trim().indexOf(value) is 0
       @setState focus: true, sugerences: sugerences if sugerences.length > 0
-    else
-      @setState focus: false
+    @setState focus: false if sugerences.length is 0

-  onSelect: (event)->
-    @setState focus: false
+  onSelect: (event) ->
+    values = @state.values
+    values.push @state.sugerences[event.target.getAttribute "id"]
+    @setState focus: false, values: values
+    @refs.input.setValue ""
+    @props.onChange? @
+
+  onUnselect: (event) ->
+    values = @state.values
+    values.splice parseInt(event.target.getAttribute "id"), 1
+    @setState focus: false, values: values
     @props.onChange? @

   # -- Render
@@ -47,10 +56,12 @@
     className = ""
     className += " focus" if @state.focus

-

+

+      {
{value}
 for value, index in @state.values}
+

       <Input {...@props} ref="input" onChange={@onChange}/>

-      {
{sugerence}
 for sugerence, index in @state.sugerences }
+      {
{sugerence}
 for sugerence, index in @state.sugerences}


Prevent multiple update alerts

Prevent multiple update alerts

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Morgy93/Rocket.Chat.Cordova.git/'


:lipstick:

:lipstick:

--- browser/api/lib/protocol.coffee
+++ browser/api/lib/protocol.coffee
@@ -1,2 +1 @@
 module.exports = process.atomBinding 'protocol'
-


Fix undefined dereference in server/jobs.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/philbooth/GitHubReminder.git/'


Add invitations ember model

Add invitations ember model

[#98173630]

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/netguru/review.git/'


Phage

Phage

Signed-off-by: Ian Macalinao <08370e385f4778cad8fe504ec5445edd3d45bd9a@gmail.com>

error: pathspec 'src/items/phage.coffee' did not match any file(s) known to git

--- src/items/phage.coffee
+++ src/items/phage.coffee
@@ -0,0 +1,15 @@
+#<< item
+lol._defItem "Phage",
+  code: 3044
+
+  health: 200
+  ad: 20
+
+  cost: 590
+  sell: 1025
+
+  recipe: ["Ruby Crystal", "Long Sword"]
+
+  passives: [
+    lol.itemEffects.icy(25, 30, 2, 20)
+  ]


Removed: remaining reference to MailboxStore

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/clochix/cozy-emails.git/'


Comment whole reload function

Comment whole reload function

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/tamino-martinius/colourco.de.git/'


show desktop notifications

show desktop notifications

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/rremizov/github-notifier.git/'


Fix image issue. Closes #71.

Fix image issue. Closes #71.

--- lib/mixins/images.coffee
+++ lib/mixins/images.coffee
@@ -14,12 +14,13 @@
         y = y ? options.y ? @y

         if @_imageRegistry[src]
-            [image, @page, label] = @_imageRegistry[src]
+            [image, label, pages] = @_imageRegistry[src]
+            pages.push @page unless @page in pages

         else
             image = PDFImage.open(src)
             label = "I" + (++@_imageCount)
-            @_imageRegistry[src] = [image, @page, label]
+            @_imageRegistry[src] = [image, label, [@page]]

         w = options.width or image.width
         h = options.height or image.height
@@ -64,9 +65,11 @@
         images = (item for src, item of @_imageRegistry)
         do proceed = =>
             if images.length
-                [image, page, label] = images.shift()
+                [image, label, pages] = images.shift()
                 image.object this, (obj) ->
-                    page.xobjects[label] ?= obj
+                    for page in pages
+                        page.xobjects[label] ?= obj
+
                     proceed()
             else
                 fn()


Dutch Translation

Dutch Translation

added dutch translation... again

error: pathspec 'lib/translations/nl.cson' did not match any file(s) known to git

--- lib/translations/nl.cson
+++ lib/translations/nl.cson
@@ -0,0 +1,82 @@
+"pullToRefresh": "Omlaag om te herladen!"
+"retry": "Opnieuw"
+"back": "Terug"
+"error": "Er ging iets mis, probeer het opnieuw."
+"attemptToConnect": "Poging {{attempt}} van {{attemptMax}}. Om te laden"
+"yes": "Ja"
+"no" : "Nee"
+"emptyList" : "There is nothing here!"
+"menu":
+    "title": "Menu"
+    "home": "Home"
+    "tags": "Tags"
+    "pages": "Pages"
+    "posts": "Posts"
+    "authors": "Authors"
+    "search": "Search"
+    "bookmarks": "Bookmarks"
+    "socialNetworks": "Social Networks"
+    "categories": "Categories"
+    "settings": "Settings"
+    "customPosts": "Custom posts"
+    "customTaxonomy": "Custom Taxonomy"
+"pushNotifications":
+    "newContent":
+        "title": "New content!"
+        "text": "A new Post/Page: '{{postTitle}}' has been released on {{appTitle}}, do you want to open it?"
+"bookmark":
+    "title": "Bookmarks"
+    "emptyList" : "Nothing bookmarked yet!"
+    "bookmarked" : "Bookmarked!"
+    "removed" : "Bookmark removed!"
+"tags":
+    "title": "Tags"
+"tag":
+    "title": "Tag: {{name}}"
+"customTaxonomy":
+    "title": "{{term}}: {{name}}"
+"categories":
+    "title": "Categories"
+"category":
+    "title": "Category: {{name}}"
+"home":
+    "title": "Home"
+"search":
+    "inputPlaceholder": "Search"
+    "title": "Search"
+    "titleQuery": "Search: {{query}}"
+"sharing":
+    "shared": "Shared!"
+"authors":
+    "title": "Authors"
+"author":
+    "title": "Author: {{name}}"
+"pages":
+    "title": "Pages"
+"posts":
+    "title": "Posts"
+    "featured": "Featured"
+"post":
+    "comments": "Comments"
+    "openInBrowser": "Open in browser"
+"about":
+    "title": "About"
+"params":
+    "title": "Parameters"
+    "offlineMode": "Offline mode (soon)"
+    "fontSize": "Posts font size"
+    "language": "Language"
+"languages":
+    "en": "English"
+    "fr": "French"
+    "zh": "Chinese"
+    "es": "Spanish"
+    "pl": "Polish"
+    "de": "German"
+    "pt": "Portuguese"
+"fontSize":
+    "small": "Small"
+    "medium": "Medium"
+    "large": "Large"
+    "x-large": "Xlarge"
+    "xx-large": "XXlarge"


Add new REST API interface wrapper

Add new REST API interface wrapper

error: pathspec 'coffee/rest-api.coffee' did not match any file(s) known to git

--- coffee/rest-api.coffee
+++ coffee/rest-api.coffee
@@ -0,0 +1,166 @@
+# Nasjonal Turbase v1
+#
+# Server to Database handler
+#
+# This is a wrapper class between the requests to the server and the database.
+# It is responsible for parsing and validating parameters, access controll,
+# retrieving documents from from the database and handling errors.
+#
+# @author Hans Kristian Flaatten
+#
+
+#
+# Preprocess: ?api_key
+#
+# Verifies the provided API key anginst the datbase of registerd API keys. This
+# method will perform throling and limiting exessive usage of the API.
+#
+# @error 403 - AuthenticationFailed
+#
+exports.apiKeyVerify = (req, res, next) ->
+  keys =
+    dnt: "DNT"
+    nrk: "NRK"
+
+  key = req?.get?('api_key') or req?.query?.api_key
+  if not key or not keys[key]
+    err = new Error('API Authentication Failed')
+    err.mesg = 'AuthenticationFailed'
+    err.code = 403
+    return next err
+
+  req.key =
+    public: keys[key]
+
+  # @TODO move this
+  data = req.params?.data or req.query?.data
+  if data
+    req.data = JSON.parse data if data
+    req.data.eier = req.eier
+
+  next()
+
+#
+# Preprocess :object
+#
+# Verifies the object parameter and connects to the appropriate collection. If
+# connection fails this method will next an error {@code ObjectTypeNotExist}.
+#
+# @error MongoDB connection error
+# @error ObjectTypeNotExist
+#
+exports.paramObject = (req, res, next, object) ->
+  return next new Error('ObjectTypeNotExist') if /^(system|admin)/i.test object
+  req.db.con.getCollection object, (err, collection) ->
+    return next err if err
+    return next new Error('ObjectTypeNotExist') if not collection
+
+    req.db.col = collection
+    return next()
+
+#
+# Preprocess :id parameter
+#
+exports.paramId = (req, res, next, id) ->
+  if /^[0-9a-f]{24}$/i.test id
+    req.db.id = id
+    next()
+  else
+    err = new Error('ID is not a string of 24 hex chars')
+    err.code = 400
+    err.mesg = 'ObjectIDMustBe24HexChars'
+    next err
+
+#
+# Get object types
+#
+# List collections in database. This is used for the elasticsearch-river-remote
+# plugin when indexing.
+#
+# @TODO make this dynamic
+#
+exports.getObjectTypes = (req, res, next) ->
+  res.jsonp
+    types: ['aktiviteter', 'bilder', 'områder', 'steder', 'turer']
+    count: 5
+
+#
+# Parse database query options
+#
+# @param req {@code object} - http request object
+#
+# @return {@code object} - opts.query, opts.limit, opts.skip
+#
+exports._parseOptions = (req) ->
+  limit = 10
+  limit = parseInt(req.query.limit) if req?.query?.limit
+
+  skip = 0
+  skip = parseInt(req.query.offset) if req?.query?.offset
+
+  query = {}
+  query.endret = {$gt:req.query.after} if req?.query?.after
+
+  {
+    query : query
+    limit : Math.min(limit, 50)
+    skip  : skip
+  }
+
+#
+# Get objects
+#
+# Retrieve object for given object type
+#
+# req.db.collection, req.query.after
+#
+# @TODO better query handling
+#
+exports.getObjectsByType = (req, res, next) ->
+
+  opts = exports._parseOptions req
+
+  req.db.con.getDocuments req.db.col, opts, (err, documents) ->
+    return next err if err
+    return res.jsonp
+      documents: documents
+      count: documents.length
+
+#
+# Get object
+#
+# Get object for given ObjectId
+#
+# @require req.db.con - database instance
+# @require req.db.col - collection pointer
+# @require req.db.id - DocumentID
+#
+# @TODO private field sharing
+#
+exports.getObjectById = (req, res, next) ->
+  db  = req.db.con
+  col = req.db.col
+  id  = req.db.id
+
+  db.getDocument col, id, (err, document) ->
+    return next err if err
+    return res.jsonp 404, {} if not document
+    delete document.privat if document.eier isnt req.key.public
+    return res.jsonp document
+
+#
+# Insert object
+#
+exports.postObject = (req, res, next) ->
+
+
+#
+# Update object
+#
+exports.putObject = (req, res, next) ->
+
+#
+# Delete object
+#
+exports.deleteObject = (req, res, next) ->
+


on edit directive

on edit directive

error: pathspec 'src/javascripts/directives/on_edit.coffee' did not match any file(s) known to git

--- src/javascripts/directives/on_edit.coffee
+++ src/javascripts/directives/on_edit.coffee
@@ -0,0 +1,10 @@
+angular.module("npr.app").directive "onEdit", ["$parse", ($parse)->
+  restrict: "A"
+  link: (scope, element, attrs) ->
+    $(element).on "focusout", ->
+      $parse(attrs.onEdit)(scope)
+
+    $(element).on "keyup", (event) ->
+      if event.keyCode is 13
+        $parse(attrs.onEdit)(scope)
+]


Add util for converting js object keys

Add util for converting js object keys

error: pathspec 'app/assets/javascripts/utilities/util.coffee' did not match any file(s) known to git

--- app/assets/javascripts/utilities/util.coffee
+++ app/assets/javascripts/utilities/util.coffee
@@ -0,0 +1,15 @@
+class App.Util
+
+  @snake_case_camel_keys: (obj) ->
+    # Stupid hack because jQuery converts data to camelCase
+    keys = Object.keys(obj)
+    n = keys.length
+    newobj = {}
+    while n--
+      key = keys[n]
+      snake_key = key.replace(/([A-Z])/g, ($1) ->
+        "_" + $1.toLowerCase()
+        )
+      newobj[snake_key] = obj[key]
+
+    newobj


Rework how SimpleCache works.

Rework how SimpleCache works.

Change the implementation of SimpleCache such that it does not rely upon
timers.  The problem with times is that they retain a reference to the
object even if Vimium itself loses all references.  This approach seems
simpler, and perfectly adequate for our purposes.

--- lib/utils.coffee
+++ lib/utils.coffee
@@ -230,56 +230,48 @@

 # A simple cache. Entries used within two expiry periods are retained, otherwise they are discarded.
 # At most 2 * @entries entries are retained.
-#
-# Note.  We need to be careful with @timer.  If all references to a cache are lost, then eventually its
-# contents must be garbage collected, which will not happen if there are active timers.
 class SimpleCache
   # expiry: expiry time in milliseconds (default, one hour)
-  # entries: maximum number of entries in @cache (there may be this many entries in @previous, too)
+  # entries: maximum number of entries in @cache (there may be up to this many entries in @previous, too)
   constructor: (@expiry = 60 * 60 * 1000, @entries = 1000) ->
     @cache = {}
     @previous = {}
-    @timer = null
-
-  rotate: ->
-    @previous = @cache
-    @cache = {}
-    # We reset the timer every time the cache is rotated (which could be because a previous timer expired, or
-    # because the number of @entries was exceeded).  We only restart the timer if the cache is not empty.
-    clearTimeout @timer if @timer?
-    @timer = null
-    @checkTimer() if 0 < Object.keys(@previous).length
-
-  checkTimer: ->
-    unless @timer?
-      @timer = Utils.setTimeout @expiry, => @rotate()
+    @lastRotation = new Date()

   has: (key) ->
+    @rotate()
     (key of @cache) or key of @previous

   # Set value, and return that value.  If value is null, then delete key.
   set: (key, value = null) ->
-    @checkTimer()
+    @rotate()
+    delete @previous[key]
     if value?
       @cache[key] = value
-      delete @previous[key]
-      @rotate() if @entries < Object.keys(@cache).length
     else
       delete @cache[key]
-      delete @previous[key]
-    value
+      null

   get: (key) ->
+    @rotate()
     if key of @cache
       @cache[key]
     else if key of @previous
       @cache[key] = @previous[key]
+      delete @previous[key]
+      @cache[key]
     else
       null

+  rotate: (force = false) ->
+    if force or @entries < Object.keys(@cache).length or @expiry < new Date() - @lastRotation
+      @lastRotation = new Date()
+      @previous = @cache
+      @cache = {}
+
   clear: ->
-    @rotate()
-    @rotate()
+    @rotate true
+    @rotate true

 # This is a simple class for the common case where we want to use some data value which may be immediately
 # available, or for which we may have to wait.  It implements a use-immediately-or-wait queue, and calls the


fix setting organizations behaviour

fix setting organizations behaviour

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xaun/impac-angular.git/'


Initial stages of an analytics view

Initial stages of an analytics view

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/VilkkuV/codecombat.git/'


Add callbacks and correct filepath

Add callbacks and correct filepath

--- lib/db.coffee
+++ lib/db.coffee
@@ -5,35 +5,41 @@
   db: null
   filepath: null

-  initialize: ->
+  constructor: ->
     dbSettings =
       filename: @file()
       autoload: true
+
+    console.log dbSettings

     @db = new Datastore(dbSettings)

     @lookForChanges()

   ## CREATE
-  add: (project) ->
+  add: (project, callback) ->
     if not project._id
-      @db.insert project
+      @db.insert project, (err, newProject) ->
+        unless err
+          callback(newProject)
+        else
+          console.log err

   ## FIND
-  find: (value='', key='paths') ->
+  find: (value='', key='paths', callback) ->
     findBy = {}
     findBy[key] = value
     @db.findOne findBy, (err, data) ->
-      return data
+      callback(data)

-  findCurrent: ->
+  findCurrent: (callback) ->
     paths = atom.project.getPaths()
     path = paths[0]
-    @find(path)
+    @find path, 'paths', callback

-  findAll: ->
+  findAll: (callback) ->
     @db.find {}, (err, projects) ->
-      return projects unless err
+      callback(projects)

   ## UPDATE
   update: (project) ->
@@ -71,5 +77,5 @@
         hostname = os.hostname().split('.').shift().toLowerCase()
         filename = "projects.#{hostname}"

-      @filepath = "#{filedir}/#{@filename}"
+      @filepath = "#{filedir}/#{filename}"
     @filepath


Issue #2387: Accounts setting toggle all fix

--- app/views/account/AccountSettingsView.coffee
+++ app/views/account/AccountSettingsView.coffee
@@ -43,6 +43,7 @@
   toggleEmailSubscriptions: =>
     subs = @getSubscriptions()
     $('#email-panel input[type="checkbox"]', @$el).prop('checked', not _.any(_.values(subs))).addClass('changed')
+    @trigger 'input-changed'

   checkNameExists: =>
     name = $('#name', @$el).val()


Layout of Class

Layout of Class

Commiting because i'm tired and going to bed.

error: pathspec 'lib/streams/pistachio.coffee' did not match any file(s) known to git

--- lib/streams/pistachio.coffee
+++ lib/streams/pistachio.coffee
@@ -0,0 +1,37 @@
+#
+# # Pistachio Related Streams
+#
+# This pistachio stream module mainly (entirely?) involves the Pistachio
+# replace as seen in the original kdc compiler.
+#
+{Transform}     = require 'stream'
+
+
+
+# Copied from the original kdc source. It needs to be split up for my
+# sanity
+pistachio_matcher = /\{(\w*)?(\#\w*)?((?:\.\w*)*)(\[(?:\b\w*\b)(?:\=[\"|\']?.*[\"|\']?)\])*\{([^{}]*)\}\s*\}/g
+
+
+
+# # PistachioThis
+#
+# This simple stream implements the feature seen in the main kdc
+# compiler where it searches for a specific chunk of Pistachio, namely the
+# `{{> @foo}}` line and replaces `@` with `this.`. I'm not too familiar with
+# the need for this, but it apparently has to do with the fact that the `@` in
+# coffee is not converted to `this.` for javascript. Not susprising, just a
+# mild convenience.
+#
+# We'll disable this stream by default, but still offer the flag, so we can
+# add it during normal compile *(for compatibility)*
+class PistachioThis extends Transform
+  constructor: ->
+    super()
+
+
+
+
+
+
+exports.PistachioThis   = PistachioThis


Manually copied in en-stl.coffee from evolvenode module

error: pathspec 'test/lib/en-stl.coffee' did not match any file(s) known to git

--- test/lib/en-stl.coffee
+++ test/lib/en-stl.coffee
@@ -0,0 +1,64 @@
+###
+  this file should go into evolvenode
+###
+
+class Collectible
+
+  constructor: (@totalToCollect, @finallyFn = null)->
+    @count = 0
+    @collection = {}
+
+  done: (key, value)->
+    unless @totalToCollect is @count
+      @collection[key] = value
+      @count += 1
+
+    if @totalToCollect is @count
+      setImmediate @finallyFn, @collection if @finallyFn
+      finallyFn = null
+
+  finally: (@finallyFn)-> @
+
+@Collectible = Collectible
+
+
+###
+  @class Iterator
+  @purpose Asynchronous iterator for a list with flow control.
+###
+
+class Iterator
+
+  constructor: (@list, @forEachFn)->
+    @index = 0
+    @hasIterationEnded = false
+    @next()
+
+  next: ()=>
+    if @index == @list.length
+      @hasIterationEnded = true
+      if @finalFn and @hasIterationEnded
+        cb = @finalFn
+        @finalFn = null
+        cb()
+    else
+      oldIndex = @index
+      @index++
+      @forEachFn @next, oldIndex, @list[oldIndex]
+
+  then: (@finalFn)=>
+    if @finalFn and @hasIterationEnded
+      cb = @finalFn
+      @finalFn = null
+      cb()
+
+@Iterator = Iterator
+
+###
+  @iterate
+###
+
+iterate = (list, forEachFn) ->
+  new Iterator list, forEachFn
+
+@iterate = iterate


and you need the sample api for tests

and you need the sample api for tests

error: pathspec 'test/sample_api.coffee' did not match any file(s) known to git

--- test/sample_api.coffee
+++ test/sample_api.coffee
@@ -0,0 +1,85 @@
+module.exports =
+  service_url: "http://patchboarded.com"
+  map:
+    resource_collection:
+      paths: ["/resources"]
+    resource_instance:
+      paths: ["/resources/:id"]
+    attachments:
+      paths: ["/resources/:id/attachments"]
+    attachment:
+      paths: ["/resources/:id/attachments/:attachment_id"]
+
+
+  interface:
+    resource_collection:
+      actions:
+        create:
+          method: "POST"
+          request_entity: "resource_instance"
+          response_entity: "resource_instance"
+        list:
+          method: "GET"
+          response_entity: "resource_collection"
+        search:
+          method: "GET"
+          response_entity: "resource_collection"
+          query:
+            required:
+              name: {type: "string"}
+            optional:
+              reverse: {type: "boolean"}
+
+    resource_instance:
+      actions:
+        get:
+          method: "GET"
+          response_entity: "resource_instance"
+        delete:
+          method: "DELETE"
+          authorization: "Basic"
+
+    attachments:
+      actions:
+        create:
+          method: "POST"
+          request_entity: "attachment"
+        list:
+          method: "GET"
+          request_entity: "attachment_list"
+
+    attachment:
+      actions:
+        get:
+          method: "GET"
+          response_entity: "attachment"
+        delete:
+          method: "DELETE"
+          authorization: "Basic"
+
+  schema:
+    id: "my_api"
+    properties:
+
+      resource_collection:
+        extends: "resource"
+        mediaType: "patchboard.resource_collection"
+        properties:
+          some_property: {type: "string"}
+
+      resource_instance:
+        extends: "resource"
+        mediaType: "patchboard.resource_instance"
+        properties:
+          some_property: {type: "string"}
+
+      attachments:
+        extends: "resource"
+        mediaType: "patchboard.attachments"
+
+      attachment:
+        extends: "resource"
+        mediaType: "patchboard.attachment"
+        properties:
+          some_property: {type: "string"}
+


Providers: Vagrant: add vagrant type to JMachine documents

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/andrewjcasal/koding.git/'


JPermissionSet: added initial tests for permissionset

error: pathspec 'workers/social/lib/social/models/group/permissionset.test.coffee' did not match any file(s) known to git

--- workers/social/lib/social/models/group/permissionset.test.coffee
+++ workers/social/lib/social/models/group/permissionset.test.coffee
@@ -0,0 +1,119 @@
+{
+  expect
+  withDummyClient
+  withConvertedUser
+  checkBongoConnectivity
+} = require '../../../../testhelper'
+JPermissionSet = require './permissionset'
+
+beforeTests = -> before (done) ->
+
+  checkBongoConnectivity done
+
+runTests = -> describe 'workers.social.models.group.permissionset', ->
+
+  describe 'JPermissionSet', ->
+
+    it 'should exist', ->
+      expect(JPermissionSet).to.be.a 'function'
+      expect(JPermissionSet.set).to.be.a 'function'
+      expect(JPermissionSet.permit).to.be.a 'function'
+      expect(JPermissionSet.checkPermission).to.be.a 'function'
+
+    describe 'permit()', ->
+
+      describe 'should support simple permissions', ->
+
+        it 'should deny for guests', (done) ->
+          withDummyClient ({ client }) ->
+            (JPermissionSet.permit \
+              'open group', { failure: -> done() }) client
+
+        it 'should allow for members', (done) ->
+          withConvertedUser ({ client }) ->
+            (JPermissionSet.permit \
+              'open group', { success: -> done() }) client
+
+
+      describe 'should support advanced permissions', ->
+
+        it 'should deny for guests', (done) ->
+          withDummyClient ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [ { permission: 'open group' } ]
+              failure  : -> done()
+            }) client
+
+        it 'should allow for members', (done) ->
+          withConvertedUser ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [ { permission: 'open group' } ]
+              success  : -> done()
+            }) client
+
+
+      describe 'should support multiple permissions', ->
+
+        it 'should deny for guests', (done) ->
+          withDummyClient ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [
+                { permission: 'grant access' }
+                { permission: 'open group' }
+              ]
+              failure  : -> done()
+            }) client
+
+        it 'should allow for members', (done) ->
+          withConvertedUser ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [
+                { permission: 'grant access' }
+                { permission: 'open group' }
+              ]
+              success  : -> done()
+            }) client
+
+
+      describe 'should support validators', ->
+
+        it 'should deny for guests when validator returned no', (done) ->
+          withDummyClient ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [
+                { permission: 'open group', validateWith: (..., cb) -> cb null, no }
+              ]
+              failure  : -> done()
+            }) client
+
+        it 'should allow for guests when validator returned yes', (done) ->
+          withDummyClient ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [
+                { permission: 'open group', validateWith: (..., cb) -> cb null, yes }
+              ]
+              success  : -> done()
+            }) client
+
+        it 'should deny for members when validator returned no', (done) ->
+          withConvertedUser ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [
+                { permission: 'open group', validateWith: (..., cb) -> cb null, no }
+              ]
+              failure  : -> done()
+            }) client
+
+        it 'should allow for guests when validator returned yes', (done) ->
+          withConvertedUser ({ client }) ->
+            (JPermissionSet.permit {
+              advanced : [
+                { permission: 'open group', validateWith: (..., cb) -> cb null, yes }
+              ]
+              success  : -> done()
+            }) client
+
+
+beforeTests()
+
+runTests()


Exposed full repaint to allow for global style changes in the heatmap.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/kidaa/epoch.git/'


flux/teams: add action type to revoke pending invitation

--- client/app/lib/flux/teams/actiontypes.coffee
+++ client/app/lib/flux/teams/actiontypes.coffee
@@ -23,4 +23,8 @@
   'LOAD_PENDING_INVITATION_BEGIN'
   'LOAD_PENDING_INVITATION_SUCCESS'
   'LOAD_PENDING_INVITATION_FAIL'
+
+  'DELETE_PENDING_INVITATION_BEGIN'
+  'DELETE_PENDING_INVITATION_SUCCESS'
+  'DELETE_PENDING_INVITATION_FAIL'
 }


client/app: remove WorkspaceSettingsPopup view

Signed-off-by: Umut Sirin <4055abbc0e40a1254e715b952ccd414607e0b365@gmail.com>


Working unstage.

Working unstage.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/aki77/atomatigit.git/'


Styling change on delete dialog

Styling change on delete dialog

--- client/finder/filetree/itemsubviews/finderitemdeletedialog.coffee
+++ client/finder/filetree/itemsubviews/finderitemdeletedialog.coffee
@@ -13,12 +13,12 @@
     options.height   = "auto"
     options.buttons  = {}
     options.buttons["Yes, delete #{numFiles}"] =
-      style         : "modal-clean-red"
+      style         : "solid medium red"
       callback      : =>
         callback? yes
         @destroy()
     options.buttons.cancel =
-      style         : "modal-cancel"
+      style         : "solid medium light-gray"
       callback      : =>
         callback? no
         @destroy()


bug fix

bug fix

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/bubblegroup/bubblebot.git/'


treat newlines like spaces

treat newlines like spaces


bug fix

bug fix


bug fix for errors during startup

bug fix for errors during startup


Remove go/src/socialapi/db/sql from directory entry stack

Signed-off-by: Sonmez Kartal <d2d15c3d37396a5f2a09f8b42cf5f27d43a3fbde@koding.com>

--- config/generateRunFile.coffee
+++ config/generateRunFile.coffee
@@ -408,6 +408,8 @@
       sed -i -e "s/GRANT kontrol TO kontrolapplication/GRANT kontrol TO $KONFIG_KONTROL_POSTGRES_USERNAME/" kontrol/001-schema.sql
       docker build -t koding/postgres .
       git checkout kontrol/001-schema.sql
+      popd
+
       runMongoDocker
       docker run -d -p 5672:5672 -p 15672:15672                           --name=rabbitmq rabbitmq:3-management
       docker run -d -p 6379:6379                                          --name=redis    redis


disabled js data scaffold

disabled js data scaffold

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/AppGyver/steroids.git/'


Fix sidebar error when re-opening tab with search input filled

--- assets/javascripts/views/sidebar/doc_list.coffee
+++ assets/javascripts/views/sidebar/doc_list.coffee
@@ -152,7 +152,7 @@

   afterRoute: (route, context) =>
     if context.init
-      @reset revealCurrent: true
+      @reset revealCurrent: true if @activated
     else
       @select context.type or context.entry
     return


refactor script loading

refactor script loading

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/noniq/middleboy.git/'


33a97ea9145ec4b91cf1245727f898d94b979333 fix

[#98173630]

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/netguru/review.git/'


rm stray logs

rm stray logs

--- apps/fair/routes.coffee
+++ apps/fair/routes.coffee
@@ -97,12 +97,7 @@

 # Fetches and caches fair data to be used across the fair app
 @fetchFairData = (req, res, next) ->
-  console.log 'fetching fair data', res.locals.profile
   profile = res.locals.profile
-
-  console.log 'fairOwnerId', profile.fairOwnerId()
-
-  console.log 'req.params.id', req.params.id

   return next() unless profile?.isFair()


Add code to submit form when the user clicks 'Add' to add a curator to a collection

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/ndlib/honeycomb.git/'


add category generator.

add category generator.

error: pathspec 'generators/category.coffee' did not match any file(s) known to git

--- generators/category.coffee
+++ generators/category.coffee
@@ -0,0 +1,6 @@
+lib = require '../lib'
+url = require 'url'
+
+module.exports = (utils, base, id) ->
+  output = '/category/' + id
+  lib.createPage utils, url.resolve(base, output), output, true