mirror of
https://github.com/zulip/zulip.git
synced 2025-11-11 17:36:27 +00:00
Limit the number of old messages the client requests
(imported from commit 6bff6aa0b48d46b98aa68c6e29eb569cf41f4989)
This commit is contained in:
@@ -3,6 +3,10 @@ var message_dict = {};
|
|||||||
var subject_dict = {};
|
var subject_dict = {};
|
||||||
var people_hash = {};
|
var people_hash = {};
|
||||||
|
|
||||||
|
// We only tell the server to backfill old messages
|
||||||
|
// if we have fewer than this many messages total.
|
||||||
|
var max_messages_for_backfill = 1000;
|
||||||
|
|
||||||
var selected_message_class = 'selected_message';
|
var selected_message_class = 'selected_message';
|
||||||
var viewport = $(window);
|
var viewport = $(window);
|
||||||
var reloading_app = false;
|
var reloading_app = false;
|
||||||
@@ -14,7 +18,8 @@ var get_updates_params = {
|
|||||||
last: -1,
|
last: -1,
|
||||||
failures: 0,
|
failures: 0,
|
||||||
server_generation: -1, /* to be filled in on document.ready */
|
server_generation: -1, /* to be filled in on document.ready */
|
||||||
reload_pending: 0
|
reload_pending: 0,
|
||||||
|
want_old_messages: true
|
||||||
};
|
};
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
@@ -615,6 +620,7 @@ $(function () {
|
|||||||
var get_updates_xhr;
|
var get_updates_xhr;
|
||||||
var get_updates_timeout;
|
var get_updates_timeout;
|
||||||
function get_updates() {
|
function get_updates() {
|
||||||
|
get_updates_params.want_old_messages = (message_array.length < max_messages_for_backfill);
|
||||||
get_updates_xhr = $.ajax({
|
get_updates_xhr = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
url: '/json/get_updates',
|
url: '/json/get_updates',
|
||||||
|
|||||||
@@ -239,6 +239,7 @@ def return_messages_immediately(request, handler, user_profile, **kwargs):
|
|||||||
first = request.POST.get("first")
|
first = request.POST.get("first")
|
||||||
last = request.POST.get("last")
|
last = request.POST.get("last")
|
||||||
failures = request.POST.get("failures")
|
failures = request.POST.get("failures")
|
||||||
|
want_old_messages = (request.POST.get("want_old_messages") == "true")
|
||||||
client_server_generation = request.POST.get("server_generation")
|
client_server_generation = request.POST.get("server_generation")
|
||||||
client_reload_pending = request.POST.get("reload_pending")
|
client_reload_pending = request.POST.get("reload_pending")
|
||||||
if first is None or last is None:
|
if first is None or last is None:
|
||||||
@@ -264,7 +265,7 @@ def return_messages_immediately(request, handler, user_profile, **kwargs):
|
|||||||
+ list(query.filter(id__gte=ptr)[:200]))
|
+ list(query.filter(id__gte=ptr)[:200]))
|
||||||
else:
|
else:
|
||||||
messages = query.filter(id__gt=last)[:400]
|
messages = query.filter(id__gt=last)[:400]
|
||||||
if not messages:
|
if want_old_messages and not messages:
|
||||||
# No more messages in the future; try filling in from the past.
|
# No more messages in the future; try filling in from the past.
|
||||||
messages = last_n(400, query.filter(id__lt=first))
|
messages = last_n(400, query.filter(id__lt=first))
|
||||||
where = 'top'
|
where = 'top'
|
||||||
|
|||||||
Reference in New Issue
Block a user