Commit Graph

508 Commits (1401132c7364a51d13c01b0a3ee01e06b539437b)

Author SHA1 Message Date
Martin Zimmermann 3b248b293f set SMTP timeout to 10 seconds and make it configurable, ref 9a735e8
10 years ago
Martin Zimmermann 72c38c2312 set day_diff to 0 if negative, related to #69
10 years ago
Martin Zimmermann 9a735e8eac initial SMTP connection now timeouts after 5 seconds, closes #70
10 years ago
Martin Zimmermann 9272e7390f Merge branch 'feature/configurable-markdown', closes #62
11 years ago
Martin Zimmermann 1b0a74e188 expand db path, closes #68
11 years ago
Martin Zimmermann d93d77c8c7 refactor markup and sanitization code
11 years ago
Martin Zimmermann 6071a85787 add `Config.getlist` method
11 years ago
Martin Zimmermann 3d9665b523 remove now obsolete Makefile
11 years ago
Martin Zimmermann 1c3c826ada replace requirejs-domready with a (self-made) HTML5 idiom, #51
11 years ago
Martin Zimmermann f3e5d8dc1c add support for html5lib==0.95, fixes #60
11 years ago
Martin Zimmermann 14a2f82134 s/tls/starttls/
11 years ago
Jocelyn Delande cbf63f5a4e default smtp to port=587 and security=starttls
11 years ago
Martin Zimmermann baff120800 fix french pluralform
11 years ago
Martin Zimmermann cbd449dcd0 Merge branch 'transifex'
11 years ago
Martin Zimmermann 3a1f92b8bd use html5lib's sanitizer, supersedes 3713d5e
11 years ago
Martin Zimmermann 3713d5e8ee allow raw HTML markup for a few (whitelisted) tags
11 years ago
Martin Zimmermann 36d702c7bc proper use of Misaka's HTML render flags (fix malicious HTML injection)
11 years ago
Martin Zimmermann dcd473967b Merge branch 'remove-q-lib'
11 years ago
Martin Zimmermann 6006a12778 fix wrong logic when vote counter stays at zero (e.g. self-vote)
11 years ago
Martin Zimmermann 306d2d9f9e log 5xx errors
11 years ago
Martin Zimmermann a29393ee3f replace kriskowal/q with 50 LoC homebrew implementation, part of #51
11 years ago
Martin Zimmermann bfae158bde update translations from Transifex (initial pull)
11 years ago
Martin Zimmermann 9dd066c6a6 reflect security = ... in docs and print warning if used
11 years ago
Chimo 658e065f23 Adds STARTTLS support to SMTP notifications
11 years ago
Martin Zimmermann 85e637d017 simplify JSON response
11 years ago
Martin Zimmermann 905bd63eee CORS middleware must return bytes
11 years ago
Martin Zimmermann 82da63a81b check if hash is a base-16 string
11 years ago
Martin Zimmermann e244227f41 convert proxy object to string before passing to urllib
11 years ago
Martin Zimmermann cbee3f7b2e clarify copyright headers
11 years ago
Martin Zimmermann a728d3e32d add doctest for IPv6 mapped IPv4 addresses
11 years ago
Martin Zimmermann 2a86b46893 add test for disqus import
11 years ago
Martin Zimmermann f81b955aa5 use SHA1 instead of MD5 to verify comment owner
11 years ago
Martin Zimmermann 29a825b575 remove unused utility functions
11 years ago
Martin Zimmermann 65f260d0ba show session-key on application startup
11 years ago
Martin Zimmermann a4213e4304 update docstrings for isso.db
11 years ago
Martin Zimmermann c99fe3d583 remove unused SQLite3.mode attribute
11 years ago
Martin Zimmermann fcd0a01de3 make_app uses threading.Lock now by default
11 years ago
Martin Zimmermann 9db762ad5e italian translation by alzeco
11 years ago
Martin Zimmermann 525b2db6f1 fix french pluralization
11 years ago
Martin Zimmermann 150726df13 Merge branch 'feature/27', override thread id
11 years ago
Martin Zimmermann 77df31d06f override thread discovery with data-isso-id="...", close #27
11 years ago
Martin Zimmermann 79112940e6 reduce heading size in comments, fix #26
11 years ago
Martin Zimmermann c5daa66c82 remove old CSS rule
11 years ago
Martin Zimmermann 990688f6e0 Merge branch 'fix/multsite'
11 years ago
Martin Zimmermann adc722359d move application export to isso.run
11 years ago
Martin Zimmermann b15f17738e isso.dispatch now dispatches multiple sites based on relative URLs
11 years ago
Martin Zimmermann ac74418179 move dispatch into isso package
11 years ago
Martin Zimmermann fc984bb656 add Date header, close #42
11 years ago
Martin Zimmermann 232e2fb474 another approach to fix #40 (return 403 on false Content-Type)
11 years ago
Martin Zimmermann 1db06bbf39 Revert "HTTP Origin is only sent on cross-origin requests in Firefox"
11 years ago
Martin Zimmermann b839b2be31 HTTP Origin is only sent on cross-origin requests in Firefox
11 years ago
Laurent Arnoud 02db978308 Add check with blank text
11 years ago
Martin Zimmermann 6f504ee8f5 show modal dialog before delete or activate comments, close #36
11 years ago
Martin Zimmermann 83b48d5db6 use el.getAttribute instead of el.dataset to support IE10 m(
11 years ago
Martin Zimmermann 9a03cca793 use Referer instead of Origin when using IE
11 years ago
Martin Zimmermann 4c16ba76cc fix unittests
11 years ago
Martin Zimmermann 32e4b70510 check if Origin matches Host to mitigate CSRF, part of #40
11 years ago
Martin Zimmermann 6e31111554 add application object into ns only when using uwsgi and gunicorn
11 years ago
Martin Zimmermann baabd30e74 more descriptive logging
11 years ago
Martin Zimmermann ce950259b4 show traceback when smtp connection failed
11 years ago
Martin Zimmermann 896b4f5e33 support for gunicorn (and other pre-forking wsgi servers)
11 years ago
Martin Zimmermann aa65873fa6 uWSGI works also with multiprocessing.Lock
11 years ago
Martin Zimmermann 6405f258f3 replace nested middleware calls with reduce and partials
11 years ago
Martin Zimmermann c9c0df229a Merge branch 'feature/info'
11 years ago
Martin Zimmermann 8dac5375b6 add /info view for debugging purposes
11 years ago
Martin Zimmermann 5449b0cea4 add route for comment activation
11 years ago
Martin Zimmermann 63a7df1099 translate deletion and activation links
11 years ago
Martin Zimmermann 598b08bd1c add russian translation
11 years ago
Martin Zimmermann 8196f3f465 remove unnecessary imports
11 years ago
Martin Zimmermann 17aa3e6fc5 use english text for mail notifications
11 years ago
Martin Zimmermann b9158a660c move SocketHTTPServer to isso/wsgi.py
11 years ago
Martin Zimmermann 9c94e66702 add fr.js to i18n module, appendum to #38
11 years ago
Martin Zimmermann aeb7c35d8f override useragent's language with data-isso-lang
11 years ago
Martin Zimmermann 2e9c21db15 add X-Origin to GET requests, so isso.dispatch works on a single host
11 years ago
Martin Zimmermann b21e216b06 mv app/fancy to /app/lib/fancy
11 years ago
Martin Zimmermann edafc5f88f client configuration for reply-to-self
11 years ago
Martin Zimmermann 64c0d770c6 remove edit and remove buttons when comment is marked as deleted
11 years ago
Martin Zimmermann 519112a8fc add some documentation
11 years ago
Martin Zimmermann 320cb7313f upgrade notifications for old configuration values
11 years ago
Martin Zimmermann 2446e6ac6a Merge pull request #38 from sploinga/master
11 years ago
Sploinga 5a20a4a4bf French translation
11 years ago
Martin Zimmermann 5e7ee3dffd use <link> tag to extract the relative post url, fixes #37
11 years ago
Martin Zimmermann 0be3c69e1d Merge branch 'fix/spam-guard'
11 years ago
Martin Zimmermann d4e7ee134d add option reply-to-self, defaults to false
11 years ago
Martin Zimmermann 9f2062a900 fix #35
11 years ago
Martin Zimmermann 5cbda11158 Merge branch 'fix/bloomfilter'
11 years ago
Martin Zimmermann 6178e93348 add database migration
11 years ago
Martin Zimmermann 58645ca945 do not reference bytearray in a method definition, fixes #5
11 years ago
Martin Zimmermann dfed955f23 Merge branch 'feature/migration'
11 years ago
Martin Zimmermann d4f2123b58 Merge branch 'tmp/refactorization'
11 years ago
Martin Zimmermann 6e85c54a2e refactor views and introduce an API for notifications
11 years ago
Martin Zimmermann 162fe78aa6 ask to continue import if DB is not empty
11 years ago
Martin Zimmermann 5ca3137ddd add --dry-run option to import command
11 years ago
Martin Zimmermann a8cd418b5e remove website todo, not a high priority
11 years ago
Martin Zimmermann 850b2b4bfb set mode to 4 (deleted) when isDeleted is true
11 years ago
Martin Zimmermann 8c0af3b10f show orphan comments after Disqus import (if any)
11 years ago
Federico Ceratto 68be70af24 Support Python2 ipaddr library.
11 years ago
Martin Zimmermann a442b8e0ee remove dead code
11 years ago
Martin Zimmermann ab5d907172 move comments.requires to views package
11 years ago
Martin Zimmermann 1174259b27 mv comment -> comments
11 years ago
Martin Zimmermann ac8d987392 don't monkeypatch if uwsgi is available
11 years ago
Martin Zimmermann 6f3a2d8072 add an option to prevent Isso from appending the default CSS, closes #29
11 years ago
Martin Zimmermann c06c11aeca api.js parses custom data attributes for client configuration, part of #29
11 years ago
Martin Zimmermann 4bb6e91f61 Isso can now listen on unix domain sockets, closes #25
11 years ago
Martin Zimmermann 6374d8a9e1 fix application profiling
11 years ago
Martin Zimmermann 0a247a7927 data-isso-prefix is now ony data-isso
11 years ago
Martin Zimmermann 33fb15e241 rename data-prefix to data-isso
11 years ago
Martin Zimmermann af6695e935 lowercase MiddleWare and fix TypeError in Headers
11 years ago
Martin Zimmermann 4950e7dd4d add unittest for CORS headers
11 years ago
Martin Zimmermann aa6665c8f0 fix endpoint detection when using require.js
11 years ago
Martin Zimmermann 8d1171df29 improve request decoding and json parsing
11 years ago
Martin Zimmermann 6691810316 handle cross-origin cookies with a custom header X-Set-Cookie, fix #24
11 years ago
Martin Zimmermann 05c8b571e2 requirejs-text now uses CORS XHR requests to static files
11 years ago
Martin Zimmermann 6126f0ec6f add CORS middleware to add CORS header to *all* requests
11 years ago
Martin Zimmermann e14a04ab6c support for werkzeug 0.8 (Python2-only)
11 years ago
Martin Zimmermann 312578457b uwsgi can only cache bytes
11 years ago
Martin Zimmermann cc2ac11850 inline CSS
11 years ago
Martin Zimmermann d8a254c304 fix api endpoint detection
11 years ago
Martin Zimmermann d59fc2ef8e handle OPTIONS request and return CORS headers
11 years ago
Martin Zimmermann c581e0f05a cache email hash on comment creation
11 years ago
Martin Zimmermann c567758d81 limit email length to 254 to avoid hash-DDoS
11 years ago
Martin Zimmermann 0473afe2db add profiling option to server configuration
11 years ago
Martin Zimmermann 3c193bef27 request remote_addr only when using the comment form
11 years ago
Martin Zimmermann 7e73986667 remove trailing slash from API endpoint, appendum to 8da9d0b
11 years ago
Martin Zimmermann 375b32a151 Merge branch 'feature/data-attributes'
11 years ago
Martin Zimmermann 8da9d0b13b override API location with `data-prefix="..."`
11 years ago
Martin Zimmermann 0d07515c18 override HTML title parsing with a `data-title="...` attribute
11 years ago
Martin Zimmermann fa496669e2 use lowercase [smtp] as written in the docs
11 years ago
Martin Zimmermann 54413dfcf3 add copyright header to embed.js (and it's MIT not BSD)
11 years ago
Martin Zimmermann c5d52721c4 use cache.delete a) with an actual key and b) only on delete
11 years ago
Martin Zimmermann 2b7d263735 only create a reply box when needed
11 years ago
Martin Zimmermann cac4694f43 cache PBKDF2 hash, closes #18
11 years ago
Martin Zimmermann 74ab58167e replace abort(code) with proper exceptions and refactor request dispatch
11 years ago
Martin Zimmermann 2794734258 remove Jinja2 dependency
11 years ago
Martin Zimmermann dea4c88162 remove admin interface fragments
11 years ago
Martin Zimmermann 2cac3f0567 detect Isso API endpoint when using *.dev.js script
11 years ago
Martin Zimmermann e08e7be464 remove stale threads after all comments have been deleted
11 years ago
Martin Zimmermann a658021f7e fix unittest for 1358fac and extend internal documentation
11 years ago
Martin Zimmermann 1358fac258 fix empty thread title due premature HTTP connection closing
11 years ago
Martin Zimmermann 55b6b283b8 use uWSGIs locking
11 years ago
Martin Zimmermann 9a8e0b524e build notify mail with first hostname
11 years ago
Martin Zimmermann 0c7a4e44f9 disable werkzeug connection log
11 years ago
Martin Zimmermann 1518bae5ba IE10 does not support classList on SVG elements m(
11 years ago
Martin Zimmermann 32f83160d6 config.js is not necessary in post.html
11 years ago
Martin Zimmermann 5689143c4a remove button no longer resets after 1.5s, part of #17
11 years ago
Martin Zimmermann bbccfe9def include post.html in snapshot release and remove old css
11 years ago
Martin Zimmermann 876dd402a6 remove bootstrap
11 years ago
Martin Zimmermann 84da660ca9 update sample post
11 years ago
Martin Zimmermann c3b6e0319e use SVG to render identicon so the browser can auto-resize the image
11 years ago
Martin Zimmermann b672dae624 allow multiple hosts, e.g. HTTP and HTTPS sites
11 years ago
Martin Zimmermann cb40c7ca42 improve doctests and refactor title extraction
11 years ago
Martin Zimmermann 89b1ca8846 doctests for utils.anonymize(remote_addr)
11 years ago
Martin Zimmermann 527b349fbe use python's logging module
11 years ago
Martin Zimmermann 11293a504b utils.parse now returns a triple (host, port, ssl)
11 years ago
Martin Zimmermann acbf42f89d fix SMTP connectivity test, appendum to a8d0670
11 years ago
Martin Zimmermann 94b1fef28e rewrite CONFIGURATION.md in reST and extend document
11 years ago
Martin Zimmermann 2db98d0d34 move http utils in separate module
11 years ago
Martin Zimmermann 48b4c9f9a5 purge comments in moderation queue after given time, closes #13
11 years ago
Martin Zimmermann a8d0670db7 fix PEP-8 minors
11 years ago
Martin Zimmermann 4f5b247ed1 delete comments via mail
11 years ago
Martin Zimmermann 5b52cbdfa6 skip empty Disqus threads
11 years ago
Martin Zimmermann 66ade6df14 remove semantic article, header and footer tags to avoid CSS collisions
11 years ago
Martin Zimmermann b691579bad test if #isso-thread exists
11 years ago
Martin Zimmermann 5d0cad4272 use proper email header encoding
11 years ago
Martin Zimmermann e8d62e5db1 fix import regression from 11246f5
11 years ago
Martin Zimmermann a2c3ecb131 remove behave.js
11 years ago
Martin Zimmermann 11246f51dc support for moderated comments, part of #13
11 years ago
Martin Zimmermann 79f8c1157e show N days ago instead of previous week
11 years ago
Martin Zimmermann 61a486d2ea support for Python 3.3
11 years ago
Martin Zimmermann f9133b984e use configparser backport to support python2.6 again
11 years ago
Martin Zimmermann 988d2032c5 replace blank identicon with ghosts
11 years ago
Martin Zimmermann 2557c02117 Merge branch 'feature/spam-guard'
11 years ago
Martin Zimmermann 1034d5016e document app/dom.js
11 years ago
Martin Zimmermann 8967fd733e hide reply button when it is not possible to reply
11 years ago
Martin Zimmermann ab618ad898 add basic spam protection
11 years ago
Martin Zimmermann 6eab8ad5ca support for uWSGI
11 years ago
Martin Zimmermann 9ce965440a toggle next state, when submit was succesful
11 years ago
Martin Zimmermann 0abb8ed658 remove edit and remove buttons when cookie is gone
11 years ago
Martin Zimmermann 0b8cac7f18 implement comment editing
11 years ago
Martin Zimmermann 6242d243c9 update cookie after editing a comment
11 years ago
Martin Zimmermann 75f172f4ae textarea auto resize
11 years ago
Martin Zimmermann 80e8ce7e25 more i18n
11 years ago
Martin Zimmermann 57a16acff4 use promise lib correctly
11 years ago
Martin Zimmermann e4f9b53668 minor CSS improvement to input and submit fields
11 years ago
Martin Zimmermann 2f6f4bc338 stylesheet injection
11 years ago
Martin Zimmermann de25af5467 exclude svgs from count.min.js
11 years ago
Martin Zimmermann fd18ea9eab split i18n messages
11 years ago
Martin Zimmermann ef463eb517 API endpoint detection for count.min.js
11 years ago
Martin Zimmermann a7cc1cdf4d move scss to isso/css/
11 years ago
Martin Zimmermann b1e33bdce5 split 3rd-party packages to vendor and components
11 years ago
Martin Zimmermann b36e2fdb28 COMMIT ALL THE THINGS
11 years ago
Martin Zimmermann 4f03b3faf9 re-license to MIT
11 years ago
Martin Zimmermann 560e73cc0a rewrite db backend
11 years ago
Martin Zimmermann 52f64dd26f improve url exists detection for new comment threads
11 years ago
Martin Zimmermann 30fa254023 connect to SMTP on-demand
11 years ago
Martin Zimmermann 98ab6d205a anonymize IP if passed as ::ffff.1.2.3.4 correctly
11 years ago
Martin Zimmermann 88a7d40bea send `null` instead of the empty string
11 years ago
Martin Zimmermann b744e2fe39 use SSL for https://
11 years ago
Martin Zimmermann 3eeb686d5f update stylesheet link
11 years ago
Martin Zimmermann 2ee47bd902 return 404 when creating a comment for a non-existing URI
11 years ago
Martin Zimmermann 021b672ee2 use only first 3 bytes from an IPv6 address
11 years ago
Martin Zimmermann 7ed5d6461e add ProxyFix WSGI middleware for real IP and remove dead code
11 years ago
Martin Zimmermann adb3d40c03 send notification for new comments
11 years ago
Martin Zimmermann 9edd34d079 fix typos
11 years ago
Martin Zimmermann 0f7516edb4 always announce CORS, fix 3218e16
11 years ago
Martin Zimmermann 27022af1e6 update README, added docs/API.md draft
11 years ago
Martin Zimmermann 5759513fcd remove old stuff and trim output from utils.heading
11 years ago
Martin Zimmermann 27ba6d795f extend utils.ago to handle dates beyond 31 days
11 years ago
Martin Zimmermann 63f03e1111 disqus import now sets the comment creation date correctly
11 years ago
Martin Zimmermann 3218e16532 add CORS support
11 years ago
Martin Zimmermann 45d4e18aef new /count?uri=path and count.js
11 years ago
Martin Zimmermann 1105e3e016 don't shrink textarea on blur
11 years ago
Martin Zimmermann 10c65561ed mv /client to /js
11 years ago
Martin Zimmermann 83f7c0201f use almond.js for single file output
11 years ago
Martin Zimmermann 88b77ffa2d show markdown by default
11 years ago
Martin Zimmermann b65b86d664 fix german utils.ago strings
11 years ago
Martin Zimmermann 9484a8fa6f add heading 'Kommentieren' etc.
11 years ago
Martin Zimmermann 18ebf6f95a disable threading, use processes
11 years ago
Martin Zimmermann 3037f5926d clean imports and remove old code
11 years ago
Martin Zimmermann 56ea90d7e0 JavaScript Identicons (awww), closes #8
11 years ago
Martin Zimmermann bebda530b6 clear comment that still has references
11 years ago
Martin Zimmermann 413fb0c9a6 automatically update time(ago) every minute
11 years ago
Martin Zimmermann fa277c98c1 disable scrollIntoView
11 years ago
Martin Zimmermann 20f82dcfcd fix disqus import
11 years ago
Martin Zimmermann aecab5cf01 scoll into view
11 years ago
Martin Zimmermann f0c1574c15 remove stale comments from DB, closes #9
11 years ago
Martin Zimmermann f1ffe444bc don't remove root msg box on submit, but clear fields
11 years ago
Martin Zimmermann 449c838be3 REMOTE_ADDR is not unicode
11 years ago
Martin Zimmermann 5cad8fb8b5 clean db interface and comment model
11 years ago
Martin Zimmermann c7ee35423b implement db backend for votes/likes #5
11 years ago
Martin Zimmermann 11c6e4d720 remove email column
11 years ago
Martin Zimmermann 59706815e7 add comment.hash to recognize user by email or ip fallback
11 years ago
Martin Zimmermann 35926037a6 fix tests
11 years ago
Martin Zimmermann f6271e5cf6 commit work in progress
11 years ago
Martin Zimmermann 7e6fa0438b use argparse and configparser
11 years ago
Martin Zimmermann 2d075f867a move code around™
11 years ago
Martin Zimmermann cb20f159fb add bootstrap 2.3.2
11 years ago
Martin Zimmermann dd4ba9263a refactor all the things (use werkzeug instead of NIH to handle WSGI)
11 years ago
Martin Zimmermann 76d6d46521 add progress bar to migration
11 years ago
Martin Zimmermann 57fa577e54 whatever I made there
11 years ago
posativ 26c74cb521 admin.js now used isso.js as API
12 years ago
posativ 261f2fe18e introduce namespaces for JS and trying to escape the pyramid of doom
12 years ago
posativ 525a2828c5 fix Makefile and move utilities to js/utils.js
12 years ago
posativ a753045f8b some documentation and move login to /admin/
12 years ago
posativ 588a8c306b approved comments now move to recent comments
12 years ago
posativ 65c2fce636 better admin 'theme', 304 Not Modified support and minor improvements
12 years ago
posativ eaaf1f4653 moar syntactic sugar
12 years ago
posativ 8e2e90ed4e add threaded WSGI server mixin to check URL existence on same host :>
12 years ago
posativ 63b990838d fix tests
12 years ago
posativ a4514e1f91 rewrite using NIH
12 years ago