Commit Graph

7062 Commits

Author SHA1 Message Date
Brion Vibber
eb22d2d240 Ticket 2135: trim overlong repeats with ellipsis rather than failing.
In web interface and retweet/repeat API we show the original untrimmed text, but some back-compat API messages will still show the trimmed 'RT' version.
This matches Twitter's behavior on overlong retweets, though we're outputting the RT version in more API results than they do.
2010-01-05 16:11:02 -08:00
Zach Copley
7491274c0e Removed crazy redundant broadcasting of notices by the FB app 2010-01-05 16:43:20 +00:00
Zach Copley
fda2fb28f6 - Use a stripped down new notice form for FB app because FB canvas apps
can't support image upload via multipart/form-data (and location sharing
  is iffy).
- Deal with new error code 100 from Facebook, which seem to be for
  inactive accounts.
2010-01-05 16:43:07 +00:00
Brion Vibber
78214c4e06 Exclude process-specific link & result cache references from serialized Memcached_Data_Object instances.
Should fix seemingly-random bugs due to destructor free()ing local resources by mistake.

cherry-pick from 0.9.x
2010-01-04 14:38:56 -08:00
Brion Vibber
8f02379f6e Revert "Take Memcached_DataObject destructor back out to check whether it might be causing some under-the-hood problems."
This reverts commit 89cca01259.
2010-01-04 14:37:39 -08:00
Brion Vibber
af95005bc4 Ticket 2141: bugs with weighted popularity lists across year boundary.
Consolidated several separate implementations of the same weighting algorithm into common_sql_weight() and fixed some bugs...
For MySQL, now using timestampdiff() instead of subtraction for the comparison, so we get sane results when the year doesn't match, and utc_timestamp() rather than now() so we don't get negative ages for recent items with local server timezone.
Unknown whether the same problems affect PostgreSQL, but note that it lacks the timestampdiff() SQL function.
2010-01-04 13:01:17 -08:00
Evan Prodromou
d32fb7c7c4 return false from Memcached_DataObject::staticGet() on not found, like DB_DataObject 2010-01-02 16:28:46 -10:00
Evan Prodromou
2bd32dfad7 change harmless check of to check of in Memcached_DataObject 2010-01-02 16:21:19 -10:00
Evan Prodromou
52fbd10162 incorrectly used empty() instead of isset() for a variable that could be 0 2010-01-02 08:36:47 -10:00
Evan Prodromou
d2bbf65f19 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-01-01 11:27:28 -10:00
Evan Prodromou
79c2e3f720 Revert "add cleanup method to cleanup a single row"
This reverts commit b0527801d9.
2010-01-01 11:27:13 -10:00
Evan Prodromou
b0527801d9 add cleanup method to cleanup a single row 2010-01-01 11:02:56 -10:00
Evan Prodromou
727978332a stop using DB_DataObject's staticGet() which caches 2010-01-01 10:57:22 -10:00
Brion Vibber
89cca01259 Take Memcached_DataObject destructor back out to check whether it might be causing some under-the-hood problems. 2009-12-30 16:42:57 -08:00
Brion Vibber
ff50c2b91d Revert debugging code 2009-12-30 16:40:59 -08:00
Brion Vibber
9218cce3cd subbug debug info to check on free ordering 2009-12-30 15:55:15 -08:00
Brion Vibber
45dc24689d temp debug logging hack for subscriber list early cutoff bug - we can see a cut off list at http://identi.ca/petercook/subscribers but haven't been able to explain it. will log a little data on the execution through the list 2009-12-30 15:09:24 -08:00
Brion Vibber
45c9d3d729 Add progress output and optional --sleep-time parameter to triminboxes.php 2009-12-29 14:17:03 -08:00
Evan Prodromou
360fdb219d don't show notices with deleted profiles 2009-12-29 12:25:41 -08:00
Evan Prodromou
45c4078ca9 notices are immutable, use created date for updated 2009-12-28 17:51:04 -08:00
Evan Prodromou
1e3fea17af don't add flag if it's already there at block time 2009-12-28 16:35:29 -08:00
Evan Prodromou
fa3301cf84 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2009-12-28 12:45:22 -08:00
Evan Prodromou
dd0aaac70e First version of blacklist plugin
First version of blacklist plugin. Replaces custom code in identi.ca's
config.php, which was getting scary and long. Also correctly handles
changed nicknames or URLs in profile settings and using 'forbidden'
URLs in notice text.
2009-12-28 12:42:22 -08:00
Brion Vibber
749b8b5b8c Drop the Google Client API-based AJAX geolocation lookup shim -- it fails to ask for user permission, causing us quite a bit of difficulty. 2009-12-28 12:29:01 -08:00
Evan Prodromou
d9efeb6ac3 optionally flag a profile for review when blocked 2009-12-28 11:02:44 -08:00
Evan Prodromou
6d3e6b4284 move flag creation to a method of data object 2009-12-28 10:58:49 -08:00
Evan Prodromou
2ae04bb6d5 add events for unblocking a profile 2009-12-28 10:50:12 -08:00
Evan Prodromou
c5de326231 events for blocking a user 2009-12-28 10:42:55 -08:00
Evan Prodromou
c07f221040 check if other user exists before unsub 2009-12-28 10:42:31 -08:00
Evan Prodromou
a80fa17872 phpcs-clean User_flag_profile as best as possible 2009-12-28 09:15:07 -08:00
Evan Prodromou
4a5bac43c3 phpcs-clean flagprofile.php 2009-12-28 09:08:28 -08:00
Evan Prodromou
df98ddff0c phpcs-clean clearflag.php 2009-12-28 09:06:38 -08:00
Evan Prodromou
c8fd5403e5 PHPCS-clean adminprofileflags.php 2009-12-28 08:45:21 -08:00
Evan Prodromou
ea23111a56 PHPCS-clean UserFlagPlugin 2009-12-28 08:37:30 -08:00
Evan Prodromou
85b8b35f53 clear flags and show flaggers in adminflagprofile 2009-12-28 08:19:56 -08:00
Evan Prodromou
2c2a82fda0 add stuff for clearing flags to UserFlagPlugin 2009-12-28 08:19:22 -08:00
Evan Prodromou
75fbec2fa3 Add tools to clear flags
Added a form to clear all flags for a profile, when showed on
adminprofileflags list. Add an action to handle the form, and a right
for the action.
2009-12-28 07:58:33 -08:00
Evan Prodromou
4b7835caa5 pagination works for flagged profiles 2009-12-27 11:47:54 -08:00
Evan Prodromou
5d6b6bfd34 admin page checks for right to review flags 2009-12-27 11:04:53 -08:00
Zach Copley
1a462b04d7 Paths admin panel should not insist on an ssl server being specified,
ever.
2009-12-24 15:15:37 -08:00
Zach Copley
7f9b07d8c9 Move ssl settings from site admin panel to paths admin panel 2009-12-24 15:15:19 -08:00
Evan Prodromou
7160e11395 add setconfig.php script to set configuration options 2009-12-24 15:13:30 -08:00
Evan Prodromou
c0f444f564 make sure Geonames API queries use correct arg separator 2009-12-23 12:16:22 -08:00
Evan Prodromou
15b9f61842 Better error notification for Geonames plugin 2009-12-23 09:26:59 -08:00
Evan Prodromou
725b2d0475 save location at notice post time 2009-12-22 21:58:23 -08:00
Brion Vibber
fa0fbd0118 Fix for massively slow friends timeline query due to indexing bug introduced with repeats.
Sorting on notice.id when our primary selector was notice_inbox.user_id caused a filesort and table scan of the notice table.
Switchng to notice_inbox's notice_id means we can use our index, and everything comes right up.

Before:
mysql> explain SELECT notice.id AS id FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id WHERE notice_inbox.user_id = 18574 AND notice.repeat_of IS NULL ORDER BY notice.id DESC LIMIT 61 OFFSET 0;
+----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+
| id | select_type | table        | type   | possible_keys                      | key     | key_len | ref                           | rows   | Extra                                        |
+----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+
|  1 | SIMPLE      | notice_inbox | ref    | PRIMARY,notice_inbox_notice_id_idx | PRIMARY | 4       | const                         | 102600 | Using index; Using temporary; Using filesort |
|  1 | SIMPLE      | notice       | eq_ref | PRIMARY                            | PRIMARY | 4       | stoica.notice_inbox.notice_id |      1 | Using index                                  |
+----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+----------------------------------------------+

After:
mysql> explain SELECT notice.id AS id FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id WHERE notice_inbox.user_id = 18574 AND notice.repeat_of IS NULL ORDER BY notice_id DESC LIMIT 61 OFFSET 0;
+----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+
| id | select_type | table        | type   | possible_keys                      | key     | key_len | ref                           | rows   | Extra                    |
+----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+
|  1 | SIMPLE      | notice_inbox | ref    | PRIMARY,notice_inbox_notice_id_idx | PRIMARY | 4       | const                         | 102816 | Using where; Using index |
|  1 | SIMPLE      | notice       | eq_ref | PRIMARY,notice_repeatof_idx        | PRIMARY | 4       | stoica.notice_inbox.notice_id |      1 | Using where              |
+----+-------------+--------------+--------+------------------------------------+---------+---------+-------------------------------+--------+--------------------------+
2009-12-22 20:30:41 -08:00
Evan Prodromou
f6bf952980 Merge branch 'testing' 2009-12-22 16:44:19 -08:00
Evan Prodromou
30c2e2ce83 update to rc2 2009-12-22 16:41:39 -08:00
Evan Prodromou
d708e40be2 update README for 0.9.0rc2 2009-12-22 16:41:07 -08:00
Brion Vibber
f987273f11 Ignore user language settings that aren't listed in language config; we'll then fall back to current autodetection. This prevents the surprises where your profile suddenly switches to Arabic because it was selected by default due to lack of a match in the drop-down box. 2009-12-21 06:57:10 -08:00