1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-09-16 15:28:48 +02:00
Commit graph

3551 commits

Author SHA1 Message Date
Bartosz Dziewoński
d4d620fa6d Workboard: have thin scrollbars
Summary:
The original intention was to hugely improve the UX interaction on Workboards for Microsoft Windows
users, since they have BIG GIANT SCROLLBARS. So we adopted thin scrollbars, that are graphically
pleasant for all other "normal" browsers too.

Note that this can be really thin now. The premise is: probably you will never notice this, since
you never try to click on the scrollbar.

In case, if you have problems, contact us. But note:

- you can use the mouse wheel as usual
- you can use keyboard navigation (try the tab key - it auto-scrolls!)
- you can use usual touch movements on relevant devices.

The non-standard CSS version is kept for compatibility.

Scrollbar examples in Microsoft Windows with Chromium-based browser:

| Before    | After     |
|-----------|-----------|
| {F312321} | {F312323} |

Scrollbar examples in GNU/Linux with KDE, on mouse hover:

| Before    | After     |
|-----------|-----------|
| {F313082} | {F313083} |

... on bar selected:

| Before    | After     |
|-----------|-----------|
| {F313084} | {F313085} |

Ref T15488

Test Plan:
View a Workboard and a Differential side panel
on Firefox with static scrollbars enabled.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: aklapper, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15488

Differential Revision: https://we.phorge.it/D25305
2024-08-24 22:29:57 +02:00
Dylan F
2b7c0ec92f Destroy file attachments when file is deleted, or object is deleted
Summary:
Adds file attachment deletion logics:

- PhabricatorFile: delete the attachment if file is deleted
- destruction engine extension: delete attachment if object is deleted
- SQL patch: delete existing leftover attachments from deleted files

To apply the cleanup, as usual, run:

    ./bin/storage upgrade

This cleanup may take some time, proportionally to the size of these tables:

    phabricator_file.file
    phabricator_file.file_attachment

Just as an indication: the storage upgrade, in a Phorge with `file` count 1.3M rows and `file_attachment` consisting in 9K rows, it may delete 170K rows in less than 1 second on average hardware.

Closes T15110

Test Plan:
Apply the patch, run `./bin/storage/upgrade`:

- no "Unknown Object" in any "Referenced Files" curtain of any object.

Have phd daemon running.

Upload file, attach the file to a task, delete the file from the web interface:

- no "Unknown Object" in "Referenced Files" curtain of that task.
- the query `SELECT * FROM file_attachment WHERE filePHID = '<file phid>'` returns empty result

Upload file, attach the file to a task, delete the task from the `./bin/remove destroy` workflow:

- the query `SELECT * FROM file_attachment WHERE objectPHID = '<task phid>'` returns empty result

Reviewers: O1 Blessed Committers, avivey, valerio.bozzolan

Reviewed By: O1 Blessed Committers, avivey, valerio.bozzolan

Subscribers: Ekubischta, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Tags: #files

Maniphest Tasks: T15110

Differential Revision: https://we.phorge.it/D25051
2024-08-10 22:16:53 +02:00
Andre Klapper
ec6ba69666 Add Copy file path button to file header bar in Differential/Diffusion
Summary:
When looking at a commit/revision, allow to copy the path of a file to the clipboard, so you can quickly open that file in your local code checkout from the command line.

Closes T15897

Test Plan:
Open a proposed commit in Differential or a merged commit in Diffusion. Click the "Copy file path" button, paste that clipboard content.
Change the width of the viewport and see that the button is not rendered when in phone mode.
Run `./bin/celerity map` again and no changes.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15897

Differential Revision: https://we.phorge.it/D25757
2024-08-04 11:53:24 +02:00
Andre Klapper
fec00256be Allow collapsing/expanding workboard column content by clicking its header
Summary:
Reduce users' need for scrolling on smaller screens with 920px or less viewport width by using HTML5's `<details>`/`<summary>` so clicking on a workboard column header hides the content of that column, in all CSS views (mobile, tablet, desktop). Keep expanding its content by default.

On mobile and tablet devices, display an arrow in the column header box below the header text to potentially make those users aware of this functionality that benefit the most from it. Do not render these arrows on desktop devices (though the collapse/expand functionality still works there).

See https://caniuse.com/details for browser (in)compatibility.

Closes T15843

Test Plan: Go to a project workboard with several columns and tasks in them on a screen with 920px or less width. See a small arrow below the column header text. Click on a column header to collapse and expand the column content.

Reviewers: O1 Blessed Committers, valerio.bozzolan, avivey

Reviewed By: O1 Blessed Committers, valerio.bozzolan, avivey

Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15843

Differential Revision: https://we.phorge.it/D25672
2024-07-17 15:44:47 +02:00
Andre Klapper
30257515eb Fix typo in CSS definition
Summary: Replace `-webkit-trasform` with `-webkit-transform`.

Test Plan: Read the entire CSS spec at your fireplace.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25707
2024-07-01 13:11:50 +02:00
Andre Klapper
eda7a608e5 Run celerity map after rP1fa8c79b1ef86a9edda575b582b18fa24d60ea1f
Summary: I obviously failed to run `./bin/celerity map` one more time before running `arc diff`. Sorry for that.

Test Plan: Run `./bin/celerity map` and see differences.

Reviewers: O1 Blessed Committers, 20after4, chris

Reviewed By: O1 Blessed Committers, 20after4, chris

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25697
2024-06-22 23:20:41 +02:00
Andre Klapper
1fa8c79b1e Update d3 from version 5.9.2 to 6.7.0
Summary:
Update the d3 library to its last 6.x version available on https://github.com/d3/d3/releases

This also requires updating the tooltip event handling of dots in `Chart.js` to avoid an `Uncaught TypeError: d3.event is undefined` per https://observablehq.com/@d3/d3v6-migration-guide#event-management linked from https://github.com/d3/d3/releases/tag/v6.0.0

Closes T15820

Test Plan:
* Enable the Facts application, go to the Reports of a Project with task changes over time, look at charts, hover over data points, read the tooltip - e.g. on http://phorge.localhost/project/reports/1/ or http://phorge.localhost/maniphest/report/burn/
* Check HTML source of above URIs for the `<script type="text/javascript">` loading `d3.min.js` and open the JS file to verify the d3 version number bump.
* Check Console of web browser's developer tools for no errors.

Reviewers: O1 Blessed Committers, speck

Reviewed By: O1 Blessed Committers, speck

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15820

Differential Revision: https://we.phorge.it/D25631
2024-06-22 22:42:37 +02:00
Andre Klapper
8a3b70aa7d Run ./bin/celerity map after previous commit
Summary: Followup to rP67b7181f522673b05435083ce28106bdfa320e18

Test Plan: Run `./bin/celerity map` and see changes due to my previous commit.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25637
2024-05-13 19:00:03 +02:00
Valerio Bozzolan
5b90567f64 Persistent Chat: fix de-minimize misclick
Summary:
When the persistent chat is minimized to the bottom of your window, as mentioned in T15626,
the chat bar still has an invisible square area that does nothing if you click it by mistake:

{F2184778}

That area was reserved for the Settings Icon, that appears only if you de-minimize the chat.

The Settings Icon was toggled incorrectly from CSS. It was just hiding the Font Awesome icon,
(.fa-gear), instead of hiding its clickable container.

After this change, chat can be de-minimized even if you click in that specific evil spot.

Original credit to @roberto.urbani for the original troubleshooting and original patch.

Follow-up from: D25428

Closes T15626

Test Plan:
Show the Chat, then:

- when the chat is de-collapsed:
    - you see the Settings icon (as before)
    - you can click on the Settings Icon (as before)
    - it shows the Settings menu (as before)
- when the chat is collapsed:
    - you can click in whatever point, and it de-collapse (better than before)

Additionally, use the HTML inspector in your browser (`F12` from Firefox),
to double-check that now that `<li>` has display: none when the chat is collapsed.

Reviewers: O1 Blessed Committers, aklapper

Reviewed By: O1 Blessed Committers, aklapper

Subscribers: aklapper, tobiaswiese, Matthew, Cigaryno, roberto.urbani

Maniphest Tasks: T15626

Differential Revision: https://we.phorge.it/D25628
2024-05-09 13:56:18 +02:00
Valerio Bozzolan
faf43d7edf Celerity map late update
Summary:
This change is probably needed after 892f527b9f.
At that time, the unit test was successfully completed probably because of a lack
of git rebase master.

Test Plan: The unit test PhabricatorCelerityTestCase::testCelerityMaps is not screaming.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: tobiaswiese, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25553
2024-03-07 11:29:25 +01:00
Merula Turdus
892f527b9f Improve remarkup codeblock syntax highlighting when using Dark Mode
Summary:
PhabricatorDefaultSyntaxStyle works now with 'CSS-color-aliases' instead of fixed colors.

The aliases are translated in the corresponding themes CelerityPostprocessor.

| Before    | After     |
|-----------|-----------|
| {F709419} | {F709421} |

Ref T15056

Test Plan:
1) bin/celerity syntax
2) bin/celerity map
3) bin/cache purge --all
4) sign in
5) go to user's Settings > Display Preferences and select the Accessibility (user interface) "Dark Mode".
6) go to Phriction or Maniphest and add a codeblock.

Example:

``` lang=php
<?php
final class Example extends PhabricatorApplication {
}
```

7) verify that codeblock content is readable
8) also check that with/without this, nothing changes in "normal" theme

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15056

Differential Revision: https://we.phorge.it/D25509
2024-03-03 15:58:03 +01:00
Valerio Bozzolan
bf15a2d98c Trigger: Add Sound "Coin"
Summary:
One preview is better than a thousand of words:

{F270656}

This Sound is probably universally recognized thanks to
videogames like Super Mario® or other popular platforms; but
this specific Coin Sound is not proprietary: it's released
with a Free as in Freedom of Speach license: Creative Commons 0.

As if that were not enough, this Coin sound, instead of
potentially creating frustration like many others - it positively
stimulates part of the human cerebral cortex involved in making
humans more addicted to Phorge. To be precise, this Coin sound is
particularly suitable to be associated with Trigger actions
such as:

- Mark as Resolved
- Move on to the next Milestone
- etc.

But the only limitation here, as usual in Phorge, is
your imagination.

Insert a Coin and have fun with Phorge.

Complete sound credits:

https://freesound.org/people/Jocabundus/sounds/678385/

2023, Jocabundus, Creative Commons Zero (public domain dedication)

This change also introduces a Credits page in Diviner to mentions this
kind of things. Future contributions in that page are encouraged.

Insert a Coin. Play again with Phorge.

Ref T15178
Ref T15248

Test Plan:
- Create a Project with a Workboard
- Create a Column
- Column > Gear > New Trigger...
- Action > Play Sound > "Coin"
- Create a Task on the Backlog column, and drop it on your new Column
- Turn on audio, have fun!

Reviewers: O1 Blessed Committers, Cigaryno, avivey, aklapper

Reviewed By: O1 Blessed Committers, Cigaryno, avivey, aklapper

Subscribers: avivey, aklapper, chris, speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15178, T15248

Differential Revision: https://we.phorge.it/D25079
2024-03-03 12:17:48 +01:00
Benjamin Kausch
89a5d3132c Implements copy button in clone repo modal
Summary:
This diff adds a copy button to every repo uri in the clone repo modal. I have made the button to select the text to a merely structural span before the input - it just shows the type of the repository uri. When you click inside the input, the entire uri will be selected. Also I have uncluttered the HTML structure. A table is not needed here, nothing a flex block can't handle.

| Before    | After     |
|-----------|-----------|
| {F1360344} | {F1368592} |

While at it, I have extended the used javascript copy behavior. First of all: `document.execCommand('copy')` [[ https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand | could stop working every moment in every browser ]]. The [[ https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Interact_with_the_clipboard | new clipboard API ]] is the way to go, so I have implemented it as the preferred method. The old method is kept as a fallback. And I have added a very nice feature: If defined, the behavior will now issue success or error notifications. See the changed UIExamples for that.

To support the shrinking of JS code with async functions I have patched the JsShrink source.

Test Plan: Go to a repository, hit the clone button and use the new copy button. You will see a shiny notification as a reward.

Reviewers: O1 Blessed Committers, avivey, valerio.bozzolan

Reviewed By: O1 Blessed Committers, avivey, valerio.bozzolan

Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25536
2024-02-15 19:38:39 +01:00
Aviv Eyal
9c9fbc3d04 unbreak celerity/map
Test Plan: phorge will load and serve pages

Reviewers: O1 Blessed Committers, aklapper

Reviewed By: O1 Blessed Committers, aklapper

Subscribers: aklapper, philj0st, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25532
2024-02-05 20:08:09 +02:00
Aviv Eyal
d9919ddb06 Revert "Added cross-platform default fonts"
Summary:
Revert rPf8ffa393c4427f8b9026075e6dc490990a12df12 (D25021). This Commit caused more grief then fun.

Ref T15630

Test Plan: Site should still be readable on most platforms

Reviewers: O1 Blessed Committers, aklapper

Reviewed By: O1 Blessed Committers, aklapper

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15630

Differential Revision: https://we.phorge.it/D25530
2024-02-04 23:14:59 +02:00
Benjamin Kausch
87db482897 Adds "Locate File" input to every browse directory view in Diffusion
Summary:
Ref T15645

The very helpful "Locate File" input in Diffusion was so far only visible in the homepage route of any repository (`/repository`).

With this revision you can now locate a file from every browsed directory and in any selected commit.

The finder was already "directory sensitive" meaning: if you are trying to locate a file from within a browsed directory, only the children of this path will be searched.

For the searching in a specified commit (for example: https://we.phorge.it/source/phorge/browse/master/src/;05f4d5071fdca02123bd1ff4c0935b847c7f9963), I had to do a little JS magic adding the commit to the URI on the client side.

Test Plan: Checkout, browse through your repos with Diffusion trying to find files. (I tested only with Git repos.)

Reviewers: O1 Blessed Committers, speck

Reviewed By: O1 Blessed Committers, speck

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15645

Differential Revision: https://we.phorge.it/D25521
2024-01-28 12:51:35 +01:00
Benjamin Kausch
f8db94f2bf Add flexible line height to remarkup headers
Summary:
The text in remarkup has a fixed line height. The headers will have the same fixed line height, even if their font size can be bigger than this line height. Especially on mobile this results in ugly sticked together lines which are less readable.

This revision will give the header a flexible line height of `1.3`. Unitless means relative to the font size.

| Before    | After     |
|-----------|-----------|
| {F717418} | {F717419} |

(I have moved the same margin attribute for every `h{2-6}` into the new declaration.)

Close T15716.

Test Plan: Just checkout and look in wiki articles with headers to see if everything looks nice and neat.

Reviewers: O1 Blessed Committers, 20after4

Reviewed By: O1 Blessed Committers, 20after4

Subscribers: 20after4, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15716

Differential Revision: https://we.phorge.it/D25523
2024-01-28 12:45:04 +01:00
Benjamin Kausch
b035743ce3 Show title entirely and cut of secondary information gracefully in typeahead results of main search
Summary:
This revision increases the usability of the typeahead results of the main search (on the right in the top bar).
The result texts wont't overflow in a reasonable way.

| Before    | After     |
|-----------|-----------|
| {F715296} | {F715385} |

The result title (red box) will now break so the user can read and understand it.
The result type (blue box) will be cut off inside the padding with an ellipsis.

See T15715

Test Plan:
Check it out and use the main search in the top bar to create typeahead result with very long titles ;)

Nothing changes for short titles.

Reviewers: O1 Blessed Committers, valerio.bozzolan, avivey

Reviewed By: O1 Blessed Committers, valerio.bozzolan, avivey

Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15715

Differential Revision: https://we.phorge.it/D25520
2024-01-22 17:35:27 +01:00
Benjamin Kausch
2f1e271c5f Remove bottom margin from embedded remarkup images
Summary:
{T15473} created a very small but annoying regression. Every embedded images has now an margin at the bottom:

{F718091}

I don't think this is intentional. If you click on the margin the image itself is opened not the lightbox. This revision removes the margin.

Test Plan: Look at tasks with embedded images and see if there is still an margin.

Reviewers: O1 Blessed Committers, valerio.bozzolan, aklapper

Reviewed By: O1 Blessed Committers, valerio.bozzolan, aklapper

Subscribers: aklapper, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25522
2024-01-22 17:06:16 +01:00
Andre Klapper
cc964550f9 Ellipsize long labels in Add Action area to avoid text overlap
Summary:
Add CSS to ellipsize long labels and disable text wrapping

Closes T15707

Test Plan:
Set a long custom "action" label in `/config/edit/maniphest.points/`; go to a Maniphest task; open all items in the "Add Action..." dropdown.

Example config:

```
{
  "enabled": true,
  "label": "Points",
  "action": "Set Points Yeah Points Points Much Points"
}
```

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15707

Differential Revision: https://we.phorge.it/D25511
2024-01-13 03:30:10 +01:00
Andre Klapper
49c3fe6193 Fix invalid CSS property value
Summary: `x` is not a valid unit.

Test Plan: Open a Maniphest task in the web browser; inspect the CSS of the label of any items in the "Add Action" dropdown.

Reviewers: O1 Blessed Committers, speck

Reviewed By: O1 Blessed Committers, speck

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25510
2024-01-11 13:54:29 +01:00
Waldir Pimenta
c49eeb235e Improve command line prompts in setup issue pages
Summary:
This is a follow-up to D25425, where these improvements to the CLI prompt markers were discussed.

Changes included in this revision:

- Build all prompts the same way
- Remove space after the prompt marker (add it via CSS instead)
- Add server path prefix
- Make the prompt unselectable

Test Plan:
- Visit any of the setup issue pages, e.g. <PHORGE_URL>/config/issue/auth.config-unlocked/ (after ensuring that the corresponding issue is present — in this case, by doing `./bin/auth unlock`)
- For example, Deactivate all PHP extensions to trigger each /config/issue/extension.gd/ etc.
- For example, update at least up to `dc10a7e69ea3` to see the database upgrade tip etc.
- Confirm that the command line prompts now include the path prefix
- Confirm that selecting the command via double-click (or click-and-drag) does not select the prompt

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Tags: #ux, #config

Differential Revision: https://we.phorge.it/D25466
2023-12-07 16:22:24 +00:00
Waldir Pimenta
e59702569f CSS adjustments to Conpherence
Summary:
**Fix Conpherence messages overlapping header in mobile mode**

Before:
{F413544}
After:
{F413546}

**Make Conpherence input box be one line even in desktop mode**

Before:
{F413541}
After:
{F413540}

This second change, in particular, is motivated by the fact that pressing `Enter` sends the message, whereas the multi-line box gives the impression that the `Enter` key would simply introduce a line break in the message. (That's still possible via `Shift`+`Enter`, btw.)

Test Plan:
- Visit a Conpherence room with some content in mobile mode;
  scroll down and notice that the messages no longer slightly overlap the header.
- Visit a Conpherence room in desktop mode;
  verify that the input box now has the height of a single line.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Tags: #conpherence

Differential Revision: https://we.phorge.it/D25485
2023-12-06 15:36:23 +00:00
Matthew Bowker
4d4712b58d Remove Chatlog entirely
Summary:
This commit removes ChatLog entirely.  All of the application files are removed, and the migrations used are stubbed out. I stubbed the migrations as that allows for existing installs to make no changes, but new installs will not create the database.

Fixes T15126

Test Plan: Loaded up http://phorge.local/chatlog and confirmed the 404.  Loaded up http://phorge.local/applications/view/PhabricatorChatLogApplication and confirmed the 404.  Created a new database prefix and ran `bin/storage upgrade` against it, confirmed that the chatlog database was not created.  Restored another prefix (an old one) and ran `bin/storage upgrade` and confirmed database was not deleted.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: avivey, tobiaswiese, valerio.bozzolan, Cigaryno

Maniphest Tasks: T15126

Differential Revision: https://we.phorge.it/D25480
2023-11-27 11:38:37 -07:00
Zero King
aa8af1d79e Align logo image and text in site header
Summary: Ref T15666. Center wordmark vertically to align with logo in site header.

Test Plan:
- Check alignment visually.
- With browser DevTools, verify that wordmark is 44px tall.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15666

Differential Revision: https://we.phorge.it/D25467
2023-11-13 17:56:35 +08:00
roberto.urbani
94aefaa31d Replacing the deprecated -moz-outline-style with outline-style
Summary:
Replacing the deprecated -moz-outline-style with outline-style: none.

According to "Can I Use", this change is supported in whatever non-ridiculously-old browser web in the universe,
like Firefox 2 and Chrome 4 and Internet Explorer 8.

https://caniuse.com/outline

Ref T15585

Test Plan: The outline in the <a> tags should look as usual, that is, none.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15585

Differential Revision: https://we.phorge.it/D25416
2023-10-13 10:47:12 +02:00
Benjamin Kausch
dc10a7e69e Implement ferret engine in typeahead datasource query for repos
Summary:
This broadens the typeahead datasource search for repos. Before this patch a repository named "Alligator Simulator" would not be found with the search string "simu...". This is patched with the ferret engine search and indexing features.

See T15583

Test Plan: Create repositories with titles with 2 or more words. Search for these repos with the global typeahead search. The search term should begin with the second/third/n-th word of the repo title.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: avivey, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15583

Differential Revision: https://we.phorge.it/D25430
2023-09-04 09:48:41 +02:00
Valerio Bozzolan
761134a1a9 Line counters: do not wrap when over 999 on mobile
Summary:
| Before    |  After    |
|-----------|-----------|
| {F335620} | {F335621} |

Closes T15615

Test Plan:
Create a very long Diff with soooo much lines (e.g. 1000+).
Reduce the window and check that line numbers do not wrap anymore.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15615

Differential Revision: https://we.phorge.it/D25407
2023-08-18 09:53:53 +08:00
bob
17befe9bca Fix source code viewer background color when using Dark Mode in Diffusion
Summary:
This CSS fix replaces the hard coded white background value by the diff.background CSS variable. This is a proposal
to address this issue but it may be a good idea to create a different CSS variable (for instance source.background)
in order to avoid any potential side effect in the future.

| Before  | After   |
|---------|---------|
|{F333617}|{F333618}|

Fix : T15056

Test Plan:
- Flush all Phorge caches
- Sign in
- Open a diffusion repository
- Open any file
- Check that viewer background color is consistent with the theme.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Differential Revision: https://we.phorge.it/D25396
2023-08-17 10:31:51 +02:00
bob
3f5fcdf4dd Fix icon background color when using Dark Mode
Summary:
This CSS fix replaces the hard coded background gradient (white) value of icons when using Dark Mode.

Now the "Choose User Icon" popup has visible icons.

| Before  | After   |
|---------|---------|
|{F331622}|{F331623}|

Ref T15056

Test Plan:
- Flush all Phorge caches
- Sign in
- Go to user's Settings > Display Preferences and select the Accessibility (user interface) "Dark Mode".
- Go to user's profile, edit profile and click on Choose icon.
- Check that now the icons in "Choose User Icon" are visible.
- Do these steps for each user interface theme in order to check against regression.

Reviewers: O1 Blessed Committers, Matthew, valerio.bozzolan

Reviewed By: O1 Blessed Committers, Matthew, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15056

Differential Revision: https://we.phorge.it/D25384
2023-08-16 10:30:22 +02:00
Valerio Bozzolan
840a7fab2b Hide Archived Panels from Dashboards
Summary:
In edit mode, Archived Panels are shown differently,
with content text in grey and with the usual red tag.

In view mode, Archived Panels are just not rendered.

This makes it easier to design Dashboards with individual
components that can be de-activated and re-activated on the fly.

Closes T15366.

{F325637}

Test Plan:
Have a Dashboard somewhere (e.g in your homepage).

Visit a Panel (W-ID) and Archive it.

See that now the Panel is not shown anymore on the Dashboard.

Edit the Dashboard and you see the Panel again as "Archived".

Anything around is just normal.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: avivey, speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15366

Differential Revision: https://we.phorge.it/D25368
2023-08-01 09:51:18 +02:00
Benjamin Kausch
df3ac50cb7 Implements a more informative hovercard for wiki documents
Summary:
The current hovercard of a wiki document has no further information except the title. This commit adds object type, project tags, parent documents, last author and last edited time to the card.

Preview:

{F313614}

Preview in a pessimistic case:

{F325478}

Closes T15433

Test Plan: Edit a wiki document with/without project tags and parent documents and see the hovercard in the feed.

Reviewers: O1 Blessed Committers, valerio.bozzolan, avivey, Cigaryno

Reviewed By: O1 Blessed Committers, valerio.bozzolan, avivey, Cigaryno

Subscribers: avivey, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15433

Differential Revision: https://we.phorge.it/D25303
2023-07-31 17:33:36 +02:00
Andre Klapper
fa687b4ba0 Always ellipsize long filename in file upload dialog
Summary:
Firefox does not ellipsize long filenames after selecting them in the File Upload dialog; Chromium does (for unknown reasons).

Could hardcode the "remaining" width for the `<input>` element itself (approx. 340px) based on calculating the CSS widths and margins of all surrounding elements but that is error-prone if CSS for one of those surrounding elements ever changed.
Thus instead use `max-width: stretch` for the `<input>` element itself. Per its limited support (see https://caniuse.com/?search=max-width), set also `-moz-available` (https://bugzilla.mozilla.org/show_bug.cgi?id=1495868) and `-webkit-fill-available` (see https://bugs.chromium.org/p/chromium/issues/detail?id=611857) aliases.

Closes T15553

Test Plan:
* Both in Firefox and in Chromium, go to an existing task, select "File Upload", select a file with a long name.
* See that the filename is now correctly ellipsized in Firefox.
* See no changes in Chromium.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15553

Differential Revision: https://we.phorge.it/D25347
2023-07-29 12:14:50 +03:00
Valerio Bozzolan
0dfc84e2ab Ponder Answer Comments: indent textarea as Comments
Summary:
In a Ponder Answer, when adding a Comment, the textarea indentation was a
a little bit unintuitive.

After this change, the textarea is aligned as a Comment:

| Before    | After     |
|-----------|-----------|
| {F286220} | {F286221} |

Other changes are welcome but this seems to me a good minimum.

I also hope this could help not to confuse the Comment field with the Answer field.

Closes T15350

Test Plan:
- create a Ponder Question
- create an Answer
- look at the Comments input field that now should be more nicely indented
- the normal Response field is not changed at all
- the mobile view is not changed at all
- click on "Pin Form On Screen" and it must be as before

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15350

Differential Revision: https://we.phorge.it/D25192
2023-07-19 21:28:24 +02:00
Andre Klapper
682fe971a4 Do not crop user avatar image in top bar when no Real Name set
Summary:
Increase required height for avatar image

Patch provided by Stang in https://phabricator.wikimedia.org/T307492

Closes T15552

Test Plan:
* Set `/config/edit/user.require-real-name/` to `Make real names optional`
* Log in as a user without a real name set
* Open the user menu in the top bar and look at the user avatar image

Reviewers: O1 Blessed Committers, Cigaryno, avivey

Reviewed By: O1 Blessed Committers, Cigaryno, avivey

Subscribers: avivey, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15552

Differential Revision: https://we.phorge.it/D25348
2023-07-17 12:03:23 +02:00
Andre Klapper
85539ce255 Blur profile image when user account disabled
Summary:
Add blur and sepia filter to disabled user profile image.

Before this change, the image was just greyed out but still fully recognizable.

Closes T15515

Test Plan:
* Create an account with a custom profile picture
* Disable the account
* Go to user profile of the account
* Go to a task with activity of that account and hover over the account to open card view

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15515

Differential Revision: https://we.phorge.it/D25322
2023-07-12 22:05:56 +02:00
Andre Klapper
fb822ba849 Update Facebook icon on Auth Provider page
Summary: Closes T15545

Test Plan: Go to `/auth/config/new/` in browser and look at icons.

Reviewers: O1 Blessed Committers, Cigaryno, avivey

Reviewed By: O1 Blessed Committers, Cigaryno, avivey

Subscribers: avivey, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15545

Differential Revision: https://we.phorge.it/D25342
2023-07-11 13:00:36 +02:00
Valerio Bozzolan
4a0d3ba3e1 Locate File: allow to search './path/to/something.txt'
Summary:
Before this change, if you search a file using Locate File,
this was the only accepted syntax for a full-path:

    path/to/something.txt

After this change, some relative/absolute Unix-like variants
are also accepted:

    ./path/to/something.txt
    /path/to/something.txt

Similar prefixes can be frequent when you quickly copy-paste things
from shell commands like 'grep' or 'find' etc.

Ref T15508

Test Plan:
Visit a lovely repository like Phorge and use Locate File with these:

1. src/applications/maniphest/editor/ManiphestEditEngine.php
2. /src/applications/maniphest/editor/ManiphestEditEngine.php
3. ./src/applications/maniphest/editor/ManiphestEditEngine.php

After this change, also 2. and 3. return the expected file.

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: avivey, speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15508

Differential Revision: https://we.phorge.it/D25320
2023-07-04 17:12:57 +02:00
Andre Klapper
324470e39b Give embedded image files with transparency a checkered background
Summary:
Have a consistent rendering experience between File page and file embedded in a task for PNG image files with an alpha channel:
Show a checkered background on the embedded image instead of a white background; show full contrast when hovering over the embedded image.

Closes T15473

Test Plan:
See steps in T15473 - compare an image file embedded in a task before and after applying this patch.

- test in Task description
- test in Task comment
- test in Task comment inside something weird like a table

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15473

Differential Revision: https://we.phorge.it/D25294
2023-06-19 11:57:03 +02:00
Andre Klapper
c300f0e874 Update Google icon on Auth Provider page
Summary: Closes T15479

Test Plan: Go to `/auth/config/new/` in browser and look at icons.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15479

Differential Revision: https://we.phorge.it/D25297
2023-06-15 12:37:45 +02:00
Andre Klapper
8e6bb9b690 Correct Phorge icon on Auth Provider page
Summary:
Add Phorge icon to auth/login PNG files.

Closes T15403

Test Plan: Go to `/auth/config/new/` in browser and look at icons.

Reviewers: O1 Blessed Committers, valerio.bozzolan

Reviewed By: O1 Blessed Committers, valerio.bozzolan

Subscribers: avivey, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15403

Differential Revision: https://we.phorge.it/D25255
2023-06-15 12:02:57 +02:00
Valerio Bozzolan
980293b707 Mobile: hide unuseful "Persistent Chat" checkbox
Summary:
On mobile devices like tablets or toasters the "Persistent Chat"
floating widget is already hidden.

So, the related checkbox available from the top navigation bar
is just confusing on tablet and mobile devices / toasters, since
that nice checkbox does nothing there.

On mobile and tablet, this is the graphical change:

| Before   | After     |
|----------|-----------|
|{F281239} | {F281235} |

This change do not change anything for desktop devices.
So, on desktop, that checkbox is obviously still visible.

Closes T15240

Test Plan:
- test on tablet and below: now the checkbox should be not visible
- test on desktop: the checkbox should still be visible

Reviewers: O1 Blessed Committers, Cigaryno, bfs, speck

Reviewed By: O1 Blessed Committers, Cigaryno, bfs, speck

Subscribers: avivey, bfs, dcog, chris, speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15240

Differential Revision: https://we.phorge.it/D25120
2023-06-09 14:47:34 +02:00
Leon Eckardt
c5a365e1b2 Unify user-select CSS directives
Summary:
Removes the -khtml, -moz and -ms prefix, since most Browsers are natively supporting the user select directive.
The -webkit prefix is still kept or added for Safari, wich does not support user-select.

Ref: see https://we.phorge.it/D25024#815 for context

Test Plan: Removing the CSS should change nothing in modern browsers.

Reviewers: O1 Blessed Committers, speck, valerio.bozzolan, Matthew

Reviewed By: O1 Blessed Committers, speck, valerio.bozzolan

Subscribers: Cigaryno, Matthew, speck, tobiaswiese, valerio.bozzolan

Differential Revision: https://we.phorge.it/D25025
2023-05-27 21:26:49 +02:00
Valerio Bozzolan
1e27a7b899 Fix outdated Celerity
Summary:
Ref D25134
Ref T15276

Test Plan: - make unit test happy

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15276

Differential Revision: https://we.phorge.it/D25136
2023-04-26 12:26:24 +02:00
Dylan F
90f9da643d Add and use new RemarkupMetadata class
Summary:
Add a new RemarkupMetadata class and use with upload button as well as drag and drop pathways.

With this change, files are now attached automatically to the object. This this could solve
several issues, for example when a person uploads a file but only that author is able to see it.

Ref T15106

Test Plan:
- Drag and drop file, upload file with button. Check that both files are attached with "attachedFilePHIDs" values.
    - drop file in a Task description (now works)
    - drop file in a Task comment (now works)
    - drop file in an edited Task comment (still not supported)
- This was already tested in Wikimedia Foundation: https://phabricator.wikimedia.org/D1203

Reviewers: O1 Blessed Committers, avivey, Matthew

Reviewed By: O1 Blessed Committers, avivey, Matthew

Subscribers: MCPCN, avivey, speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Tags: #remarkup

Maniphest Tasks: T15106

Differential Revision: https://we.phorge.it/D25052
2023-04-24 01:53:16 +00:00
Valerio Bozzolan
a7b472284b Mobile: show Homepage contents and avoid duplicate menus
Summary:
After this change, the Homepage finally shows contents on Mobile,
instead of just showing the sidebar menu twice.

Closes T15216

Test Plan:
To test this change in general:

- resize the window horizontally and enjoy

I tested it in:

- tested homepage of Phorge
- Audit
  - tested homepage of Audit
- Auth
  - tested Auth homepage
  - tested Login page
  - tested Forgot your password page
- Config
  - tested Config homepage
  - tested page Core Settings
  - tested page Unresolved Setup Issues
  - (Services)
     - tested page Database Status
     - tested page Cache Status
     - tested page Notification Servers
     - tested page Repository Services
     - tested page Search Servers
  - (Extensions/Modules)
     - tested page Constants: Differential
     - tested page Content Sources
- Conpherence
  - tested open-close menu
  - tested persistent chat
  - tested Rooms list
  - tested single Chat
- Dashboards
  - tested general homepage of Dashboards
  - tested specific Dashboard - view page
  - tested specific Dashboard - edit page
- Differential
  - tested general homepage of Differential
  - tested Create Diff page
- Diffusion
  - tested general homepage of Diffusion
  - tested specific Diffusion repository - view page
  - tested specific Diffusion repository - Manage page
  - tested specific Diffusion repository - Policy page
  - tested specific Diffusion repository - Automation page
  - tested specific commit page - view page
  - tested specific commit page - Edit Commit
- Diviner
  - tested general homepage of Diviner
  - tested specific Diviner book
  - tested list of technical Classes
  - tested specific technical Class
  - tested search of All Atoms
- Feed
  - tested Feed homepage ("All Stories")
  - tested specific feed - view page
- Files
  - tested general homepage of Files
  - tested specific File - view page
  - tested specific File - Edit File
  - tested Award Token popup
  - tested Flag for Later
  - tested View Transforms
- Form Engine
  - tested View Forms Configurations page
  - tested specific View Form Configuration
  - tested Use Form
- Maniphest
  - tested general homepage of Maniphest
  - tested specific Maniphest Task - view page
  - tested specific Maniphest Task - Edit mode
  - tested specific Maniphest Task - Award Token popup
- Menu
  - tested page Configure Menu
  - tested page Personal Menu Items
  - tested page Global Menu Items
- Notifications
  - tested open action
  - tested close action
  - tested click action
- People
  - tested general homepage of People
  - tested specific User - view page
  - tested specific User - Settings page - home
  - tested specific User - Settings page - Date & Time
  - tested specific User - Settings page - External Editor
  - tested specific User - Settings page - External Editor
  - tested specific User - Settings page - SSH Public Keys
  - tested specific User - Settings page - SSH Public Keys - upload popup
  - tested specific User - Settings page - SSH Public Keys - view history
- Pholio
  - tested general homepage of Pholio
  - tested Create a Mock page
  - tested specific Pholio - view
  - tested specific Pholio - Edit page
  - tested specific Pholio - Award Token popup
  - tested specific Pholio - Edit Related Tasks popup
  - tested specific Pholio - add a Comment
- Phriction
  - tested specific page of Phriction - view
  - tested specific page of Phriction - Create Page popup
  - tested specific page of Phriction - Create Page dedicated page
  - tested specific page of Phriction - Edit Page
  - tested specific page of Phriction - Award Token popup
- Project
  - tested general homepage of Projects
  - tested Create Project page
- Search
  - tested search results All Results
  - tested Advanced Search page
- TOTP
  - tested input screen
- Workboard
  - tested specific Workboard
  - tested Create Task popup
  - tested Add Column popup
  - tested Manage Workboard page
  - tested Edit Details page
  - test Flag for Later popup
  - test Edit Picture page

Reviewers: O1 Blessed Committers, Cigaryno, speck

Reviewed By: O1 Blessed Committers, Cigaryno, speck

Subscribers: avivey, speck, tobiaswiese, Matthew, Cigaryno

Tags: #mobile, #ux

Maniphest Tasks: T15216

Differential Revision: https://we.phorge.it/D25107
2023-04-09 22:48:47 +02:00
Valerio Bozzolan
dad1b15a9c User Badges: better integrate with Removed Comments
Summary:
The left part of a Removed Comment can contains User Badges that,
after this change, are more consistent with the new general softness.

| Before     | Proposed  |
|------------|-----------|
|  {F277371} | {F277373} |

Probably five people in a million will notice this change, BUT,
these people will have a huge, deep, breath of relief, knowing that
Phorge takes care about their obsessive-compulsive impulses, to
have everything nice and consistent and neat. You are welcome!

Closes T15235

Test Plan:
- do something to deserve a Badge
- share a Comment somewhere (Maniphest?)
- delete that comment
- check that the badge is slightly softer

Reviewers: O1 Blessed Committers, avivey

Reviewed By: O1 Blessed Committers, avivey

Subscribers: speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15235

Differential Revision: https://we.phorge.it/D25112
2023-04-07 00:21:41 +02:00
Valerio Bozzolan
3a8ee271d9 Render all Removed Comments a little more docile
Summary:
This small restyle makes any Removed Comment a little less
prominent than normal ones, with the goal of decreasing a
bit your in-page distractions and increase your individual
productivity in your business by at least 250 milliseconds
every 48 hours of hard work in front of your monitor.

| Before              | After               |
|---------------------|---------------------|
| {F274834,size=full} | {F274835,size=full} |

This implementation (which is called "Kasper on Diet")
contains these specific changes for Removed Comments:

- user icon visibility: reduced by ~50% (-> Kasper)
- black "trash" icon: reduced by ~50% (-> Diet)
- texts: visibility reduced by ~50%
- vertical padding: reduced from 16px down to 4px

Note that if your Phorge is under the Serious Business Mode,
it seems it is still technically possible to manually
activate the "Decaying Curse" proposal mentioned in the Task.

Closes T15192

Test Plan:
- Add a Comment "I love Phorge"
- Add a Comment "I love Phabricator"
- Mark the second Comment as Removed
- Call a person at your desk
- Plug that person to an eyeball tracker

If the general attention focuses first on a normal Comment and then
on the Removed Comment, this change works perfectly.

Reviewers: O1 Blessed Committers, Cigaryno, avivey

Reviewed By: O1 Blessed Committers, Cigaryno, avivey

Subscribers: speck, tobiaswiese, Matthew, Cigaryno

Tags: #comments

Maniphest Tasks: T15192

Differential Revision: https://we.phorge.it/D25096
2023-04-06 14:46:35 +02:00
Valerio Bozzolan
821df3364e Hide the "hidden" fields on custom form previews
Summary:
Hide the "hidden" fields on custom form previews.

Before this change, Phabricator's custom form preview doesn't actually hide the
hidden fields, instead it shows them at 50% opacity. It looks cluttered and
doesn't provide a very useful "preview" at all.

This just hides some fields via CSS.

Cherry picked from:

https://phabricator.wikimedia.org/rPHABbba62cf5243538af9e37cc1211a01d247294f9f7

Upstream Task:

https://phabricator.wikimedia.org/T209743

Test Plan: Tested in Wikimedia's fork. I believe it results in better UX.

Reviewers: #blessed_committers, O1 Blessed Committers, Cigaryno, avivey, Matthew, valerio.bozzolan

Reviewed By: #blessed_committers, O1 Blessed Committers, Cigaryno, avivey, valerio.bozzolan

Subscribers: avivey, Cigaryno, speck, tobiaswiese, valerio.bozzolan, Matthew

Maniphest Tasks: T15081

Differential Revision: https://we.phorge.it/D25037
2023-03-30 12:11:48 +02:00
Valerio Bozzolan
6036079e88 PHP 8.2: fix deprecated use of "parent" in callables
Summary: Closes T15200

Test Plan:
Test 1:

I was able to run `arc unit --everything` without the error thrown from T15200

Test 2:

I also tried this and it still works:

```
php -a
require 'src/applications/metamta/exception/PhabricatorMetaMTAReceivedMailProcessingException.php';
$asd = new PhabricatorMetaMTAReceivedMailProcessingException("1", "TEST MESSAGE");
var_dump($asd->getMessage());
```

You get:

```
string(12) "TEST MESSAGE"
```

Reviewers: O1 Blessed Committers, Matthew

Reviewed By: O1 Blessed Committers, Matthew

Subscribers: speck, tobiaswiese, Matthew, Cigaryno

Maniphest Tasks: T15200

Differential Revision: https://we.phorge.it/D25099
2023-03-29 20:37:25 +02:00