| Age | Commit message (Collapse) | Author |
|
Previous commit c950e85 came with a workaround to resolve a TypeError in
EventEmitter.prototype.emit for-loop. That workaround sacrificed some
readability for bug fixing due to technical debt.
bursey came up with a better solution on IRC which seems to work and
improves readability. Something needs to emit an event that wasn't bound
with "on", thus the event was not in the _events object.
Airbnb ES5 style guide requires to have all variables at top, so we
leave the len variable undefined at the top to be defined later. After
the _events check, we define len to avoid the TypeError issue while
conforming to Airbnb ES5 style guide and improving readability.
This commit also adds comments to document the function.
Suggested-by: bursey (#/g/partyvan @ Partyvan IRC)
|
|
this._events[evt].length would run into JavaScript scope issues in
EventEmitter.prototype.emit function for-loop.
This is an attempt to work around the issue to resolve an innocent
looking TypeError. The code seems to work without this patch, but I
can't spot if this is some dead code or know what to do with it. Due to
technical debt, some sacrifice had to be made in readability for fixing
this bug.
This bug was introduced in commit 575b78b.
For future improvement, this function and other functions in the file
should be refactored or replaced with a more efficient implementation.
|
|
Very short identifier names usually make the code harder to read and
potentially less maintainable.
Fixes two ESLint id-length errors using airbnb/legacy config.
Suggested-by: avail <avail@pomf.se>
|
|
When a local variable shares the same name with a variable in its scope,
it can cause confusion to the reader and make it impossible to access
the global variable.
Disallow shadowing. Fixes ESLint no-shadow errors using airbnb/legacy
config.
Suggested-by: marc <mharnos@gmail.com>
|
|
Quoting ESLint:
> Variables that are declared and not used anywhere in the code are most
> likely an error due to incomplete refactoring. Such variables take up
> space in the code and can lead to confusion by readers.
This commit removes them. Fixes ESLint no-unused-vars errors using
airbnb/legacy config.
Suggested-by: marc <mharnos@gmail.com>
|
|
Using preset "airbnb".
|
|
Fixes ESLint vars-on-top errors using airbnb/legacy config.
|
|
Fixes ESLint id-length warnings. An exception is given to var "i",
because Airbnb's style guide says this is OK. A bug is in
eslint-config-airbnb, which the Airbnb style guide authors have not as
of today accepted to merge to fix the bug.
var "$" will be fixed later.
|
|
Events now fire faster. Fixes ESLint func-names warnings using
airbnb/legacy config.
|
|
Fixes ESLint vars-on-top errors using airbnb/legacy config.
|
|
Before this, JSCS would print an error about missing newline. This was
introduced in previous commit 24ce733.
|
|
Fixes ESLint vars-on-top errors using airbnb/legacy config.
|
|
Fixes ESLint id-length errors using airbnb/legacy config. Variable "i"
is ignored as an exception.
I've also avoided creating new errors with these changes, so this also
fixes some no-unused-vars and avoids creating vars-on-top errors.
|
|
Fixes ESLint id-length errors using airbnb/legacy config. Some arguments
were also unused, so this will also avoid introducing new no-unused-vars
lint errors.
|
|
This is a symptom of copy-paste code. A file would be uploaded, but it
would return the "Something went wrong" error message without telling
why.
Me, ewhal@ and bursey on IRC tried had a look to see what was wrong, but
none of us could catch this subtle bug. It wasn't until alchimist@
(cenci0) looked at this and found the issue. Thanks.
This bug was introduced in commit 2751811.
|
|
The unofficial Airbnb config (eslint-config-airbnb-es5) previously
thought this to be an error and so it was removed. The official Airbnb
config (airbnb/legacy) now works just like the ES6 config (airbnb).
Fixes ESLint comma-dangle errors using airbnb/legacy config.
This reverts commit 49d58d98f5866bb9ccc9069a16d131486f04bba2.
|
|
This is something I would disagree with, because this commit in my
opinion reduces readability. I am not going to reinvent the wheel and
write for humans, because I enjoy being a slave to ESLint.
Any complaints about this commit should be directed at Airbnb to fix
their style guide. Alternatively, a documented standard style guide
should be created for pantsu.cat, extending the Airbnb config.
This fixes ESLint no-multi-spaces errors using airbnb/legacy config.
|
|
Prefix jQuery object variables with a $
|
|
|
|
Previous commit 11e9d2d forgot to add the var declaration here.
Fixes ESLint no-undef warnings using Airbnb ES5 config.
|
|
Fixes ESLint no-undef warnings using Airbnb ES5 config.
|
|
Airbnb style guide recommends checking booleans this way or using
(!!window.FormData). The latter is more confusing for many.
While !! is indeed 0.2% faster than Boolean(), it's called
micro-optimization. There is no noticeable difference to the user in our
use scenario and I prefer more readable code any day.
Fixes ESLint no-undefined warning using Airbnb ES5 config.
Reference: https://jsperf.com/boolean-conversion-speed
|
|
The loadstart even is only triggered once to indicate the progress has
begun (initialize the progress bar). Essentially, this is dead code for
two reasons:
1. It never gets emitted because initProgressBar() gets emitted first.
2. No JavaScript file in pomf core uses the non-standard uploadstart
event.
|
|
Using anonymous functions with event handlers is painfully slow
according to benchmarks. Anonymous functions are up to 99% slower.
It is also illegal to use anonymous functions in this way according to
Airbnb ES5 style guide.
Fixes some ESLint func-names errors using Airbnb ES5 config.
Reference: https://jsperf.com/event-handler-vs-anonymous-function/3
|
|
Fixes ESLint no-param-reassing warning.
|
|
This fixes Airbnb ES5 style guide violations.
|
|
Until the code has been converted to ES6 in it's entirety, let's stick
to Airbnb's ES5 style guide so that ESLint won't complain.
This reverts commit e6f354a.
|
|
This newline was accidentally introduced in commit a17c446.
Fixes ESLint warning padded-blocks using Airbnb ES5 config.
|
|
Fixes ESLint radix warning using Airbnb ES5 config.
|
|
While JSCS and ESLint do not detect this yet as of today, my eyes do.
The Airbnb style guide wants to do this.
This commit doesn't prefix cabinet.js, but the next commit will while
addressing another issue.
|
|
This is a surprising one. JSHint and JSCS do not seem to mind the
previous indentation, but ESLint throws an error when using the Airbnb
style guide. The style guide itself doesn't seem to mention anything
about this directly.
What ever it is, this one pleases all three linters.
Fixes ESLint indent warnings using Airbnb ES5 config.
|
|
Fixes JSCS safeContextKeyword warnings using Airbnb preset.
|
|
Fixes JSCS disallowQuotedKeysInObjects warnings using Airbnb preset.
|
|
This adds commas to cheesesteak.js.
Something to note, the Airbnb ES5 style guide opposes a trailing comma.
The latest ES6 edition endorses adding a trailing comma, explaining it
leads to cleaner Git diffs. Endorse the ES6 standard, that's also the
Airbnb preset in JSCS.
Fixes JSCS requireTrailingComma warnings using Airbnb preset.
|
|
Airbnb says to use /** ... */ for multiline comments and // for single
line comments.
Fixes JSCS requirePaddingNewLinesBeforeLineComments and
validateIndentation warnings using Airbnb preset.
|
|
Thanks to ASI (Automatic Semicolon Insertion) in JavaScript, not using
individual var declarations can actually cause subtle bugs.
Fixes JSCS disallowMultipleVarDecl warnings using Airbnb preset.
Reference:
http://benalman.com/news/2012/05/multiple-var-statements-javascript/
|
|
Fixes JSCS validateQuoteMarks warnings using Airbnb preset.
|
|
Fixes JSCS disallowTrailingWhitespace warnings using Airbnb preset.
|
|
Fixes JSCS requirePaddingNewLinesAfterBlocks warnings using Airbnb
preset.
|
|
Fixes ESLint warning no-redeclare.
|
|
Fixes ESLint warnings about no-irregular-whitespace.
|
|
Fixes ESLint no-unused-expressions warning.
|
|
Fixes ESLint no-cond-assign warning.
-- Sat, 26 Sep 2015 --
10:38:42 +bursey | while (node = node.parentNode) is invalid
10:38:54 +bursey | should be while (node == node.parentNode)
10:40:38 +bursey | weird actually
10:40:55 +bursey | Elements tend to be "true" in js
10:41:16 +bursey | but if the parentNode is undefined, then it's
| false
10:41:50 +bursey | thus it doesn't loop infinitely
10:43:00 +bursey | actually, use === instead of ==
|
|
Reduces confusion and improves readability, despite not having yet
agreed on which JavaScript style guide to use.
|
|
Introduces client-side UPLOAD_ERR_MAX_SIZE and UPLOAD_ERR_FAILED
constants.
This reduces code duplication, which means less code smell.
|
|
There appears to be no such thing as a terrible scary bug that needs a
workaround in my Chromium 45.0.2454.85 browser to encode …. The
unobvious self-closing <div/> is also very questionable.
For what it's worth, … will encode correctly as long as you use
jQuery's .html() method – which it already did anyway.
OK ewhal@
|
|
OK ewhal@
|
|
This change may seem very subtle, but many screen readers will actually
behave differently.
Before this commit, a screenreader like JAWS may read "Grabbing URLs dot
dot dot". After this commit, JAWS may read "Grabbing URLs" and pauses
for a little longer.
Reference: http://www.deque.com/blog/dont-screen-readers-read-whats-scre
en-part-1-punctuation-typographic-symbols/
|
|
This compliments commit 7dca38c.
|
|
This cleans up a little bit of smelly code, which came from a copy-paste
job.
|