Commit Graph
29 Commits
Author SHA1 Message Date
21ed4fd8da Add warning for BIDI characters in page renders and in diffs (#17562)
Fix #17514

Given the comments I've adjusted this somewhat. The numbers of characters detected are increased and include things like the use of U+300 to make à instead of à and non-breaking spaces.

There is a button which can be used to escape the content to show it.

Signed-off-by: Andrew Thornton <[email protected]>
Co-authored-by: Gwyneth Morgan <[email protected]>
Co-authored-by: silverwind <[email protected]>
Co-authored-by: wxiaoguang <[email protected]>
2022-01-07 02:18:52 +01:00
GustedandGitHub 96ec656cf1 perf: sent data-path once for each file (#17657)
- Don't sent it with each line, instead send it at the top-element for each file.
- Related:
https://github.com/go-gitea/gitea/pull/17618#issuecomment-968192761

2.5K Additions:
No-Patch:
Unified: 2.14 MB (2.14 MB size)
Split: 2.59 MB (2.59 MB size)

Patch:
Unified: 2.10 MB (2.10 MB size) (-1.8%)
Split: 2.55 MB (2.55 MB size) (-1.5%)
2021-11-19 10:28:27 +08:00
zeripathandGitHub bbffcc3aec Multiple Escaping Improvements (#17551)
There are multiple places where Gitea does not properly escape URLs that it is building and there are multiple places where it builds urls when there is already a simpler function available to use this.
    
This is an extensive PR attempting to fix these issues.

1. The first commit in this PR looks through all href, src and links in the Gitea codebase and has attempted to catch all the places where there is potentially incomplete escaping.
2. Whilst doing this we will prefer to use functions that create URLs over recreating them by hand.
3. All uses of strings should be directly escaped - even if they are not currently expected to contain escaping characters. The main benefit to doing this will be that we can consider relaxing the constraints on user names and reponames in future. 
4. The next commit looks at escaping in the wiki and re-considers the urls that are used there. Using the improved escaping here wiki files containing '/'. (This implementation will currently still place all of the wiki files the root directory of the repo but this would not be difficult to change.)
5. The title generation in feeds is now properly escaped.
6. EscapePound is no longer needed - urls should be PathEscaped / QueryEscaped as necessary but then re-escaped with Escape when creating html with locales Signed-off-by: Andrew Thornton <[email protected]>

Signed-off-by: Andrew Thornton <[email protected]>
2021-11-16 18:18:25 +00:00
GustedandGitHub 8eddb75508 perf: only generate data-comment-url once (#17618) 2021-11-14 00:28:57 -05:00
bcb7f35221 Do not reload page after adding comments in Pull Request reviews (#13877)
Fixed #8861 
* use ajax on PR review page

* handle review comments

* extract duplicate code

FetchCodeCommentsByLine was initially more or less copied from fetchCodeCommentsByReview. Now they both use a common findCodeComments function instead

* use the Engine that was passed into the method

Co-authored-by: 6543 <[email protected]>
Co-authored-by: Lunny Xiao <[email protected]>
Co-authored-by: Lauris BH <[email protected]>
2021-01-08 23:49:55 +02:00
47e4d1a4e2 Reply button is not removed when deleting a code review comment (#13774)
Co-authored-by: mrsdizzie <[email protected]>
2020-12-03 17:05:27 +02:00
silverwindandGitHub 05efb33595 Various style tweaks (#13418)
- Change code review '+' to SVG and increase size slightly
- Set placeholder color in both themes
- Set proper font for textareas
- Fix black code in arc-green
- Various arc-green fixes
2020-11-04 20:51:17 -05:00
silverwindandGitHub 62719cdd2d Fix whitespace rendering in diff (#13415)
- Introduce new .code-inner class that sets the CSS attributes on
rendered code lines like view,blame and diff.
- Rename .wrap class to .word-break to reflect what it actually does
- Remove .raw which was only used on webhook page
- Set white-space: pre-wrap except on blame where it can break the
layout

Fixes: https://github.com/go-gitea/gitea/issues/13406
2020-11-04 09:14:07 +02:00
4617bb689b Misc UI fixes, add secondary color (#13378)
* Misc UI fixes, add secondary color

- Add secondary color, primarily used in arc-green currently
- Convert icons on release page to SVG
- Improve resolved conversation placeholder
- Diff fixes on arc-green
- Misc color tweaks

* fix comment header, adjust arc-green dropzone

* label margin, sidebar margin

* flexbox commits table and add primary button styles

* tooltip styles

* file header fixes

Co-authored-by: Lauris BH <[email protected]>
Co-authored-by: zeripath <[email protected]>
2020-11-01 15:04:26 -05:00
ffddf3f8a6 Make SVG size argument optional (#12814)
Now defaults to 16 on both frontend and backend.

Co-authored-by: techknowlogick <[email protected]>
2020-09-11 16:19:00 -04:00
zeripathandGitHub 96add8c319 Do not show arrows on comment diffs on pull comment pages (#12434)
* Do not show arrows on comment diffs on pull comment pages

Prior to this PR it was possible that an expansion arrow could be displayed
on comment diffs displayed on the comments pages of pulls

These arrows would not successfully work because they were not attached to
a commit id - nor can they necessarily be.

This PR prevents these from being shown.

Fix #10851

Signed-off-by: Andrew Thornton <[email protected]>

* as per @silverwind

Signed-off-by: Andrew Thornton <[email protected]>

* one more indentation fix

Signed-off-by: Andrew Thornton <[email protected]>

* one more indentation fix

Signed-off-by: Andrew Thornton <[email protected]>
2020-08-08 09:22:34 +08:00
84a419de98 Replace code fold icons with octicons (#12222)
- replace font-awesome icons with octicons
- clean up js and css surrounding the code expansion and file folding
- fix hover color on arc-green
- tweak diff line number colors

Co-authored-by: zeripath <[email protected]>
2020-07-13 16:21:19 +03:00
mrsdizzieandGitHub a6168fa25d Make copy/paste work for source code (#12191)
* Make copy/paste work for source code

Fix regression casued by #12047 so copy/paste works properly in all browsers.

Fixes #12184

Also while looking at this I saw a small display issue for blame view. I think #12023 was merged into original PR through an update branch before #12047 was merged and made one of the css ruules not apply anymore.

* use pseudo-element to prevent copying of comment + symbol even when not visually selected

* remove added newline here should not be necessary anymore

* make sure empty line is newline so there is something to select and copy
2020-07-08 22:02:38 +01:00
af7ffaa279 Server-side syntax highlighting for all code (#12047)
* Server-side syntax hilighting for all code

This PR does a few things:

* Remove all traces of highlight.js
* Use chroma library to provide fast syntax hilighting directly on the server
* Provide syntax hilighting for diffs
* Re-style both unified and split diffs views
* Add custom syntax hilighting styling for both regular and arc-green

Fixes #7729
Fixes #10157
Fixes #11825
Fixes #7728
Fixes #3872
Fixes #3682

And perhaps gets closer to #9553

* fix line marker

* fix repo search

* Fix single line select

* properly load settings

* npm uninstall highlight.js

* review suggestion

* code review

* forgot to call function

* fix test

* Apply suggestions from code review

suggestions from @silverwind thanks

Co-authored-by: silverwind <[email protected]>

* code review

* copy/paste error

* Use const for highlight size limit

* Update web_src/less/_repository.less

Co-authored-by: Lauris BH <[email protected]>

* update size limit to 1MB and other styling tweaks

* fix highlighting for certain diff sections

* fix test

* add worker back as suggested

Co-authored-by: silverwind <[email protected]>
Co-authored-by: Lauris BH <[email protected]>
2020-07-01 00:34:03 +03:00
c483419184 Better styling for code review comment form (#11413)
Co-authored-by: techknowlogick <[email protected]>
2020-05-15 18:54:18 -04:00
1b86f174ce Add a way to mark Conversation (code comment) resolved (#11037)
* Add a way to mark Conversation (code comment) resolved

mark Conversation is a way to mark a Conversation is stale
or be solved. when it's marked as stale, will be hided like
stale. all Pull Request writer , Offical Reviewers and poster
can add or remove Conversation resolved mark.

Signed-off-by: a1012112796 <[email protected]>

* fix lint

* Apply suggestions from code review

* Add ResolveDoer
* fix ui

Co-Authored-By: Lauris BH <[email protected]>
Co-Authored-By: 6543 <[email protected]>

* change IsResolved to an function
Add permission check in UpdateResolveConversation

* Apply suggestions from code review

* change return error for permisson check
* add default message for deleted user
* get issue message from comment
* add migration for ``ResolveDoerID`` column

another  change:
* block mark pending review as resolved because it's not necessary

Co-authored-by: guillep2k <[email protected]>

* change button color

* resolve button size

* fix code style

* remove unusefull code

Co-authored-by: guillep2k <[email protected]>

Co-authored-by: Lauris BH <[email protected]>
Co-authored-by: 6543 <[email protected]>
Co-authored-by: guillep2k <[email protected]>
2020-04-18 10:50:25 -03:00
guillep2kandGitHub 3d6f1731b5 Fix and simplify some tmpl conditions (#11080) 2020-04-16 16:26:24 -05:00
86fdba177a Add Octicon SVG spritemap (#10107)
* Add octicon SVG sprite

Signed-off-by: jolheiser <[email protected]>

* Static prefix

Signed-off-by: jolheiser <[email protected]>

* SVG for all repo icons

Signed-off-by: jolheiser <[email protected]>

* make vendor

Signed-off-by: jolheiser <[email protected]>

* Swap out octicons

Signed-off-by: jolheiser <[email protected]>

* Move octicons to top of less imports

Signed-off-by: jolheiser <[email protected]>

* Fix JS

Signed-off-by: jolheiser <[email protected]>

* Definitely not a search/replace

Signed-off-by: jolheiser <[email protected]>

* Missed regex

Signed-off-by: jolheiser <[email protected]>

* Move to more generic calls and webpack

Signed-off-by: jolheiser <[email protected]>

* make svg -> make webpack

Signed-off-by: jolheiser <[email protected]>

* Remove svg-sprite

Signed-off-by: jolheiser <[email protected]>

* Update tests

Signed-off-by: jolheiser <[email protected]>

* Missed a test

Signed-off-by: jolheiser <[email protected]>

* Remove svg from makefile

Signed-off-by: jolheiser <[email protected]>

* Suggestions

Signed-off-by: jolheiser <[email protected]>

* Attempt to fix test

Signed-off-by: jolheiser <[email protected]>

* Update tests

Signed-off-by: jolheiser <[email protected]>

* Revert timetracking test

Signed-off-by: jolheiser <[email protected]>

* Swap .octicon for .svg in less

Signed-off-by: jolheiser <[email protected]>

* Add aria-hidden

Signed-off-by: jolheiser <[email protected]>

* Replace mega-octicon

Signed-off-by: jolheiser <[email protected]>

* Fix webpack globbing on Windows

Signed-off-by: jolheiser <[email protected]>

* Revert

Co-Authored-By: silverwind <[email protected]>

* Fix octions from upstream

Signed-off-by: jolheiser <[email protected]>

* Fix Vue and missed JS function

Signed-off-by: jolheiser <[email protected]>

* Add JS helper and PWA

Signed-off-by: jolheiser <[email protected]>

* Preload SVG

Signed-off-by: jolheiser <[email protected]>

Co-authored-by: silverwind <[email protected]>
Co-authored-by: techknowlogick <[email protected]>
2020-02-11 12:02:41 -05:00
BennoandLunny Xiao 149a9df9e8 Expand/Collapse Files and Blob Excerpt while Reviewing/Comparing code (#8924)
* update #8659 fold/unfold code diffs

* add fold button style

* update #8659 implement expand up/down codes (blob excerpt)

* fix golint errors

* fix expand direction

* remove debug message

* update css style for blob exceprt

* fix typo in comment

* update style sheet with less

* update expect diff (add SectionInfo)

* update #8942 accept suggested change (fix typo)

* close reader and check file type before get tail section

* adjust button position and check file type before insert fold button

* move index js to web_src

* merge index.js with master

* generate index.js

* update js coding style
2019-11-15 10:52:59 +08:00
silverwindandzeripath 2a1ec31988 Diff: Fix indentation on unhighlighted code (#7435)
There was a missing space before the `nohighlight` class which made the
previous class concatenate wrongly as `wrapnohighlight` in the template.
2019-07-12 16:22:52 +01:00
silverwindandzeripath da23041257 fix extra newlines when copying from diff in Firefox (#7288)
* fix extra newlines when copying from diff

See https://bugzilla.mozilla.org/show_bug.cgi?id=1273836

Basically, the <pre><code> seems to add a forced newline that is not
possible to get rid of via CSS, so I replaced it with just a <code>.

Secondly, .lines-type-marker also forced a newline in the copied text,
but that was possible to get rid of via user-select.

Safari still has a extraneous newline in the copied text of unknown
origin, but this should not block stop this PR.

* simplify .line-type-marker

* fix selector

* remove erronous ^^^

* Fix empty split diff

* Fix arc-theme-green

* fix add comment

* ensure line-num is copied too

* Update templates/repo/diff/box.tmpl

Co-Authored-By: zeripath <[email protected]>

* attempt to fix safari via removing <code>

* remove useless whitespace at the end of 'class'

* remove inter-tag whitespace for code <td>s

* more inter-tag removal

* final inter-tag removal

* attempt to fix empty line copy

* move and comment getLineContent

* fix golint

* make background grey for missing added code
2019-06-26 22:35:07 +01:00
zeripathandGitHub 5908bb1030 Make diff line-marker non-selectable (#7279)
* Make diff line-marker non-selectable
* Move to use data-* as per @mrsdizzie
* fix missing line nums
* Add a minimum-width to force right-align of the line num
* Move line-type-marker into separate column
2019-06-24 21:23:52 +01:00
silverwindandtechknowlogick ec540294a1 Revert "Fix wrapping long code lines in UI" (#6074)
This reverts commit e5cd80e0219f10818f43e8cab6b9c814cb1cd796.

Fixes: https://github.com/go-gitea/gitea/issues/6064
2019-02-15 02:23:20 -05:00
silverwindandzeripath 12ee544411 Fix wrapping long code lines in UI (#5927)
Wrapping was initially added in https://github.com/go-gitea/gitea/pull/2789
but it is currently disabled because the rule that applies wrapping to
the wrap class did not have enough CSS specificity.

Resolved the issue by using a general selector that matches all code
boxes. The previous wrap class was removed because it had only been
inconsistenly applied to various code boxes and because I found no easy
way to add classes to code boxes rendered in Markdown.

Also removed a seemingly useless :before on code view and added padding
to restore the spacing.
2019-02-02 16:58:28 +00:00
Jonas Franzandtechknowlogick f38fce916e Add comment replies (#5104)
* Add comment replies

* Replace reviewID with review.ID
2018-10-22 16:13:35 -04:00
Lauris BHandGitHub 4befec242a Code review UI improvements and bugfixes (#4682)
* Code review UI improvements

* More fixes to dark theme

* Style fix

* Fix to allow add code review comments only on review files tab

* More readability dark style fixes

* Fix commenting on deleted files. Fixes #4752

* Fix line blame getting for multiple corner cases
2018-09-17 17:59:49 +03:00
Lauris BHandJonas Franz 6e64f9db8e Pull request review/approval and comment on code (#3748)
* Initial ui components for pull request review

* Add Review
Add IssueComment types

Signed-off-by: Jonas Franz <[email protected]>

(cherry picked from commit 2b4daab)
Signed-off-by: Jonas Franz <[email protected]>

* Replace ReviewComment with Content

Signed-off-by: Jonas Franz <[email protected]>

* Add load functions
Add ReviewID to findComments

Signed-off-by: Jonas Franz <[email protected]>

* Add create review comment implementation
Add migration for review
Other small changes

Signed-off-by: Jonas Franz <[email protected]>

* Simplified create and find functions for review

Signed-off-by: Jonas Franz <[email protected]>

* Moved "Pending" to first position

Signed-off-by: Jonas Franz <[email protected]>

* Add GetCurrentReview to simplify fetching current review

Signed-off-by: Jonas Franz <[email protected]>

* Preview for listing comments

Signed-off-by: Jonas Franz <[email protected]>

* Move new comment form to its own file

Signed-off-by: Jonas Franz <[email protected]>

* Implement Review form
Show Review comments on comment stream

Signed-off-by: Jonas Franz <[email protected]>

* Add support for single comments
Showing buttons in context

Signed-off-by: Jonas Franz <[email protected]>

* Add pending tag to pending review comments

Signed-off-by: Jonas Franz <[email protected]>

* Add unit tests for Review

Signed-off-by: Jonas Franz <[email protected]>

* Fetch all review ids at once
Add unit tests

Signed-off-by: Jonas Franz <[email protected]>

* gofmt

Signed-off-by: Jonas Franz <[email protected]>

* Improved comment rendering in "Files" view by adding Comments to DiffLine

Signed-off-by: Jonas Franz <[email protected]>

* Add support for invalidating comments

Signed-off-by: Jonas Franz <[email protected]>

* Switched back to code.gitea.io/git

Signed-off-by: Jonas Franz <[email protected]>

* Moved review migration from v64 to v65

Signed-off-by: Jonas Franz <[email protected]>

* Rebuild css

Signed-off-by: Jonas Franz <[email protected]>

* gofmt

Signed-off-by: Jonas Franz <[email protected]>

* Improve translations

Signed-off-by: Jonas Franz <[email protected]>

* Fix unit tests by updating fixtures and updating outdated test

Signed-off-by: Jonas Franz <[email protected]>

* Comments will be shown at the right place now

Signed-off-by: Jonas Franz <[email protected]>

* Add support for deleting CodeComments

Signed-off-by: Jonas Franz <[email protected]>

* Fix problems caused by files in subdirectories

Signed-off-by: Jonas Franz <[email protected]>

* Add support for showing code comments of reviews in conversation

Signed-off-by: Jonas Franz <[email protected]>

* Add support for "Show/Hide outdated"

Signed-off-by: Jonas Franz <[email protected]>

* Update code.gitea.io/git

Signed-off-by: Jonas Franz <[email protected]>

* Add support for new webhooks

Signed-off-by: Jonas Franz <[email protected]>

* Update comparison

Signed-off-by: Jonas Franz <[email protected]>

* Resolve conflicts

Signed-off-by: Jonas Franz <[email protected]>

* Minor UI improvements

* update code.gitea.io/git

* Fix ui bug reported by @lunny causing wrong position of add button
Add functionality to "Cancel" button
Add scale effects to add button
Hide "Cancel" button for existing comments

Signed-off-by: Jonas Franz <[email protected]>

* Prepare solving conflicts

Signed-off-by: Jonas Franz <[email protected]>

* Show add button only if no comments already exist for the line

Signed-off-by: Jonas Franz <[email protected]>

* Add missing vendor files

Signed-off-by: Jonas Franz <[email protected]>

* Check if reviewer is nil

Signed-off-by: Jonas Franz <[email protected]>

* Show forms only to users who are logged in

Signed-off-by: Jonas Franz <[email protected]>

* Revert "Show forms only to users who are logged in"

This reverts commit c083682

Signed-off-by: Jonas Franz <[email protected]>

* Save patch in comment
Render patch for code comments

Signed-off-by: Jonas Franz <[email protected]>

* Add link to comment in code

Signed-off-by: Jonas Franz <[email protected]>

* Add reply form to comment list
Show forms only to signed in users

Signed-off-by: Jonas Franz <[email protected]>

* Add 'Reply' as translatable
Add CODE_COMMENT_LINES setting

Signed-off-by: Jonas Franz <[email protected]>

* gofmt

Signed-off-by: Jonas Franz <[email protected]>

* Fix problems introduced by checking for singed in user

Signed-off-by: Jonas Franz <[email protected]>

* Add v70

Signed-off-by: Jonas Franz <[email protected]>

* Update generated stylesheet

Signed-off-by: Jonas Franz <[email protected]>

* Fix preview
Beginn with new review comment patch system

Signed-off-by: Jonas Franz <[email protected]>

* Add new algo to generate diff for line range
Remove old algo used for cutting big diffs (it was very buggy)

* Add documentation and example for CutDiffAroundLine

* Fix example of CutDiffAroundLine

* Fix some comment UI rendering bugs

* Add code comment edit mode

* Send notifications / actions to users until review gets published
Fix diff generation bug
Fix wrong hashtag

* Fix vet errors

* Send notifications also for single comments

* Fix some notification bugs, fix link

* Fix: add comment icon is only shown on code lines

* Add lint comment

* Add unit tests for git diff

* Add more error messages

* Regenerated css

Signed-off-by: Jonas Franz <[email protected]>

* fmt

Signed-off-by: Jonas Franz <[email protected]>

* Regenerated CSS with latest less version

Signed-off-by: Jonas Franz <[email protected]>

* Fix test by updating comment type to new ID

Signed-off-by: Jonas Franz <[email protected]>

* Introducing CodeComments as type for map[string]map[int64][]*Comment
Other minor code improvements

Signed-off-by: Jonas Franz <[email protected]>

* Fix data-tab issues

Signed-off-by: Jonas Franz <[email protected]>

* Remove unnecessary change

Signed-off-by: Jonas Franz <[email protected]>

* refactored checkForInvalidation

Signed-off-by: Jonas Franz <[email protected]>

* Append comments instead of setting

Signed-off-by: Jonas Franz <[email protected]>

* Use HeadRepo instead of BaseRepo

Signed-off-by: Jonas Franz <[email protected]>

* Update migration

Signed-off-by: Jonas Franz <[email protected]>

* Regenerated CSS

Signed-off-by: Jonas Franz <[email protected]>

* Add copyright

Signed-off-by: Jonas Franz <[email protected]>

* Update index.css

Signed-off-by: Jonas Franz <[email protected]>
2018-08-06 06:43:21 +02:00
Lauris BHandLunny Xiao 762f1d7237 Add wrapping to long diff lines (#2789)
* Add wrapping to long diff lines to fix #1827

* Fix  css class and make changes to source (less) files

* Fix wrong space indentation

* Fix indentation inconsistencies and remove very old WebKit workaround
2017-10-27 12:30:54 +08:00
Unknwon ba27d71abe Web editor: improve edit file 2016-08-28 04:31:42 -07:00