Giter VIP home page Giter VIP logo

web's Issues

Add links to github on ShareLaTeX

The website should explain that ShareLaTeX is open source and link back to github, possibly in the footer at the bottom of each page.

Parse and show logs from the .blg file as well as the LaTeX log

Biblatex/biber log any errors and warnings to the .blg file. We could download and parse this (it's a much nicer syntax than the LaTeX logs), and show any errors and warnings in the log pane, just like we do with errors and warnings from the LaTeX log.

At the moment this can trip people up because errors in biblatex stop the bibliography from showing up correctly, but no obvious errors or warnings are shown.

Hide private collaborators from public views

If a project is shared privately (read OR read+write) with someone but also shared publicly via URL, the public viewers should not be able to see the list of private collaborators.

HomePage Feature doesn't work (simple fix)

In app/coffee/Features/StaticPages/HomeController.coffee line 20 the res.render parameter is missing the .jade extension.

So the created homepage will not be rendered as line 9 expects the filename to be home.jade.

Auto compile doesn't work, rate limiter needs replacing

There is something wrong with the ratelimiter module which causes it to get its knickers in a twist. There are a few other rate limiter libs for node knocking about that can do the job as well. Should be a simple case of swapping them out. Needs to be redis backed so it can work in a load balanced env.

Add ldap authorization

It will be very usefull feature for private installation in organisation that already has ldap user base. There is node-ldapauth project on github that can be used to implement it.

Unicode characters above U+10000 make the editor go out of sync

Steps to reproduce: insert such a character, then place cursor to the right and press backspace.

Highlighting and deleting the character works. I suspect this is to do with a mismatch in treating strings as properly encoded, vs dealing with the raw length in bytes.

Example character: 

Add synctex support

It would be nice to be add forward and backward search support with synctex.
That is, cliking (+ctrl for example) on the text area would move the pdf viewer to the corresponding line, and conversely.
For compilation add "-synctex=1" to latexmk options.
This could support first the internal pdf viewer, but possibly pdf.js also.

Spell check splits words half way through

For example, the Slovenian word 'povprečje' is split into two words by the č character. At the moment I think we whitelist word characters (i.e. a-zA-Z) and use a special Regex code to match all 'alphanumeric' characters. This works for some accents, but clearly not all. Maybe we should switch to a black list, and only split on characters which are not _, {, }, , etc.

Share URLs point to wrong domain on local install

When sharing a project on a local install, the URL it gives is:

Share your project
You can share you project with your friends and colleagues via this URL:

https://www.sharelatex.com/project/5307c7e25b347be13c000007?r=a88083c2&rs=ps&rm=d

This URL should match the installed copy's URL.

Configuration of plans does not work

The default configuration of plans says 'unlimited' collaborators (-1), enabled history, and enabled Dropbox.

However none of these features are enabled/working on my local install, instead pushing me to a subscription page (which doesnt exist).

Change wording on project list page

For a project that is 'public read only', on the projects page (/project) it shows something like:

test
Last modified on February 21 2014 4:05 PM  -  Read Only  -  Owner

Glancing at this, I assume this means that it is read only for me. I suggest changing the wording to 'Public: Read Only' or something similar.

Similar for 'Public: Read and Write'.

Lost connection shows on changing page, mainly in firefox

When leaving the editor it is common for the "Lost connection" dialog to show up at the top of the page while the browser waits for the new page to load. This is much more common in firefox. It makes the site feel a bit wobbly.

Store document meta data in project

Many needed features work at a project rather than document level: auto-complete (issue #9 and #11), viewing an overall structure (issue #12), word-counting (issue #4). However, reading the contents of every document each time we want to do something with these is not feasible, so we should store extra meta-data for each document that can be quickly and easily accessed. Everytime the document changes this can be updated.

We should write some code to wrap the accessing of this meta data, so that each module (auto-complete, word count, etc) can just call a simple API.

Autocomplete references and labels

When typing a \cite or \ref command, there should be an autocomplete list of all references or labels available in the document.

This will require storing some metadata in the project, keeping track of the labels and citations in different files. Otherwise, the whole document would need scanned every time which is infeasible for large projects.

Tablet support

ShareLaTeX has not been tested on tablets. We've had reports of various devices working or failing, but not looked into it much. I suspect there will be many quick wins if someone can look into this and test the editor on a tablet.

Ignore commented lines when setting root doc

We set the root document automatically on uploaded files/templates by looking for a document that contains \documentclass. However, sometimes the wrong file is picked, very often because a class file or help file contains \documentclass. Generally when this happens, the `\documentclass' is actually commented out so that it is ignored by LaTeX. We should ignore it to.

Allow PDF viewer to load individual pages of PDFs

If we can modify the PDF viewer to be able to render individual pages without needing to download the entire PDF then the downloads will be much quicker. The functionality is already in PDF.js, but the viewer currently does a full scan through the document on load to determine page sizes which negates this. This is quite probably a big refactor to get working.

Allow users to choose a new password rather than sending them a new one

We should create a one-use token that allows people to come to ShareLaTeX and type in a new password rather than emailing them a new password.

This would be good for beginners since it's mostly simple server/client stuff, but we need to be careful with the security implementation. Patches welcome!

Compile current file if it is a top level document

At the moment we always compile the 'root document', but it makes sense to compile the current file if it is a top level document (has a \documentclass). This will require adding in an extra parameter in the socket.io call to allow the editor to override the root document when requesting a compile.

URL is wrong in share panel

When sharing a project on a local install, the URL it gives is:

Share your project
You can share you project with your friends and colleagues via this URL:

https://www.sharelatex.com/project/5307c7e25b347be13c000007?r=a88083c2&rs=ps&rm=d

This URL should match the installed copy's URL. This can be taken from the config file where the external site URL is specified.

Autocomplete across project

Autocomplete should pull in commands from across the project, not just the current file. More advanced snippets like \begin...\end complete would be great too.

PDF controls flicker on hover in Firefox

We've had reports of the PDF controls in the built-in pdf viewer flicker when hovered over in Firefox 27. This needs someone who can reproduce it and look into the javascript/jquery events that we're using to see if there are alternatives ways to listen for the hover than don't cause this problem.

Show a structural overview of the project

Many tex editors display an overview of the document with chapters, sections, subsections, figures, equations etc all displayed in an expanding and collapsing tree. Clicking on an entry should jump to the corresponding file and place.

Web app crashes if given an invalid user id cookie

The web process crashes if given an invalid user id cookie. To test, I simply logged in, deleted my user in mongo, then reloaded the page.

[2014-02-24T18:48:11.931Z]  INFO: web-sharelatex/8136 on boa-head: http request (req.remote-addr=216.159.211.98, res.content-length=72, res.response-time=2)
    GET / HTTP/1.1
    --
    req.user-agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107 Chrome/32.0.1700.107 Safari/537.36
[2014-02-24T18:48:12.240Z]  INFO: web-sharelatex/8136 on boa-head: mongo request (request_id=6, collection=sharelatex.users, response-time=2)
    query: {
      "_id": "530b920271bd00711e000005"
    }
[2014-02-24T18:48:12.244Z]  INFO: web-sharelatex/8136 on boa-head: project list timer - User.findById (user_id=530b920271bd00711e000005, duration=10)
Exception: TypeError: Cannot read property '_id' of null
    at Promise.<anonymous> (/home/boa/sharelatex/web/app/js/controllers/ProjectController.js:59:61)
    at Promise.<anonymous> (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mpromise/lib/promise.js:162:8)
    at Promise.EventEmitter.emit (events.js:95:17)
    at Promise.emit (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mpromise/lib/promise.js:79:38)
    at Promise.fulfill (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mpromise/lib/promise.js:92:20)
    at /home/boa/sharelatex/web/node_modules/mongoose/lib/query.js:1784:30
    at /home/boa/sharelatex/web/node_modules/mongoose/lib/utils.js:414:16
    at /home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js:953:5
    at /home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:683:35
    at Cursor.close (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:903:5)
    at Cursor.nextObject (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:683:17)
    at commandHandler (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:658:14)
    at /home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1670:9
    at Server.Base._callHandler (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:382:41)
    at /home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:472:18
    at MongoReply.parseBody (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at null.<anonymous> (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:430:20)
    at EventEmitter.emit (events.js:95:17)
    at null.<anonymous> (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:191:13)
    at EventEmitter.emit (events.js:98:17)
    at Socket.<anonymous> (/home/boa/sharelatex/web/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:384:22)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Socket.<anonymous> (_stream_readable.js:746:14)
    at Socket.EventEmitter.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:408:10)
    at emitReadable (_stream_readable.js:404:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at Socket.Readable.push (_stream_readable.js:127:10)
    at TCP.onread (net.js:528:21)
-> completed /home/boa/sharelatex/web/app.js (5371ms)

Theme previews don't match actual themes

We have a set of images used to preview the editor themes in the settings page. However, due to the introduction of a different syntax highlighter, and newer themes from Ace, these no longer match the actual themes on offer.

Provide a comment system for commenting on tex files

Allow users to leave comments and messages for their collaborators within the documents. Coming back to the editor after a while should show you any new comments, and they should probably be hidden once read.

The easiest way to implement this might be to store the comment directly in the .tex file as a tex comment, with some meta data to assign it to a user/timestamp. This would mean there is no issue with keeping the comments up to date when updates come in from Dropbox etc, and would also allow the comments to be accessible offline.

mongo error - "Error: no open connections"

We occasionally get the following error

Error: no open connections

mongojs/node_modules/mongodb/lib/mongodb/db.js:1486
mongojs/node_modules/mongodb/lib/mongodb/db.js:166
mongojs/node_modules/mongodb/lib/mongodb/cursor.js:674
mongojs/index.js:87

highlighting file names when renaming up to full stop

When changing a file name, the system attempts to "pre-highlight" everything in the file name except for the extension, which is great. The issue is that the system only pre-highlights everything to the first period, not the last. So, if the name looks like: "screenshot-1.2.3.4.png", only the letters "screenshot-1" are highlighted, rather than "screenshot-1.2.3.4". It everything except the very last period, except in rare cases like ".tar.gz" file extensions.

cannot display homepage

The first time I installed sharelatex on my local computer, the homepage could be displayed, later I deleted the repository folder and cloned again then installed, this time homepage is gone, always redirected to login page.

Btw. I also cannot login as admin, when I tried to log onto admin page, it always said restricted. I think there should be an admin account, but I do not know how to set it up. I am totally newbie to node.

Allow end user to clear compile directory/cache/aux files

It's possible for LaTeX to get stuck in a state where the aux files need clearing. This can done with a DELETE request to http:///project/, but is not hooked into the user interface yet. Adding a dropdown to the 'Recompile' button with this option is probably the best way, and have this call an HTTP end point which is proxied to the CLSI.

Public users see 'you do not have permission'

When sharing a project publicly for reading (not writing), via a URL, if that person is not logged in they can click on project settings.

Two of the 3 pages there ('General' and 'Delete project') are shown, but give an error:

You do not have permission to modify these settings.

It would make more sense to just hide these pages from the user. Or at the very least, suggest they log in to gain access to that feature.

Editor word-wrapping is poor

The editor ( https://github.com/ajaxorg/ace‎ ) word wraps between the end of a word and the full stop, and makes other poor choices. It's clearly set up to be a code editor, but ShareLaTeX is mostly used to write prose. This may or may not be a simple fix in the Ace editor.

Cursor jumps lines when collaborators make new lines

The first step in solving this is to create a reproducible situation, which would be a great way for someone new to the project to contribute.

Some comments from end users who have reported this:

when doing a lineshift, the curor jumps to the line above, and writes there instead.

and

The initial thoughts when seeing it is that the text and the cursor is seperated. When scroling it realligns and the cursor is where supposed to be.
I think a way to stress it is to let one person write passively (not
scroling, just writing), and then let another collaborater do changes
earlier on in the document, that mkes the lines jump."

Canceling 'Public Read+Write' always sets back to 'Private'

Steps to reproduce:

  1. set a project to 'Public - Read Only' (accept the dialog box by clicking OK)
  2. set a project to 'Public - Read and Write'
  3. Click cancel on the dialog box

Observed behavior: the project is now set private
Expected behavior: the action should be canceled, and thus no setting changed -> the project should be public+RO

Local install has missing pages

When visiting the url '/user/subscription' on my local ShareLaTeX install, I get an error page:

Sorry, we can't find the page you are looking for.

A similar issue occurs with the templates page '/templates' but may be unrelated (I can file as a separate bug if it is).

Under 'Account -> Subscription' on the top-right of the page.

Also when trying to use things like History or Dropbox (it forwards there).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.