Problem: When getting watchers only to know whether a specific user is watching
the resource, checking every user, who watches the resource, has the proper
permission to read the resource is not necessary.
Solution: Add a boolean parameter to getWatcher() methods to tell whether
permission check is necessary.
This makes it two times faster, to get an issue with 19 comments, in a project
watched by 344 users.
Do not use jquery template for the url. We can't create a template
string by routes.CodeApp.codeBrowserWithBranch because the method
encodes path segments.
It is a kind of duplication with the routes file, but currently I think
there is no better way to solve this problem.
from pull-request 1514
* refs/heads/fix/incorrectly-selected-branch:
code: Do not show selected branch for a commit
code: Rename getBranchNames() to getRefNames()
Reviewed-by: 백기선
Mailbox Service is a service which fetches emails from the IMAP server
configured by imap.* and posts the emails.
If the email address to yobi is "yobi@mail.com":
* If a user want to posts an issue in project "my/proj", just send an
email to "yobi+my/project@mail.com". The email will be posted as an issue.
* Users can post a comment by replying to notification emails. It works
only if the notification email can accept replies; The footer of the
notification email describes the ability.
* If a user discuss using email with many people and you want that Yobi
records the discussion as an issue and comments in project "my/proj",
just add an address "yobi+my/proj@mail.com" in CC list. Note: But Yobi
will records only the emails from Yobi users.
* If a user don't know how to send emails he or she can send an email to
"yobi+help@mail.com". Then yobi replies with help messages.
Mailbox Service fetches emails in two ways: polling and listening.
* Listening - Yobi listens updates from the IMAP server and
process new emails immediately. Listening works only if the IMAP
server supports IDLE command.
* Polling - Yobi fetches new emails on the interval configured by
`application.mailbox.polling.interval`.
Yobi tries listening first and only if it fails tries polling.
If you want to know how to add the configuration for the IMAP server,
see the Mailbox Service section in conf/application.conf.default file.
AS-IS:
- The hook method in yobi.Markdown.js generates a auto-link.
- If user's input text matches the certain reference pattern, an auto-link is created without validation check.
- If user's all projects do not have a same name of found project, some link(ex: User#Num, User@SHA) will be broken.
TO-BE:
- MarkdownApp class is added to generate an auto-link.
- The link is created on server side.
- The hook method in yobi.Markdown.js is removed.
- If the target object(issue, commit, etc) of auto-link is not exsists, do not generate link.
Problem: Yobi sent a request to get a list of attachments for each
comments. It issued huge amount of requests when the user read an issue
with many comments.
Solution: Embed the list of attachments as a value of data-attachments
attribute and render the list by using javascript.
I expect the total requests will reduce by 41%.
Rename 'getAllBranches' to 'getBranches' because the method does not
return "all" branches since 8f79c9e. But there was already 'getBranches'
method. To avoid name conflict, rename the method to 'getBranchNames'.
Cause:
About `jquery.firefox.keyfix.js`, We do not know licenses and do not have any agreements to use `it`.
Also, `this` has many unnecessary codes.
Solution:
Deletes `jquery.firefox.keyfix.js`.
Writes new codes such as `this`.
Private-issue:1450