mirror of
https://github.com/zulip/zulip.git
synced 2025-11-12 18:06:44 +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 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 viewport = $(window);
|
||||
var reloading_app = false;
|
||||
@@ -14,7 +18,8 @@ var get_updates_params = {
|
||||
last: -1,
|
||||
failures: 0,
|
||||
server_generation: -1, /* to be filled in on document.ready */
|
||||
reload_pending: 0
|
||||
reload_pending: 0,
|
||||
want_old_messages: true
|
||||
};
|
||||
|
||||
$(function () {
|
||||
@@ -615,6 +620,7 @@ $(function () {
|
||||
var get_updates_xhr;
|
||||
var get_updates_timeout;
|
||||
function get_updates() {
|
||||
get_updates_params.want_old_messages = (message_array.length < max_messages_for_backfill);
|
||||
get_updates_xhr = $.ajax({
|
||||
type: 'POST',
|
||||
url: '/json/get_updates',
|
||||
|
||||
@@ -239,6 +239,7 @@ def return_messages_immediately(request, handler, user_profile, **kwargs):
|
||||
first = request.POST.get("first")
|
||||
last = request.POST.get("last")
|
||||
failures = request.POST.get("failures")
|
||||
want_old_messages = (request.POST.get("want_old_messages") == "true")
|
||||
client_server_generation = request.POST.get("server_generation")
|
||||
client_reload_pending = request.POST.get("reload_pending")
|
||||
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]))
|
||||
else:
|
||||
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.
|
||||
messages = last_n(400, query.filter(id__lt=first))
|
||||
where = 'top'
|
||||
|
||||
Reference in New Issue
Block a user