fix: restore mysql docker build
This commit is contained in:
@@ -33,14 +33,10 @@ ENV NO_DB_INIT=true
|
|||||||
ENV SAMPLE_DATA=
|
ENV SAMPLE_DATA=
|
||||||
ENV DEFAULT_COUNTRY_CODE=US
|
ENV DEFAULT_COUNTRY_CODE=US
|
||||||
|
|
||||||
# DB connection is provided at deploy time via secret-backed env var. No default value.
|
|
||||||
ENV MYSQL_DSN=
|
|
||||||
ENV STORE_USE_ADAPTER=mysql
|
ENV STORE_USE_ADAPTER=mysql
|
||||||
ENV REDIS_ADDR=
|
ENV REDIS_ADDR=
|
||||||
ENV REDIS_USERNAME=
|
ENV REDIS_USERNAME=
|
||||||
ENV REDIS_PASSWORD=
|
|
||||||
ENV REDIS_DB=0
|
ENV REDIS_DB=0
|
||||||
ENV REDIS_KEY_PREFIX=im
|
|
||||||
ENV REDIS_DIAL_TIMEOUT_MS=2000
|
ENV REDIS_DIAL_TIMEOUT_MS=2000
|
||||||
ENV REDIS_READ_TIMEOUT_MS=2000
|
ENV REDIS_READ_TIMEOUT_MS=2000
|
||||||
ENV REDIS_WRITE_TIMEOUT_MS=2000
|
ENV REDIS_WRITE_TIMEOUT_MS=2000
|
||||||
@@ -72,13 +68,6 @@ ENV SERVER_STATUS_PATH=''
|
|||||||
ENV ACC_GC_ENABLED=false
|
ENV ACC_GC_ENABLED=false
|
||||||
ENV PLUGIN_PYTHON_CHAT_BOT_ENABLED=false
|
ENV PLUGIN_PYTHON_CHAT_BOT_ENABLED=false
|
||||||
|
|
||||||
# Secrets: intentionally NO default values. Must be injected at deploy time.
|
|
||||||
# An empty/missing value fails loudly at startup rather than silently falling
|
|
||||||
# back to Tinode's publicly-known demo keys.
|
|
||||||
ENV API_KEY_SALT=
|
|
||||||
ENV AUTH_TOKEN_KEY=
|
|
||||||
ENV UID_ENCRYPTION_KEY=
|
|
||||||
|
|
||||||
RUN apk add --no-cache ca-certificates bash grep
|
RUN apk add --no-cache ca-certificates bash grep
|
||||||
|
|
||||||
WORKDIR /opt/tinode
|
WORKDIR /opt/tinode
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ if [ ! -z "$EXT_CONFIG" ] ; then
|
|||||||
else
|
else
|
||||||
CONFIG=working.config
|
CONFIG=working.config
|
||||||
|
|
||||||
|
: "${REDIS_KEY_PREFIX:=im}"
|
||||||
|
|
||||||
# Remove the old config.
|
# Remove the old config.
|
||||||
rm -f working.config
|
rm -f working.config
|
||||||
|
|
||||||
|
|||||||
@@ -3704,8 +3704,8 @@ func (a *adapter) MessageGetAll(topic string, forUser t.Uid, opts *t.QueryOpt) (
|
|||||||
// Get ranges of deleted messages
|
// Get ranges of deleted messages
|
||||||
func (a *adapter) MessageGetDeleted(topic string, forUser t.Uid, opts *t.QueryOpt) ([]t.DelMessage, error) {
|
func (a *adapter) MessageGetDeleted(topic string, forUser t.Uid, opts *t.QueryOpt) ([]t.DelMessage, error) {
|
||||||
var limit = a.maxResults
|
var limit = a.maxResults
|
||||||
var lower = 0
|
var lower int64 = 0
|
||||||
var upper = 1<<31 - 1
|
var upper int64 = 1<<31 - 1
|
||||||
|
|
||||||
if opts != nil {
|
if opts != nil {
|
||||||
if opts.Since > 0 {
|
if opts.Since > 0 {
|
||||||
@@ -3738,8 +3738,8 @@ func (a *adapter) MessageGetDeleted(topic string, forUser t.Uid, opts *t.QueryOp
|
|||||||
Topic string
|
Topic string
|
||||||
Deletedfor int64
|
Deletedfor int64
|
||||||
Delid int
|
Delid int
|
||||||
Low int
|
Low int64
|
||||||
Hi int
|
Hi int64
|
||||||
}
|
}
|
||||||
var dmsgs []t.DelMessage
|
var dmsgs []t.DelMessage
|
||||||
var dmsg t.DelMessage
|
var dmsg t.DelMessage
|
||||||
@@ -3817,7 +3817,7 @@ func messageDeleteList(tx *sqlx.Tx, topic string, toDel *t.DelMessage) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Find the actual IDs still present in the database.
|
// Find the actual IDs still present in the database.
|
||||||
var seqIDs []int
|
var seqIDs []int64
|
||||||
err = tx.Select(&seqIDs, "SELECT seqid FROM im_messages AS m WHERE "+where, args...)
|
err = tx.Select(&seqIDs, "SELECT seqid FROM im_messages AS m WHERE "+where, args...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -3829,7 +3829,7 @@ func messageDeleteList(tx *sqlx.Tx, topic string, toDel *t.DelMessage) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recalculate the actual ranges to delete.
|
// Recalculate the actual ranges to delete.
|
||||||
sort.Ints(seqIDs)
|
sort.Slice(seqIDs, func(i, j int) bool { return seqIDs[i] < seqIDs[j] })
|
||||||
delRanges = t.SliceToRanges(seqIDs)
|
delRanges = t.SliceToRanges(seqIDs)
|
||||||
|
|
||||||
// Compose a new query with the new ranges.
|
// Compose a new query with the new ranges.
|
||||||
|
|||||||
@@ -1118,14 +1118,14 @@ func tenantMessageDeleteList(tx *sqlx.Tx, tenantID t.TenantID, topic string, toD
|
|||||||
where += " AND m.createdat>?"
|
where += " AND m.createdat>?"
|
||||||
args = append(args, newerThan)
|
args = append(args, newerThan)
|
||||||
}
|
}
|
||||||
var seqIDs []int
|
var seqIDs []int64
|
||||||
if err := tx.Select(&seqIDs, "SELECT seqid FROM im_messages AS m WHERE "+where, args...); err != nil {
|
if err := tx.Select(&seqIDs, "SELECT seqid FROM im_messages AS m WHERE "+where, args...); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if len(seqIDs) == 0 {
|
if len(seqIDs) == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
sort.Ints(seqIDs)
|
sort.Slice(seqIDs, func(i, j int) bool { return seqIDs[i] < seqIDs[j] })
|
||||||
delRanges = t.SliceToRanges(seqIDs)
|
delRanges = t.SliceToRanges(seqIDs)
|
||||||
rSQL, rArgs := common.RangesToSql(delRanges)
|
rSQL, rArgs := common.RangesToSql(delRanges)
|
||||||
where = "m.tenant_id=? AND m.topic=? AND m.seqid " + rSQL
|
where = "m.tenant_id=? AND m.topic=? AND m.seqid " + rSQL
|
||||||
@@ -1178,14 +1178,14 @@ func groupMessageDeleteList(tx *sqlx.Tx, topic string, toDel *t.DelMessage) erro
|
|||||||
where += " AND m.created_at>?"
|
where += " AND m.created_at>?"
|
||||||
args = append(args, newerThan)
|
args = append(args, newerThan)
|
||||||
}
|
}
|
||||||
var seqIDs []int
|
var seqIDs []int64
|
||||||
if err = tx.Select(&seqIDs, "SELECT seqid FROM im_group_messages AS m WHERE "+where, args...); err != nil {
|
if err = tx.Select(&seqIDs, "SELECT seqid FROM im_group_messages AS m WHERE "+where, args...); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if len(seqIDs) == 0 {
|
if len(seqIDs) == 0 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
sort.Ints(seqIDs)
|
sort.Slice(seqIDs, func(i, j int) bool { return seqIDs[i] < seqIDs[j] })
|
||||||
delRanges = t.SliceToRanges(seqIDs)
|
delRanges = t.SliceToRanges(seqIDs)
|
||||||
rSQL, rArgs := common.RangesToSql(delRanges)
|
rSQL, rArgs := common.RangesToSql(delRanges)
|
||||||
where = "m.topic=? AND m.seqid " + rSQL
|
where = "m.topic=? AND m.seqid " + rSQL
|
||||||
@@ -5617,7 +5617,9 @@ func (a *adapter) TenantMessageGetDeleted(id t.TenantID, topic string, uid t.Uid
|
|||||||
}
|
}
|
||||||
return deleted, err
|
return deleted, err
|
||||||
}
|
}
|
||||||
limit, lower, upper := a.maxResults, 0, 1<<31-1
|
limit := a.maxResults
|
||||||
|
var lower int64 = 0
|
||||||
|
var upper int64 = 1<<31 - 1
|
||||||
if opts != nil {
|
if opts != nil {
|
||||||
if opts.Since > 0 {
|
if opts.Since > 0 {
|
||||||
lower = opts.Since
|
lower = opts.Since
|
||||||
@@ -5648,8 +5650,8 @@ func (a *adapter) TenantMessageGetDeleted(id t.TenantID, topic string, uid t.Uid
|
|||||||
Topic string
|
Topic string
|
||||||
Deletedfor int64
|
Deletedfor int64
|
||||||
Delid int
|
Delid int
|
||||||
Low int
|
Low int64
|
||||||
Hi int
|
Hi int64
|
||||||
}
|
}
|
||||||
if err = rows.StructScan(&row); err != nil {
|
if err = rows.StructScan(&row); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
+1
-1
@@ -277,7 +277,7 @@ func genDb(data *Data, p2pDel bool, tenantID types.TenantID) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
seqIds := map[string]int{}
|
seqIds := map[string]int64{}
|
||||||
now := types.TimeNow().Add(-time.Minute * 10)
|
now := types.TimeNow().Add(-time.Minute * 10)
|
||||||
|
|
||||||
messageCount := len(data.Messages)
|
messageCount := len(data.Messages)
|
||||||
|
|||||||
Reference in New Issue
Block a user