get contact pictures from social networks#1580
get contact pictures from social networks#1580call-me-matt wants to merge 78 commits intonextcloud:masterfrom
Conversation
32bd255 to
1d38907
Compare
|
I added some comments! Good job! |
|
Thank you for your feedback! Reducing it to the basic function is fine for me (but later on, I think the background trigger would be a great feature for pictures). I did not implement any settings-page or background function. Now thinking about naming/icons again, maybe the sync-image is not optimal, as it implies bi-directional dataflow. Coming to your proposed structure, let me see if I understood it correctly: |
Codecov Report
@@ Coverage Diff @@
## master #1580 +/- ##
=============================================
- Coverage 67.16% 35.19% -31.98%
- Complexity 15 102 +87
=============================================
Files 5 14 +9
Lines 67 287 +220
=============================================
+ Hits 45 101 +56
- Misses 22 186 +164
Continue to review full report at Codecov.
|
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: matthias <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: matthias <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de> Signed-off-by: call-me-matt <matthias@butler> Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
|
Regarding the legal question. I am 99% sure it is ok to download public pictures for private use. A browser does the same for the local cache. Regarding the last remaining 1%. IF this is illegal then it’s a problem for the person who clicks the button and not us providing the software. So it’s fine to merge IMHO |
|
But disabled by default I think 😀 |
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
skjnldsv
left a comment
There was a problem hiding this comment.
Woooooow, I'm just soooo happy with your work!!
Sorry again I took that long to have the time to dive into this again!
It. Is. Awesome!!!
I added a few comments, but it works very nicely, I'm very happy about the code quality too!!
Very VERY well done @call-me-matt !!!
| // Notify user | ||
| OC.Notification.showTemporary(t('contacts', 'Avatar downloaded from social network')) |
There was a problem hiding this comment.
I guess the avatar being loaded is enough, no need for another feedback?
| // Notify user | |
| OC.Notification.showTemporary(t('contacts', 'Avatar downloaded from social network')) |
There was a problem hiding this comment.
I noticed that in some cases the picture is refreshed but unchanged (to the eye). So that is why I introduced this info popup. I think it happens when the picture is converted in the contact and not byte-identical to the downloaded one. In these cases it looks as if nothing happened to the user, even though the image has been refreshed.
There was a problem hiding this comment.
AH, then we can get this in and if @jancborchardt disagree we'll remove later, this is no blocker ! 😉
|
@ChristophWurst could you do a quick review on the way we do the SocialProvider? This was a talk we had together :) Just a code review see if you spot anything in the php structure that might be optimized/changed! |
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
|
A big thank you for taking your time and all your valuable comments! I started implementing them already (resolving the conversations here as I advance) and will push tomorrow. |
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
skjnldsv
left a comment
There was a problem hiding this comment.
Please also rebase to latest master
I merged our automated php formatting testing Could be nice to have this in as well :)
(Aside from formatting, nothing was done on the conflicting test file, so feel free to drop master changes for tests/unit/Controller/PageControllerTest.php)
Before doing this, please squash all your 75 commits (it's too much 🙈) into one or two commits please 😁 |
|
So, This was actually quite complicated, so I did it on another branch. |
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Signed-off-by: call-me-matt <nextcloud@matthiasheinisch.de>
Fix #1546
Implements partly #20