From 4b4606e4f1f66c9f889c91e0d465e47cb13ca386 Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Thu, 2 Mar 2023 16:36:04 -0500 Subject: [PATCH 01/11] Rework code depending on msg_type=I|F --- temba/api/v2/tests.py | 4 ++-- temba/channels/tests.py | 8 ++++---- temba/contacts/tests.py | 5 ++++- temba/dashboard/tests.py | 4 ++-- temba/mailroom/events.py | 2 +- temba/mailroom/tests.py | 6 +++--- temba/msgs/models.py | 19 +------------------ temba/msgs/templatetags/sms.py | 2 +- temba/msgs/tests.py | 5 +++-- temba/tests/base.py | 13 ++++--------- temba/tests/engine.py | 6 +++--- 11 files changed, 28 insertions(+), 46 deletions(-) diff --git a/temba/api/v2/tests.py b/temba/api/v2/tests.py index 219d8291d5f..18e8b4b2824 100644 --- a/temba/api/v2/tests.py +++ b/temba/api/v2/tests.py @@ -3644,7 +3644,7 @@ def test_messages(self, mr_mocks): self.assertEqual(resp_json["next"], None) self.assertResultsById(response, [frank_msg1]) self.assertMsgEqual( - resp_json["results"][0], frank_msg1, msg_type="inbox", msg_status="handled", msg_visibility="visible" + resp_json["results"][0], frank_msg1, msg_type="text", msg_status="handled", msg_visibility="visible" ) # filter by incoming, should get deleted messages too @@ -3656,7 +3656,7 @@ def test_messages(self, mr_mocks): self.assertEqual(resp_json["next"], None) self.assertResultsById(response, [joe_msg3, frank_msg1, frank_msg3, deleted_msg, joe_msg1]) self.assertMsgEqual( - resp_json["results"][0], joe_msg3, msg_type="flow", msg_status="handled", msg_visibility="visible" + resp_json["results"][0], joe_msg3, msg_type="text", msg_status="handled", msg_visibility="visible" ) # filter by folder (flow) diff --git a/temba/channels/tests.py b/temba/channels/tests.py index 63be30ab2cf..6d1569a4139 100644 --- a/temba/channels/tests.py +++ b/temba/channels/tests.py @@ -553,8 +553,8 @@ def test_read(self): self.tel_channel.save() # now let's create an ivr interaction - self.create_incoming_msg(joe, "incoming ivr", channel=self.tel_channel, msg_type=Msg.TYPE_VOICE) - self.create_outgoing_msg(joe, "outgoing ivr", channel=self.tel_channel, msg_type=Msg.TYPE_VOICE) + self.create_incoming_msg(joe, "incoming ivr", channel=self.tel_channel, voice=True) + self.create_outgoing_msg(joe, "outgoing ivr", channel=self.tel_channel, voice=True) response = self.fetch_protected(tel_channel_read_url, self.admin) self.assertEqual(4, len(response.context["message_stats"])) @@ -1680,7 +1680,7 @@ def test_daily_counts(self): ChannelCount.objects.all().delete() # incoming IVR - msg4 = self.create_incoming_msg(contact, "Test Message", msg_type=Msg.TYPE_VOICE) + msg4 = self.create_incoming_msg(contact, "Test Message", voice=True) self.assertDailyCount(self.channel, 1, ChannelCount.INCOMING_IVR_TYPE, msg4.created_on.date()) msg4.delete() self.assertDailyCount(self.channel, 1, ChannelCount.INCOMING_IVR_TYPE, msg4.created_on.date()) @@ -1688,7 +1688,7 @@ def test_daily_counts(self): ChannelCount.objects.all().delete() # outgoing ivr - msg5 = self.create_outgoing_msg(contact, "Real Voice", msg_type=Msg.TYPE_VOICE) + msg5 = self.create_outgoing_msg(contact, "Real Voice", voice=True) self.assertDailyCount(self.channel, 1, ChannelCount.OUTGOING_IVR_TYPE, msg5.created_on.date()) msg5.delete() self.assertDailyCount(self.channel, 1, ChannelCount.OUTGOING_IVR_TYPE, msg5.created_on.date()) diff --git a/temba/contacts/tests.py b/temba/contacts/tests.py index df0fe8eb6ad..e6a4e266a95 100644 --- a/temba/contacts/tests.py +++ b/temba/contacts/tests.py @@ -2505,10 +2505,13 @@ def test_history_templatetags(self): item = {"type": "call_started", "status": "F"} self.assertEqual(history_class(item), "non-msg warning") - # inbound + # inbound (legacy msg_type) item = {"type": "msg_received", "msg": {"text": "Hi"}, "msg_type": "I"} self.assertEqual(history_icon(item), '') + item = {"type": "msg_received", "msg": {"text": "Hi"}, "msg_type": "T"} + self.assertEqual(history_icon(item), '') + # outgoing sent item = {"type": "msg_created", "msg": {"text": "Hi"}, "status": "S"} self.assertEqual(history_icon(item), '') diff --git a/temba/dashboard/tests.py b/temba/dashboard/tests.py index 0d472da71a4..cc8283631e7 100644 --- a/temba/dashboard/tests.py +++ b/temba/dashboard/tests.py @@ -16,8 +16,8 @@ def create_activity(self): self.create_outgoing_msg(joe, "Tea of coffee?") self.create_incoming_msg(joe, "Coffee") self.create_outgoing_msg(joe, "OK") - self.create_outgoing_msg(joe, "Wanna hang?", msg_type="V") - self.create_incoming_msg(joe, "Sure", msg_type="V") + self.create_outgoing_msg(joe, "Wanna hang?", voice=True) + self.create_incoming_msg(joe, "Sure", voice=True) def test_dashboard_home(self): dashboard_url = reverse("dashboard.dashboard_home") diff --git a/temba/mailroom/events.py b/temba/mailroom/events.py index ba0aed44c4f..885e5bbec53 100644 --- a/temba/mailroom/events.py +++ b/temba/mailroom/events.py @@ -90,7 +90,7 @@ def from_msg(cls, org: Org, user: User, obj: Msg) -> dict: "created_on": get_event_time(obj).isoformat(), "msg": _msg_in(obj), # additional properties - "msg_type": obj.msg_type, + "msg_type": Msg.TYPE_VOICE if obj.msg_type == Msg.TYPE_VOICE else Msg.TYPE_TEXT, "visibility": obj.visibility, "logs_url": logs_url, } diff --git a/temba/mailroom/tests.py b/temba/mailroom/tests.py index 692b19b0cc4..401a7797393 100644 --- a/temba/mailroom/tests.py +++ b/temba/mailroom/tests.py @@ -803,7 +803,7 @@ def test_from_msg(self): "channel": {"uuid": str(self.channel.uuid), "name": "Test Channel"}, "external_id": "12345", }, - "msg_type": "I", + "msg_type": "T", "visibility": "V", "logs_url": None, }, @@ -826,7 +826,7 @@ def test_from_msg(self): "channel": {"uuid": str(self.channel.uuid), "name": "Test Channel"}, "external_id": "12345", }, - "msg_type": "I", + "msg_type": "T", "visibility": "D", "logs_url": None, }, @@ -849,7 +849,7 @@ def test_from_msg(self): "channel": {"uuid": str(self.channel.uuid), "name": "Test Channel"}, "external_id": "12345", }, - "msg_type": "I", + "msg_type": "T", "visibility": "X", "logs_url": None, }, diff --git a/temba/msgs/models.py b/temba/msgs/models.py index 725c4e9c063..811d2482464 100644 --- a/temba/msgs/models.py +++ b/temba/msgs/models.py @@ -531,23 +531,6 @@ class Msg(models.Model): metadata = JSONAsTextField(null=True, default=dict) log_uuids = ArrayField(models.UUIDField(), null=True) - @classmethod - def get_messages(cls, org, is_archived=False, direction=None, msg_type=None): - messages = cls.objects.filter(org=org) - - if is_archived: # pragma: needs cover - messages = messages.filter(visibility=Msg.VISIBILITY_ARCHIVED) - else: - messages = messages.filter(visibility=Msg.VISIBILITY_VISIBLE) - - if direction: # pragma: needs cover - messages = messages.filter(direction=direction) - - if msg_type: # pragma: needs cover - messages = messages.filter(msg_type=msg_type) - - return messages - @classmethod def fail_old_messages(cls): # pragma: needs cover """ @@ -1181,7 +1164,7 @@ def _get_msg_batches(self, system_label, label, start_date, end_date): elif label: messages = label.get_messages() else: - messages = Msg.get_messages(self.org) + messages = self.org.msgs.filter(visibility=Msg.VISIBILITY_VISIBLE) messages = messages.filter(created_on__gte=start_date, created_on__lte=end_date) diff --git a/temba/msgs/templatetags/sms.py b/temba/msgs/templatetags/sms.py index 616b1fc6d22..7c113f5420a 100644 --- a/temba/msgs/templatetags/sms.py +++ b/temba/msgs/templatetags/sms.py @@ -23,7 +23,7 @@ def as_icon(contact_event): icon = "icon-bubble-dots-2 green" direction = getattr(contact_event, "direction", "O") - msg_type = getattr(contact_event, "msg_type", "I") + msg_type = getattr(contact_event, "msg_type", "T") if hasattr(contact_event, "status"): status = contact_event.status diff --git a/temba/msgs/tests.py b/temba/msgs/tests.py index f5e5553f4fb..114397c44aa 100644 --- a/temba/msgs/tests.py +++ b/temba/msgs/tests.py @@ -1328,7 +1328,7 @@ def test_big_ids(self): text="Hi there", channel=self.channel, status="H", - msg_type="I", + msg_type="T", visibility="V", created_on=timezone.now(), ) @@ -1629,6 +1629,7 @@ def test_failed(self, mock_msg_resend): self.assertNotIn("resend", response.context["actions"]) def test_filter(self): + flow = self.create_flow("Flow") joe = self.create_contact("Joe Blow", phone="+250788000001") frank = self.create_contact("Frank Blow", phone="250788000002") billy = self.create_contact("Billy Bob", urns=["twitter:billy_bob"]) @@ -1644,7 +1645,7 @@ def test_filter(self): msg3 = self.create_incoming_msg(billy, "test3") msg4 = self.create_incoming_msg(joe, "test4", visibility=Msg.VISIBILITY_ARCHIVED) msg5 = self.create_incoming_msg(joe, "test5", visibility=Msg.VISIBILITY_DELETED_BY_USER) - msg6 = self.create_incoming_msg(joe, "flow test", msg_type="F") + msg6 = self.create_incoming_msg(joe, "IVR test", flow=flow) # apply the labels label1.toggle_label([msg1, msg2], add=True) diff --git a/temba/tests/base.py b/temba/tests/base.py index c472e52df06..69ee31e8852 100644 --- a/temba/tests/base.py +++ b/temba/tests/base.py @@ -288,26 +288,21 @@ def create_incoming_msg( contact, text, channel=None, - msg_type=None, attachments=(), status=Msg.STATUS_HANDLED, visibility=Msg.VISIBILITY_VISIBLE, created_on=None, external_id=None, + voice=False, surveyor=False, flow=None, ): - assert not msg_type or status != Msg.STATUS_PENDING, "pending messages don't have a msg type" - - if status == Msg.STATUS_HANDLED and not msg_type: - msg_type = Msg.TYPE_INBOX - return self._create_msg( contact, text, Msg.DIRECTION_IN, channel=channel, - msg_type=msg_type, + msg_type=Msg.TYPE_VOICE if voice else Msg.TYPE_TEXT, attachments=attachments, quick_replies=None, status=status, @@ -327,13 +322,13 @@ def create_outgoing_msg( contact, text, channel=None, - msg_type=Msg.TYPE_TEXT, attachments=(), quick_replies=(), status=Msg.STATUS_SENT, created_on=None, sent_on=None, high_priority=False, + voice=False, surveyor=False, next_attempt=None, failed_reason=None, @@ -351,7 +346,7 @@ def create_outgoing_msg( text, Msg.DIRECTION_OUT, channel=channel, - msg_type=msg_type, + msg_type=Msg.TYPE_VOICE if voice else Msg.TYPE_TEXT, attachments=attachments, quick_replies=quick_replies, status=status, diff --git a/temba/tests/engine.py b/temba/tests/engine.py index 6d2de1c04b8..303c7cb6338 100644 --- a/temba/tests/engine.py +++ b/temba/tests/engine.py @@ -363,12 +363,12 @@ def _handle_msg_created(self, event): contact=self.contact, contact_urn=self.contact.get_urn(), channel=Channel.objects.get(uuid=channel_ref["uuid"]) if channel_ref else None, - direction="O", + direction=Msg.DIRECTION_OUT, text=event["msg"]["text"], attachments=attachments, created_on=event["created_on"], - msg_type="F", - status="S", + msg_type=Msg.TYPE_TEXT, + status=Msg.STATUS_SENT, sent_on=event["created_on"], ) From da3c8ff3a4504d1bf6cf8892606693af48abbc6f Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Mon, 6 Mar 2023 14:55:04 -0500 Subject: [PATCH 02/11] Fix tests --- temba/api/v2/tests.py | 4 ++-- temba/mailroom/tests.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/temba/api/v2/tests.py b/temba/api/v2/tests.py index 18e8b4b2824..219d8291d5f 100644 --- a/temba/api/v2/tests.py +++ b/temba/api/v2/tests.py @@ -3644,7 +3644,7 @@ def test_messages(self, mr_mocks): self.assertEqual(resp_json["next"], None) self.assertResultsById(response, [frank_msg1]) self.assertMsgEqual( - resp_json["results"][0], frank_msg1, msg_type="text", msg_status="handled", msg_visibility="visible" + resp_json["results"][0], frank_msg1, msg_type="inbox", msg_status="handled", msg_visibility="visible" ) # filter by incoming, should get deleted messages too @@ -3656,7 +3656,7 @@ def test_messages(self, mr_mocks): self.assertEqual(resp_json["next"], None) self.assertResultsById(response, [joe_msg3, frank_msg1, frank_msg3, deleted_msg, joe_msg1]) self.assertMsgEqual( - resp_json["results"][0], joe_msg3, msg_type="text", msg_status="handled", msg_visibility="visible" + resp_json["results"][0], joe_msg3, msg_type="flow", msg_status="handled", msg_visibility="visible" ) # filter by folder (flow) diff --git a/temba/mailroom/tests.py b/temba/mailroom/tests.py index 72bfe7f8a24..f3998ba0ef3 100644 --- a/temba/mailroom/tests.py +++ b/temba/mailroom/tests.py @@ -919,7 +919,7 @@ def test_from_msg(self): Event.from_msg(self.org, self.admin, msg_out), ) - ivr_out = self.create_outgoing_msg(contact1, "Hello", msg_type="V") + ivr_out = self.create_outgoing_msg(contact1, "Hello", voice=True) self.assertEqual( { From 7eb5bafe775fc203fb638c9c04c55f2b1367d122 Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Tue, 7 Mar 2023 10:54:14 -0500 Subject: [PATCH 03/11] Fix tests --- temba/tests/base.py | 2 +- temba/tickets/tests.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/temba/tests/base.py b/temba/tests/base.py index 81eaf20c51d..7cc9f3c7230 100644 --- a/temba/tests/base.py +++ b/temba/tests/base.py @@ -466,7 +466,7 @@ def create_broadcast( text, Msg.DIRECTION_OUT, channel=None, - msg_type=Msg.TYPE_INBOX, + msg_type=Msg.TYPE_TEXT, attachments=(), quick_replies=(), status=msg_status, diff --git a/temba/tickets/tests.py b/temba/tickets/tests.py index e374723336d..540de950f94 100644 --- a/temba/tickets/tests.py +++ b/temba/tickets/tests.py @@ -349,7 +349,7 @@ def assert_tickets(resp, tickets: list): "last_msg": { "text": "Hello?", "direction": "I", - "type": "I", + "type": "T", "created_on": matchers.ISODate(), "sender": None, "attachments": [], @@ -370,7 +370,7 @@ def assert_tickets(resp, tickets: list): "last_msg": { "text": "We can help", "direction": "O", - "type": "I", + "type": "T", "created_on": matchers.ISODate(), "sender": {"id": self.admin.id, "email": "admin@nyaruka.com"}, "attachments": [], @@ -391,7 +391,7 @@ def assert_tickets(resp, tickets: list): "last_msg": { "text": "We can help", "direction": "O", - "type": "I", + "type": "T", "created_on": matchers.ISODate(), "sender": {"id": self.admin.id, "email": "admin@nyaruka.com"}, "attachments": [], From 513a3860c9ec8da56307a143ea1b3b735277bc80 Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Tue, 7 Mar 2023 14:38:38 -0500 Subject: [PATCH 04/11] Update CHANGELOG.md for v8.1.59 --- CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b5ae3c0c58..a6fec0a6619 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v8.1.59 (2023-03-07) +------------------------- + * Rework code depending on msg_type=I|F + v8.1.58 (2023-03-07) ------------------------- * Add missing channels migration diff --git a/pyproject.toml b/pyproject.toml index a946727e5f8..70ad4e5dd9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "temba" -version = "8.1.58" +version = "8.1.59" description = "Hosted service for visually building interactive messaging applications" authors = ["Nyaruka "] license = "AGPL-3" From ae21b678c28655d84349df8d0242a67a2d3b00b2 Mon Sep 17 00:00:00 2001 From: Eric Newcomer Date: Tue, 7 Mar 2023 13:24:54 -0800 Subject: [PATCH 05/11] Add lightbox for contact history --- package.json | 2 +- static/css/temba-components.css | 2 ++ temba/campaigns/views.py | 1 + templates/spa_frame.haml | 6 ++++-- templates/tickets/ticket_list_spa.haml | 2 +- yarn.lock | 8 ++++---- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 9a76eb6e612..071c4dbdb61 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@nyaruka/flow-editor": "1.19.2", - "@nyaruka/temba-components": "0.42.1", + "@nyaruka/temba-components": "0.43.0", "codemirror": "5.18.2", "colorette": "1.2.2", "fa-icons": "0.2.0", diff --git a/static/css/temba-components.css b/static/css/temba-components.css index 407b936dad3..c1b8322ef9c 100644 --- a/static/css/temba-components.css +++ b/static/css/temba-components.css @@ -154,6 +154,8 @@ html { --temba-charcount-summary-right: 0px; --temba-charcount-summary-bottom: 0px; + --color-automated: rgb(78,205,106); + } temba-button { diff --git a/temba/campaigns/views.py b/temba/campaigns/views.py index 35cd8dcda79..5e18df6870b 100644 --- a/temba/campaigns/views.py +++ b/temba/campaigns/views.py @@ -116,6 +116,7 @@ def form_valid(self, form): class Read(SpaMixin, OrgObjPermsMixin, ContentMenuMixin, SmartReadView): slug_url_kwarg = "uuid" + menu_path = "/campaign/active" def derive_title(self): return self.object.name diff --git a/templates/spa_frame.haml b/templates/spa_frame.haml index 1022de67d1a..80303a92a44 100644 --- a/templates/spa_frame.haml +++ b/templates/spa_frame.haml @@ -732,7 +732,7 @@ .flex-grow .folders - %temba-menu#nav(class="{% if servicing %}{% endif%}" style="height:100%" endpoint="{% url 'orgs.org_menu' %}" onchange="handleMenuChanged(event)" -temba-button-clicked="handleMenuClicked(event)" -temba-ready="handleMenuReady") + %temba-menu.relative.z-0#nav(class="{% if servicing %}{% endif%}" style="height:100%" endpoint="{% url 'orgs.org_menu' %}" onchange="handleMenuChanged(event)" -temba-button-clicked="handleMenuClicked(event)" -temba-ready="handleMenuReady") -block menu-header .flex-grow.spa-container.flex.flex-col.initial-load @@ -745,7 +745,7 @@ -block page-header -if title or has_content_menu .mb-4 - .spa-title.no-menu.flex.items-center + .spa-title.no-menu.flex.items-center.relative.z-0 .text-container.text-2xl.text-gray-700 .flex.flex-row -block spa-title @@ -782,3 +782,5 @@ Go back to the %span.linked(onclick="leaveNewInterface()" style="color:#43b1ff")< old interface + + %temba-lightbox \ No newline at end of file diff --git a/templates/tickets/ticket_list_spa.haml b/templates/tickets/ticket_list_spa.haml index d15a91906d2..24af28cdb8e 100644 --- a/templates/tickets/ticket_list_spa.haml +++ b/templates/tickets/ticket_list_spa.haml @@ -323,4 +323,4 @@ Sometimes an automated chatbot isn't enough. When your contacts need to chat with a real person, you can use the Open Ticket action to open a new ticket. - %temba-contact-chat.shadow(agent="{{request.user.email}}" -temba-refreshed="handleContactHistoryUpdated" -temba-content-changed="handleTicketUpdated" monitor="true" toolbar="true") + %temba-contact-chat.shadow.mb-6(agent="{{request.user.email}}" -temba-refreshed="handleContactHistoryUpdated" -temba-content-changed="handleTicketUpdated" monitor="true" toolbar="true") diff --git a/yarn.lock b/yarn.lock index 394afda6577..398e057c11e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,10 +48,10 @@ react "^16.8.6" react-dom "^16.8.6" -"@nyaruka/temba-components@0.42.1": - version "0.42.1" - resolved "https://registry.npmjs.org/@nyaruka/temba-components/-/temba-components-0.42.1.tgz#2d589cd4646f7ab604b8b1a25c7ff2704658f88b" - integrity sha512-uN2m1qebACaevQVogd+xit7UMWb7zYio4nDc83aSBPL+9v9znKPDMi2f7+xHNWZu4rzefIeKRPGqiVm2meXWZw== +"@nyaruka/temba-components@0.43.0": + version "0.43.0" + resolved "https://registry.npmjs.org/@nyaruka/temba-components/-/temba-components-0.43.0.tgz#7cb9852db46e38ff3f2940f67bcd2bf6e665ab2f" + integrity sha512-2vBYsiChMPDe+f+PxAxw6BM2vs3uqF93FeN87NOC0Svox1jVbo4jhA4gc53X6E+AfKfDdFBfquwkHq/HMGSYTA== dependencies: color-hash "^2.0.2" geojson "^0.5.0" From a92ced03de06c57f468653771c46d8eae89346c9 Mon Sep 17 00:00:00 2001 From: Eric Newcomer Date: Tue, 7 Mar 2023 13:41:46 -0800 Subject: [PATCH 06/11] Encourage users to try the new interface --- templates/orgs/login/login.haml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/orgs/login/login.haml b/templates/orgs/login/login.haml index 1bd8f6631f6..cd0422a50ef 100644 --- a/templates/orgs/login/login.haml +++ b/templates/orgs/login/login.haml @@ -8,6 +8,9 @@ {% analytics_hook 'login' %} + :javascript + document.cookie = "nav=2; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/;"; + -blocktrans trimmed Please sign in with your email address and password. From c4bb45d0c82878fd3c4b7607741b90aaee8068fd Mon Sep 17 00:00:00 2001 From: Rowan Seymour Date: Tue, 7 Mar 2023 17:04:29 -0500 Subject: [PATCH 07/11] Update CHANGELOG.md for v8.1.60 --- CHANGELOG.md | 5 +++++ pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6fec0a6619..e0b9e1b6097 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +v8.1.60 (2023-03-07) +------------------------- + * Encourage users to try the new interface + * Add lightbox for contact history + v8.1.59 (2023-03-07) ------------------------- * Rework code depending on msg_type=I|F diff --git a/pyproject.toml b/pyproject.toml index 70ad4e5dd9c..f692bfa04ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "temba" -version = "8.1.59" +version = "8.1.60" description = "Hosted service for visually building interactive messaging applications" authors = ["Nyaruka "] license = "AGPL-3" From cb5d09e3ec1b34364895937d058da01e223a2852 Mon Sep 17 00:00:00 2001 From: Eric Newcomer Date: Tue, 7 Mar 2023 14:28:59 -0800 Subject: [PATCH 08/11] Tweak simulator placement in new ui --- package.json | 2 +- templates/flows/flow_editor_spa.haml | 8 ++++++++ yarn.lock | 8 ++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 071c4dbdb61..57ade1b9600 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ ] }, "dependencies": { - "@nyaruka/flow-editor": "1.19.2", + "@nyaruka/flow-editor": "1.19.3", "@nyaruka/temba-components": "0.43.0", "codemirror": "5.18.2", "colorette": "1.2.2", diff --git a/templates/flows/flow_editor_spa.haml b/templates/flows/flow_editor_spa.haml index d7a95ce7b65..631de25945e 100644 --- a/templates/flows/flow_editor_spa.haml +++ b/templates/flows/flow_editor_spa.haml @@ -27,6 +27,14 @@ height: 100%; } + .simulator { + top: 59px !important; + } + + .revisions { + top: 110px !important; + } + #simulator-tab { margin-right: 17px; } diff --git a/yarn.lock b/yarn.lock index 398e057c11e..c9d50e35309 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,10 +40,10 @@ resolved "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.4.1.tgz" integrity sha512-qDv4851VFSaBWzpS02cXHclo40jsbAjRXnebNXpm0uVg32kCneZPo9RYVQtrTNICtZ+1wAYHu1ZtxWSWMbKrBw== -"@nyaruka/flow-editor@1.19.2": - version "1.19.2" - resolved "https://registry.npmjs.org/@nyaruka/flow-editor/-/flow-editor-1.19.2.tgz#1a0dcb154248b712c4210147d2454014f6768daf" - integrity sha512-Knqc6fbM2qTnLrmZhnuANShAkW6B6LyJPUb5afAm9azLSU+YTwAv3V2CwQQ2n4i507F4HGERYxfmf5JBbLEU1Q== +"@nyaruka/flow-editor@1.19.3": + version "1.19.3" + resolved "https://registry.npmjs.org/@nyaruka/flow-editor/-/flow-editor-1.19.3.tgz#444e182c417bd9f49abb20ea8e23e120223de6fa" + integrity sha512-n2E33Ihx0K9aMZunU7hNaNBfK8YcA5348uyNgmh5GAQtQmZmQV0bUUPuucyKg/qS6pvsPW7WGBbLm9ypkowIwA== dependencies: react "^16.8.6" react-dom "^16.8.6" From 2f48d9aeb47ec81ed4f4f0e2455170897d7953c2 Mon Sep 17 00:00:00 2001 From: Eric Newcomer Date: Tue, 7 Mar 2023 15:22:17 -0800 Subject: [PATCH 09/11] Update CHANGELOG.md for v8.1.61 --- CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0b9e1b6097..69e78c91d98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v8.1.61 (2023-03-07) +------------------------- + * Tweak simulator placement in new ui + v8.1.60 (2023-03-07) ------------------------- * Encourage users to try the new interface diff --git a/pyproject.toml b/pyproject.toml index f692bfa04ef..51a403f9209 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "temba" -version = "8.1.60" +version = "8.1.61" description = "Hosted service for visually building interactive messaging applications" authors = ["Nyaruka "] license = "AGPL-3" From 58fe5f1e2d34f3430127d587399106abac78ca8f Mon Sep 17 00:00:00 2001 From: Eric Newcomer Date: Tue, 7 Mar 2023 17:18:47 -0800 Subject: [PATCH 10/11] Small z-index tweak --- templates/spa_frame.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/spa_frame.haml b/templates/spa_frame.haml index 80303a92a44..6b29ab03404 100644 --- a/templates/spa_frame.haml +++ b/templates/spa_frame.haml @@ -745,7 +745,7 @@ -block page-header -if title or has_content_menu .mb-4 - .spa-title.no-menu.flex.items-center.relative.z-0 + .spa-title.no-menu.flex.items-center .text-container.text-2xl.text-gray-700 .flex.flex-row -block spa-title From 02dcea81f7827807dde97b532f8926f53da6beac Mon Sep 17 00:00:00 2001 From: Eric Newcomer Date: Tue, 7 Mar 2023 17:19:01 -0800 Subject: [PATCH 11/11] Update CHANGELOG.md for v8.1.62 --- CHANGELOG.md | 4 ++++ pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69e78c91d98..2d0fae47ba7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v8.1.62 (2023-03-08) +------------------------- + * Small z-index tweak + v8.1.61 (2023-03-07) ------------------------- * Tweak simulator placement in new ui diff --git a/pyproject.toml b/pyproject.toml index 51a403f9209..5c3b2c00682 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "temba" -version = "8.1.61" +version = "8.1.62" description = "Hosted service for visually building interactive messaging applications" authors = ["Nyaruka "] license = "AGPL-3"