avo 1.17.0 → 1.17.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of avo might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afbc7118164b7104453b9440a65ee4ff84a9b2dc6a42f30cf39aaeaca93fc4e3
4
- data.tar.gz: a37f8c6890e565c80f668d630795cfa15422c1d69f443e97542409afc7d6a9ef
3
+ metadata.gz: f979b13adfa02e58a8d2b3b4f6463d0fcef9200cdc4a4dee76b268ebc5a5e8b0
4
+ data.tar.gz: acdddcbb5516ffd36f1538877472f4f8a4ec5f2423a4ddea69b7eed5b156c308
5
5
  SHA512:
6
- metadata.gz: 86bc59793edb35cc7af577d2145d20ae83fc964d7163fa647c53e6d3e560dfadbd5ef79650b45f15d621ee7aab89d2164302ec34e9547381cceacdf8e1613922
7
- data.tar.gz: 1d012fb769f7f297f8eead60bbc296b01666e5d8852f3943c2706ad76bce0ae3ed3b8ac55a1509a84475436ca3cc70b6941070161467e51627561d98045bbff4
6
+ metadata.gz: '050786326a44c661a9c3467cf9f5b3ed5df27a8b713040a9126be15f96b3fcf553b8cd7c7f23fe01339665eac1f41d2a203fca4c3c671676c28b9c6efaf18cb9'
7
+ data.tar.gz: 417a94817cdad9255904bbff41dc5aa911b2dfa02c31ac2f1d2deb46c6038e7a563d802ad0d2b4533e6001e06d455b2fd9cf48a47c2556539e143f48b95ff6ee
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (1.17.0)
4
+ avo (1.17.1)
5
5
  active_link_to
6
6
  addressable
7
7
  breadcrumbs_on_rails
@@ -21,6 +21,23 @@ export default class extends Controller {
21
21
  return param
22
22
  }
23
23
 
24
+ b64EncodeUnicode(str) {
25
+ // first we use encodeURIComponent to get percent-encoded UTF-8,
26
+ // then we convert the percent encodings into raw bytes which
27
+ // can be fed into btoa.
28
+ return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
29
+ function toSolidBytes(match, p1) {
30
+ return String.fromCharCode('0x' + p1);
31
+ }));
32
+ }
33
+
34
+ b64DecodeUnicode(str) {
35
+ // Going backwards: from bytestream, to percent-encoding, to original string.
36
+ return decodeURIComponent(atob(str).split('').map(function(c) {
37
+ return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
38
+ }).join(''));
39
+ }
40
+
24
41
  changeFilter() {
25
42
  const value = this.getFilterValue()
26
43
  const filterClass = this.getFilterClass()
@@ -28,7 +45,7 @@ export default class extends Controller {
28
45
  let filters = this.uriParams()[this.uriParam('filters')]
29
46
 
30
47
  if (filters) {
31
- filters = JSON.parse(atob(filters))
48
+ filters = JSON.parse(this.b64DecodeUnicode(filters))
32
49
  } else {
33
50
  filters = {}
34
51
  }
@@ -46,7 +63,7 @@ export default class extends Controller {
46
63
  let encodedFilters
47
64
 
48
65
  if (filtered && Object.keys(filtered).length > 0) {
49
- encodedFilters = btoa(JSON.stringify(filtered))
66
+ encodedFilters = this.b64EncodeUnicode(JSON.stringify(filtered))
50
67
  }
51
68
 
52
69
  const url = new URI(this.urlRedirectTarget.href)
data/lib/avo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Avo
2
- VERSION = "1.17.0"
2
+ VERSION = "1.17.1"
3
3
  end