JSON Parse error: Unexpected token: P

Context:

version: 2.3.0
react-native version: 0.70.6
android 13
Kernel Version | 5.10.81-android12-9-25490797-abS908USQS2BWA2

After upgrading to latest version, I got this issue from Sentry, but I don't know how to fix:
node_modules/react-native-adapty/lib/dist/internal/bridgeError.js in BridgeError at line 10:40

var error_1 = require("../types/error");
var BridgeError = /** @class */ (function (_super) {
    tslib_1.__extends(BridgeError, _super);
    function BridgeError(data) {
        var _this = this;
        var errNative = JSON.parse(data['message']);
        var adaptyCode = errNative['adapty_code'];
        var detail = errNative['detail'];
        var message = errNative['message'];
        _this = _super.call(this, message || detail || adaptyCode) || this;
        _this.adaptyCode = adaptyCode;

it threw the issue here:
var errNative = JSON.parse(data['message']);

On old version for ios user,

react-native-adapty: v1.4.1

I got this
node_modules/react-native-adapty/lib/dist/sdk/error.js in horoscopeNotification at line 9:28

var tslib_1 = require("tslib");
var AdaptyError = /** @class */ (function (_super) {
    tslib_1.__extends(AdaptyError, _super);
    function AdaptyError(_a) {
        var adaptyCode = _a.adaptyCode, localizedDescription = _a.localizedDescription, code = _a.code;
        var _this = _super.call(this, localizedDescription || 'Unknown Adapty Error') || this;
        _this.adaptyCode = adaptyCode;
        _this.localizedDescription = localizedDescription || 'Unknown Adapty Error';
        _this.code = code;
        return _this;
    }

Issue here:
        var _this = _super.call(this, localizedDescription || 'Unknown Adapty Error') || this;

Hey! Sorry for a late reply! It seems you have an error without a message to be parsed (which is not ok). Can you provide any more info what do you do to get this?
If it is right from the start, could it be that you haven't fetched new native lib via gradle sync?

@divanc Thanks for replying, currently I cannot reproduce it from my devices, but we found bunch of this errors from Sentry.
We are trying to add verbose log to see what we can collect.

I wasn't able to get this error today on my example app. I'm looking forward to see your logs!

@divanc Unfortnately, even I added verbose log, but I cannot log the issue from Adapty SDK
We still get around 1300 events affected over 800 users
Can you suggest any way to detect the errors or event collect log from your Adapty SDK?

Excuse me, I had to be offline for a couple of days and now digging all the requests for me.
Does the number still grow?
In v2.3.4 I've handled unknown errors constructors this way: error.localizedDescription would have "Unknown error. JSON: /* JSON string of the error */".
If you don't want to expose a clumsy text like this to an end user, you can handle these errors, they have error.adaptyCode == 'unknown'.

To explain the previous errors origin, I've found several occurrences on Android:
1. When argument was not passed to Android bridge
If you have TypeScript, that should not be the case. If you don't have argument validation, you should check all functions to have valid arguments types (updateAttribution arguments order has changed in v2, it is a good candidate)
2. When you call a not implemented function
It should not be the case, if you do not directly call ReactNative.NativeModules, Adapty is not designed to be used like that. I believe, this is not your case :)
I hope this helps!

@divanc Thanks for updating on this issue, we will roll out a new build with the latest version of react-native-adapty 2.3.4 today. We will let you know, so I think we can keep this issue option for 1 week, is it okay?
Note: we are using Typescript, we don't use updateAttribution, and we don't call NativeModules, just use methods on examples on documentation.

@divanc we are using updateProfile,

but I think it is ok?

We can leave this issue for the time certainly, I just mark them, so I know, which ones I think does not require a lot of work anymore
About updateProfile - I would check everything and answer you in several hours. About typescript - I should probably add serialization type checker, just to be sure. Also these errors should contain more comprehensive descriptions now

Sending both undefined and null should be equally fine.

@divanc
I think I found where the issue comes from
2023-02-22 10:33:26.886 13074-13284 Adapty_v2.3.1    V  VERBOSE: getPaywall(id = premium)
2023-02-22 10:33:26.890 13074-13284 Adapty_v2.3.1    E  ERROR: Play Market request failed: Billing service unavailable on device.
2023-02-22 10:33:26.894 13074-13225 ReactNativeJS   W  [SyntaxError: JSON Parse error: Unexpected token: P]
I am thinking some devices of my users don't support the Billing service, which makes adapty cannot get Paywall.
I am checking
SyntaxError: JSON Parse error: Unexpected token: P]

from our logic or adapty js side.

@divanc I think this edge case is not handled properly on SDK, native side, I think
SyntaxError: JSON Parse error: Unexpected token: C
    at parse (native)

this should be from native, not from our JS handle

JSON Parse Error is the one that is thrown from JS's JSON.parse. I thought I've handled all of these in v2.3.4. Going to browse all the code today.

Hey, @ildfreelancer! In v2.3.6 I resolved all the Android serialization problems. They should not occur anymore
It should only raise the error you have found to JS layer:

2023-02-22 10:33:26.886 13074-13284 Adapty_v2.3.1 V VERBOSE: getPaywall(id = premium)
2023-02-22 10:33:26.890 13074-13284 Adapty_v2.3.1 E ERROR: Play Market request failed: Billing service unavailable on device.

About this error: do you get it on an emulator with Play Market? Are you logged in to your Google account? Maybe this device does not have a Play Market at all?

Hi everyone,
I am having the same issue on Android: SyntaxError: Unexpected token C in JSON at position 0 at JSON.parse (<anonymous>) at new BridgeError
I am running in an emulator, have Play Market installed, logged in with proper testing account.

Hey, @alright! I hope peace finds you 🇺🇦!
Can you check the logs inside Android Studio (if that is how you run)? It should display a proper error

Also a little but more description — does it appear after firing some action?

Thank you!
I am trying to purchase a subscription.
This is what I get in Android Studio:
2023-02-27 12:31:28.567 12855-14356/com.mobile V/Adapty_v2.3.1: VERBOSE: GET https://api.adapty.io/api/v1/sdk/analytics/profiles/.../
2023-02-27 12:31:28.584 12855-14355/com.mobile D/TrafficStats: tagSocket(170) with statsTag=0xffffffff, statsUid=-1
2023-02-27 12:31:28.613 12855-12855/com.mobile E/unknown:ReactModalHost: Creating new dialog from context: com.mobile.MainActivity@bfca31d@201106205
2023-02-27 12:31:28.621 563-2147/? D/CoreBackPreview: Window{edb2476 u0 com.mobile/com.mobile.MainActivity}: Setting back callback OnBackInvokedCallbackInfo{mCallback=android.window.IOnBackInvokedCallback$Stub$Proxy@e5906e4, mPriority=0}
2023-02-27 12:31:28.639 387-493/? D/goldfish-address-space: claimShared: Ask to claim region [0x1f55cc000 0x1f5f34000]
2023-02-27 12:31:28.642 387-493/? D/goldfish-address-space: claimShared: Ask to claim region [0x1f5f34000 0x1f689c000]
2023-02-27 12:31:28.643 387-493/? D/goldfish-address-space: claimShared: Ask to claim region [0x1f689c000 0x1f7204000]
2023-02-27 12:31:28.652 12855-12932/com.mobile W/Parcel: Expecting binder but got null!
2023-02-27 12:31:28.655 853-931/? D/EGL_emulation: app_time_stats: avg=28633.76ms min=28633.76ms max=28633.76ms count=1
2023-02-27 12:31:28.662 12855-12855/com.mobile E/unknown:ReactModalHost: Updating existing dialog with context: com.mobile.MainActivity@bfca31d@201106205
2023-02-27 12:31:28.795 12855-14356/com.mobile V/Adapty_v2.3.1: VERBOSE: (chunk 1) Request is successful. https://api.adapty.io/api/v1/sdk/analytics/profiles/.../ Response: ...
2023-02-27 12:31:28.816 8530-8530/? I/GoogleInputMethodService: GoogleInputMethodService.onFinishInput():3220
2023-02-27 12:31:28.819 8530-8530/? I/GoogleInputMethodService: GoogleInputMethodService.updateDeviceLockedStatus():2114 repeatCheckTimes = 0, unlocked = true
2023-02-27 12:31:28.819 8530-8530/? I/GoogleInputMethodService: GoogleInputMethodService.onStartInput():1919 onStartInput(EditorInfo{inputType=0x0(NULL) imeOptions=0x0 privateImeOptions=null actionName=UNSPECIFIED actionLabel=null actionId=0 initialSelStart=-1 initialSelEnd=-1 initialCapsMode=0x0 hintText=null label=null packageName=com.mobile fieldId=-1 fieldName=null extras=null}, false)
2023-02-27 12:31:28.819 8530-8530/? I/GoogleInputMethodService: GoogleInputMethodService.updateDeviceLockedStatus():2114 repeatCheckTimes = 2, unlocked = true
2023-02-27 12:31:28.840 12855-12989/com.mobile E/ReactNativeJS: { error: { [SyntaxError: JSON Parse error: Unexpected identifier "n"] line: 1102, column: 168, sourceURL: 'index.android.bundle' } }
2023-02-27 12:31:28.847 12855-12990/com.mobile E/unknown:ReactNative: console.error: {"error":{"line":1102,"column":168,"sourceURL":"index.android.bundle"}}, stack:
    construct@-1
    construct@-1
    o@169:330
    construct@-1
    <unknown>@168:437
    s@168:637
    f@168:1781
    <unknown>@2454:3892
    p@186:1352
    <unknown>@186:1101
    p@186:1352
    o@186:1767
    <unknown>@186:1949
    u@181:156
    <unknown>@181:865
    <unknown>@189:1661
    k@189:497
    w@189:887
    callReactNativeMicrotasks@189:3054
    value@146:2867
    <unknown>@146:959
    value@146:2503
    value@146:918
    value@-1
2023-02-27 12:31:28.893 563-2147/? D/CoreBackPreview: Window{edb2476 u0 com.mobile/com.mobile.MainActivity}: Setting back callback null

Tried v2.3.10. It seems the issue is with handling long response, divided into chunks.
V/Adapty_v2.3.3: VERBOSE: getProfile()
V/Adapty_v2.3.3: VERBOSE: GET https://api.adapty.io/api/v1/sdk/analytics/profiles/c4965fff-16a3-4aa0-a9bf-9bb6a773afdd/
D/EGL_emulation: app_time_stats: avg=14666.98ms min=62.34ms max=29271.62ms count=2
V/Adapty_v2.3.3: VERBOSE: (chunk 1) Request is successful. https://api.adapty.io/api/v1/sdk/analytics/profiles/c4965fff-16a3-4aa0-a9bf-9bb6a773afdd/ Response: {"data":{"type":"adapty_analytics_profile","id":"c4965fff-16a3-4aa0-a9bf-9bb6a773afdd","attributes":{"app_id":"ba0a3e4d-dfb1-42ea-8b4e-6285c2ba461f","profile_id":"c4965fff-16a3-4aa0-a9bf-9bb6a773afdd","customer_user_id":"a4a32a78-78bb-46b9-baa0-0df7869d8e05","total_revenue_usd":6242.275499999995,"paid_access_levels":{"personal_platinum":{"id":"personal_platinum","is_active":false,"is_lifetime":false,"expires_at":"2023-01-07T08:48:05.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.platinum_yearly","store":"app_store","activated_at":"2022-10-06T12:03:45.000000+0000","renewed_at":"2023-01-07T07:48:05.000000+0000","unsubscribed_at":"2023-01-07T08:48:05.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":null,"is_refund":false},"personal_silver":{"id":"personal_silver","is_active":false,"is_lifetime":false,"expires_at":"2022-12-09T12:43:23.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.silver_monthly","store":"app_store","activated_at":"2022-12-09T09:42:02.000000+0000","renewed_at":"2022-12-09T12:38:23.000000+0000","unsubscribed_at":"2022-12-09T12:43:23.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":null,"is_refund":false},"personal_gold":{"id":"personal_gold","is_active":false,"is_lifetime":false,"expires_at":"2023-01-19T22:13:02.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.gold_monthly","store":"app_store","activated_at":"2022-10-06T12:03:45.000000+0000","renewed_at":"2023-01-19T22:08:02.000000+0000","unsubscribed_at":"2023-01-19T22:13:02.000000+0000","billing_issue_detected_at":"2023-01-19T22:13:02.000000+0000","is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":"voluntarily_cancelled","is_refund":false},"premium":{"id":"premium","is_active":false,"is_lifetime":false,"expires_at":"2022-11-30T23:59:59.999999+0000","starts_at":null,"will_renew":false,"vendor_product_id":"adapty_promotion","store":"adapty","activated_at":"2022-12-08T11:31:03.820072+0000","renewed_at":null,"unsubscribed_at":null,"billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":null,"is_refund":false},"business_professional":{"id":"business_professional","is_active":false,"is_lifetime":false,"expires_at":"2022-12-09T12:34:32.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.business.professional_yearly","store":"app_store","activated_at":"2022-12-09T09:51:58.000000+0000","renewed_at":"2022-12-09T11:34:32.000000+0000","unsubscribed_at":"2022-12-09T12:34:32.000000+0000","billing_issue_detected_at":"2022-12-09T12:34:32.000000+0000","is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":"voluntarily_cancelled","is_refund":false},"business_essentians":{"id":"business_essentians","is_active":false,"is_lifetime":false,"expires_at":"2022-12-09T11:34:32.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.business.essentials_yearly","store":"app_store","activated_at":"2022-12-09T09:51:58.000000+0000","renewed_at":"2022-12-09T10:55:22.000000+0000","unsubscribed_at":"2022-12-09T11:55:22.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional
V/Adapty_v2.3.3: VERBOSE: (chunk 2) _offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":"upgraded","is_refund":false}},"subscriptions":{"mobile.plan.personal.gold_monthly":{"is_active":false,"is_lifetime":false,"expires_at":"2023-01-19T22:13:02.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.gold_monthly","vendor_transaction_id":"2000000254397340","vendor_original_transaction_id":"2000000171087897","store":"app_store","activated_at":"2022-10-06T12:03:45.000000+0000","renewed_at":"2023-01-19T22:08:02.000000+0000","unsubscribed_at":"2023-01-19T22:13:02.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":"voluntarily_cancelled","is_sandbox":true,"is_refund":false},"mobile.plan.personal.silver_monthly":{"is_active":false,"is_lifetime":false,"expires_at":"2022-12-08T16:40:52.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.silver_monthly","vendor_transaction_id":"2000000223143171","vendor_original_transaction_id":"2000000171087897","store":"app_store","activated_at":"2022-10-06T12:03:45.000000+0000","renewed_at":"2022-12-08T16:35:52.000000+0000","unsubscribed_at":"2022-12-08T16:40:52.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":null,"is_sandbox":true,"is_refund":false},"mobile.plan.personal.platinum_monthly":{"is_active":false,"is_lifetime":false,"expires_at":"2022-12-09T10:25:39.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.platinum_monthly","vendor_transaction_id":"2000000223766607","vendor_original_transaction_id":"2000000171087897","store":"app_store","activated_at":"2022-10-06T12:03:45.000000+0000","renewed_at":"2022-12-09T10:20:39.000000+0000","unsubscribed_at":"2022-12-09T10:25:39.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":null,"is_sandbox":true,"is_refund":false},"mobile.plan.business.professional_yearly":{"is_active":false,"is_lifetime":false,"expires_at":"2022-12-09T03:40:18.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.business.professional_yearly","vendor_transaction_id":"2000000223366004","vendor_original_transaction_id":"2000000223109767","store":"app_store","activated_at":"2022-12-08T15:40:22.000000+0000","renewed_at":"2022-12-09T02:40:18.000000+0000","unsubscribed_at":"2022-12-09T03:40:18.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":"voluntarily_cancelled","is_sandbox":true,"is_refund":false},"mobile.plan.business.essentials_yearly":{"is_active":false,"is_lifetime":false,"expires_at":"2022-12-09T11:34:32.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.business.essentials_yearly","vendor_transaction_id":"2000000223804603","vendor_original_transaction_id":"2000000223728240","store":"app_store","activated_at":"2022-12-09T09:51:58.000000+0000","renewed_at":"2022-12-09T10:55:22.000000+0000","unsubscribed_at":"2022-12-09T11:55:22.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":"upgraded","is_sandbox":true,"is_refund":false},"mobile.plan.personal.platinum_yearly":{"is_active":false,"is_lifetime":false,"expires_at":"2023-01-07T08:48:05.000000+0000","starts_at":null,"will_renew":false,"vendor_product_id":"mobile.plan.personal.platinum_yearly","vendor_transaction_id
V/Adapty_v2.3.3: VERBOSE: (chunk 3) ":"2000000244334476","vendor_original_transaction_id":"2000000171087897","store":"app_store","activated_at":"2022-10-06T12:03:45.000000+0000","renewed_at":"2023-01-07T07:48:05.000000+0000","unsubscribed_at":"2023-01-07T08:48:05.000000+0000","billing_issue_detected_at":null,"is_in_grace_period":false,"active_introductory_offer_type":null,"active_promotional_offer_type":null,"active_promotional_offer_id":null,"cancellation_reason":null,"is_sandbox":true,"is_refund":false}},"non_subscriptions":{"mobile.hotlikes.one":[{"purchase_id":"ff1078cf-ecf1-4a2b-8e19-1a41d920a74a","purchased_at":"2022-12-07T17:19:43.000000+0000","vendor_product_id":"mobile.hotlikes.one","vendor_transaction_id":"2000000222075112","vendor_original_transaction_id":"2000000222075112","store":"app_store","is_one_time":false,"is_sandbox":true,"is_refund":false}]},"custom_attributes":{},"promotional_offer_eligibility":false,"introductory_offer_eligibility":true}}}
E/ReactNativeJS: { error: { [SyntaxError: JSON Parse error: Unexpected identifier "n"] line: 1102, column: 168, sourceURL: 'index.android.bundle' } }
E/unknown:ReactNative: console.error: {"error":{"line":1102,"column":168,"sourceURL":"index.android.bundle"}}, stack:
    construct@-1
    construct@-1
    o@169:330
    construct@-1
    <unknown>@168:437
    s@168:637
    f@168:1781
    <unknown>@2454:3892
    p@186:1352
    <unknown>@186:1101
    p@186:1352
    o@186:1767
    <unknown>@186:1949
    u@181:156
    <unknown>@181:865
    <unknown>@189:1661
    k@189:497
    w@189:887
    callReactNativeMicrotasks@189:3054
    value@146:2867
    <unknown>@146:959
    value@146:2503
    value@146:918
    value@-1
    value@-1
E/unknown:ReactModalHost: Creating new dialog from context: com.mobile.mobile.MainActivity@e2b815c@237732188

Hello again, @alright. Chunking is something to solve logcat's own behavior. It strips longer lines at log basically disappears.
It is not that convenient to cut JSON in chunks as it is not readable, when incomplete...
I've tested this object with my tests, which turned out alright. Can you please check JS logs (RN server console)? When verbose, they should provide you with the exact deserialization problem instead of this ambiguous message

@alright, can you please tell, whether problem remains? Also whether you've tried looking into verbose JS logs?

Works fine for us on 2.3.13, thank you!


Some improvements in the handling of headers and 16-/24-/32-bit data

Lots of changes, but most of them are just simplifications.
The major ones are the automation of extra header field detection and more spec-compliance in data parsing. For example, the alpha mask actually isn't included in BITMAPINFOHEADER / BITMAPV2INFOHEADER headers, unless asked by BI_ALPHABITFIELDS, unlike what is assumed in the current master (this is what made me fix this library, since I had to deal with images which were crashing because of this). Another improvement is the mask handling, especially so in the 16-bit mode: it's completely universal now, and there's no need in the 15-bit mode anymore, nor in is_with_alpha.
Also added a toRGBA option, switching the output to big endian RGBA, making it compatible with other libraries, like pngjs.
Using the Wikipedia article as the specification, for the lack of a better centralized doc.
Currently published as @jeremejevs/bmp-js, for those who need this ASAP.

Hey @jeremejevs, Thanks for your amazing work!
I was looking for solution using bitmap as input on sharp.
It can takes raw uint8 rgb pixels, but RGBA sequence was required like pngjs. so the added option you made toRGBA option was just what i was looking for. and worked like charm.
anyway there are some issue still remains,

toRGBA option did'nt work on 1/2/4/8/16bit pixel depths
default padding / default alpha value - i had to modify these values to 0xff from 0x00 to get expected results (i experienced blue tinted color, empty converted image...)
missing typescript support

so i made some improvements based on your work:
https://github.com/balmbees/bmp-js
it resolves descried issues, provides typescript definition. check it out if you need ;)

@mooyoul Thanks for picking this up, looks good!
Make sure to put @vingle/bmp-js in the readme, instead of bmp-js, so that people install the right version. Also, the TS interface isn't 100% in-sync with BmpDecoder, there's no is_with_alpha anymore, and it has toRGBA now. And reserved has been split into reserved1 and reserved2.
Honestly, this whole lib could use a rewrite in TS, I didn't do it to save some time (just wanted to get a single BMP-to-PNG test going, no production needs) and to keep the diff to a minimum (which appears to have been a waste of time, still not reviewed/merged).

@jeremejevs I run https://github.com/oliver-moran/jimp/ and there are a bunch of features the community wants from BMP encoding/decoding. Would you like to work together to create a typescript bmp-js?

@jeremejevs  working here https://github.com/hipstersmoothie/bmp-js/tree/ts. I'm gonna try to integrate

@jeremejevs I have now integrated your code into the TS bmp-js

@shaozilee would you be open to merging a typescript rewrite? or should i maintain a new version of bmp-js?

@hipstersmoothie Hi, I think I wouldn't mind working on this, but we don't depend on this module in production at work, so there's no incentive to invest billed hours into it, and I'm currently focused on other things in my free time, so sorry, it's a no at this time.
I see that you went ahead and have done it yourself in a couple of hours though, so no loss :stuck_out_tongue: I've taken a quick glance at your branch, and there are a few things I would refactor more radically, but seems good otherwise! Why didn't you base it on @mooyoul's fork though?

@jeremejevs ooops. guess I'm gonna loose another few hours. I'll probably make a PR there.

Oh, it's not a big diff, but yeah, it does have a few useful fixes.

@jeremejevs I'd appreciate it if you could take a look at https://github.com/hipstersmoothie/bmp-js. I have implemented encoding at all the bit sizes. Anything is helpful!

@hipstersmoothie Skimmed through the decoder, looks alright! One quick suggestion I have is to inline parseHeader and parseRGBA into the constructor, that way you'll be able to avoid doing the non-null assertion on most of the properties, I believe. Also, I think it's safe for you to remain in your own fork, you're clearly the most active of the four of us.


dir_token is useless anymore is should be removed

This is used in:
 iocore/cache/CacheDir.cc:    if (!dir_token(e) && dir_offset(e) >= static_cast<int64_t>(start) && dir_offset(e) < static_cast<int64_t>(end)) {
Please reopen if this still needs to be fixed.

That reads it, but I can't find any place it would be set. There is dir_set_token but it's never called. I think @scw00 is correct, those bits are never set, and therefore are not useful.

FWIW, the dir_set_token() calls were dead code and removed by this commit.
https://github.com/apache/trafficserver/commit/6f155f44466c91aa892b861777c914b1ddde7b99#diff-b194c2cc95f7657ac89659cbad6b6d3b3dd80ff4ad5757ff1bbe4b0ac482b983L240


Add Controller Sign Ups

Controllers can mark a time on the calendar during which they will provide ATC services to attract more pilots.

Will be included in Houston-ARTCC/zhu-core.


Preferred way to get an activation factory

Is there an equivalent to C++\WinRT's get_activation_factory helper? I see the factory method in factory_cache.rs, but it isn't exported publicly. Is there another facility I should prefer? Otherwise I'm happy to submit a PR making it public.
The need for the activation factory comes from the capture API. We expose a IGraphicsCaptureItemInterop interface, that despite its name is an interface you QI for from the item's factory.

There is and you should be able to write:
let interop = windows::factory::<GraphicsCaptureItem, IGraphicsCaptureItemInterop>()?;

But I just noticed the helper isn't public. This PR makes it public: https://github.com/microsoft/windows-rs/pull/452

There is and you should be able to write:
let interop = windows::factory::<GraphicsCaptureItem, IGraphicsCaptureItemInterop>()?;

But I just noticed the helper isn't public. This PR makes it public: https://github.com/microsoft/windows-rs/pull/452

Picked up the new change and it works great! Thanks!

Picked up the new change and it works great! Thanks!


Adds Databricks Partner Token to docs

Adds Databricks Partner Token image to Databricks integration tutorial:

Maybe, we could add this svg somewhere as visible as it is now but less big

Changes the layout so the image is placed better:


App size has 80MB+ difference between APK and IPA

Steps to Reproduce

Following the docs for measuring app size, APKs generated read a 17MB size but IPA reads a 99MB

Target Platform:
iOS and Andriod
Logs

Analyzing icay...
No issues found! (ran in 12.2s)

[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-US)
    • Flutter version 1.12.13+hotfix.5 at /Users/tapizquent/Projects/tools/flutter
    • Framework revision 27321ebbad (2 weeks ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /Users/tapizquent/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.41.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.7.1

[✓] Connected device (1 available)
    • iPhone • ios • iOS 13.3

• No issues found!

possible duplicate of https://github.com/flutter/flutter/issues/47101

This is indeed a duplicate of https://github.com/flutter/flutter/issues/47101


Add support for vite.js

It would be nice to support a vite.js for files:

vite.config.js

https://vitejs.dev/config/

It's missing .ts extension, also other possible custom files like vite.config.electron.ts

Thanks for the ping, added a more expansive list that should cover this:


SAM-2747; fix extended dates

In addition to the problem originally reported, the code didn't handle time zones.

I've added a second commit, which handles missing and blank dates. See the Jira for details on what it actually does.

still not quite ready. I found yet another special case.

I think this is now ready. It turns out to be quite a bit of work to get all the various cases right. A lot more than I expected when I started work on the Jira.

OK, let's try again. I tested everything in Spanish.
The key was to do everything using the datetimepicker Javascript API rather than getting data out of the INPUT's directly. I had actually gotten most of it already, but there was one operation that didn't work the way you'd expect.

Is it crazy to suggest that we should try scrapping the US-specific date format and use a proper ISO-8601 when saving to the database?

As far as I'm concerned the formats are all arbitrary. As long as it's unambiguous, I don't much care what it is. I'm spent enough time on this issue. If you want to change the format feel free. The current format is 05/10/2016 16:10. That's pretty straightforward. (Actually there are two versions, with and without seconds. The difference doesn't seem to matter.)

05/10 is pretty ambiguous when the discussion includes Europeans.
I tested by setting my site locale to Sweden and this PR did not work.
I am also scared by lines like this:
SimpleDateFormat("MM/dd/yyyy hh:mm:ss", Locale.ENGLISH);
How does that parse out in the UK?

SimpleDateFormat("MM/dd/yyyy hh:mm:ss", Locale.ENGLISH);
MM/dd/yyyy is pretty clear I think. ISO format is just going to be a different format.
I debugged in Spanish. I just tested in Swedish. No problem. Are you sure you used the latest code? I ran into trouble, which is the reason for the most recent commit. The problem wasn't due to the format but due to the fact that the original code didn't use the Javascript APIs consistently.

It's worth noting that Samigo currently stores time for all the fields I checked without a time zone in the string. It uses the default zone for the JVM. I think that's ugly. It could cause trouble if for some reason an installation has to change time zones (e.g. the legislature makes a change). Because ISO format has the time zone built into it, I suspect that using it would fix this problem. However I don't think it's a good idea to have a few fields in Samigo behave differently from the rest, and I don't think this is a good time to redo all the time handling in Samigo.
This raises an interesting question. If you export an assessment in QTI format, one would hope that the dates would all be converted to ISO format. Should that include these dates? I'll investigate. If other dates are turned into ISO for QTI, I'll do it with these. But I wouldn't hold up accepting the PR and testing for that. We can test export and import separately. I don't, however, recommend storing these fields in the database in a format that will cause different behavior from other date/time fields.

Ugh. I was mislead by looking at output from SELECT statements. Samigo stores other dates as database datetime. I'm going to investigate further to see just how it works. If release and due dates are being stored in a format that's timezone-independent, I'll do the same with this. Not sure whether ISO format or something similar without the timezone specification that's unambiguously in UCT. Whatever, it needs to behave the same way as the assessments dates.

I just checked assignment. It uses common chef services, which if the method names aren't misleading stores data as a custom format interpreted as GMT. I checked forums, but I'll need to look more at the implementation. It stores as java.util.Date, but that maps to date time, so it depends upon how Hibernate's low-level code works whether that's normalized to GMT or not. I'll test it.

I don't want to make this ticket any more complicated, but here is just one more piece of info: Maria JDBC seems to behave differently than MySQL Connector JDBC with Samigo due dates. Maria JDBC seems to want to "correct" our dates that are missing timezones by adjusting them to UTC time. MySQL Connector JDBC seems to let the dates go in as is .....

wonderful. My tests are with mariadb client.
I've just done time zone checks with the major tools. All passed except 2:

forums open date doesn't change when the user changes time zone
Samigo override due date doesn't change.
I'll fix the second. The first is probably worth a jira. Once I fix the Samigo override I'll try changing my server to a different time zone and see how consistent or otherwise we are.

Yeah my tests were when my DB server was on UTC time and my app server was on EDT time. Maria JDBC "corrected" the times and MySQL JDBC left them untouched.
Please let me know how I can help on this today... I should have 2 hours later this afternoon.

IMO we should be saving in ISO-8601 and then translating for outbound. However thats a design decision that might need to be addressed at a later time.

It depends upon how the rest of Samigo works. My suspicion is that it is saving in the local time of the server, but I need to do some experiments. If that’s true, then to be consistent, this should be stored the same way. I don’t think we want two dates on the same page that work differently, and I don’t think we want to redo date handling in Samigo.
On May 11, 2016, at 10:07 AM, Steve Swinsburg <notifications<EMAIL_ADDRESS>wrote:
IMO we should be saving in ISO-8601 and then translating for outbound. However thats a design decision that might need to be addressed at a later time.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/sakaiproject/sakai/pull/2495#issuecomment-218470084

I just did the experiment. I changed my system from EST to PST, leaving my user set to EST in Sakai.
Assignment - ok
forum: open date for forum ok, but date a message posted changes
lesson: page hide date changes, rubric due OK
Samigo: both assessment due and override due change.
I'll fix the Lessons issue if I can without breaking existing dates.
Samigo explicitly converts dates to the time zone of the server and saves them that way. That's why I did the same thing for the override dates. Do you really want two dates that the user thinks are the same to behave differently?

Do you really want two dates that the user thinks are the same to behave differently?

No, definitely not. I want the simplest way out of this samigo extended time mess......
I'm shocked that this extended time holder saves times in a different format than the regular open/due dates in samigo. So I support the easiest path forward here....

I've now uploaded the latest code. I think this is ready for QA.
The only remaining issue is our disagreement over how to store the date. I claim that I should use the normal Samigo code and not code that is better but inconsistent with the rest of Samigo.

Agree, I'm fine with whatever code is used in the rest of Samigo. My first impression was that MM/dd/YYYY storage in the database was new code..... but it seemed to have been introduced by the SAM-1408 code.

MM/dd/YYYY is new code. It's new because it now has to be stored as text. I've actually changed it to yyyy-mm-dd, which seems more standard, but it's still local time, not ISO format, because that's how other Samigo dates work, although as database fields rather than text.

Great. I will review and test this afternoon.

I'm still worried about copying between sites and export, but I wouldn't hold up QA for that. One possibility is not to export or copy exceptions at all, since they are normally used for weird cases that won't make sense in a new site. If we try to copy it, we have to figure out how to handle the users or groups for which the exception is defined, since the new site typically won't have them.

Agree: I don't think an exception should be copied to a new site. I also don't think we can imagine exporting this date to QTI.
Thanks for the work on this patch. It's tough, tough code.

In fact the exceptions are not copied or included in the QTI export. I think that's fine.

Ugh. I just checked the Lessons problem. The documentation all seems to say the type="timestamp" will generate SQL type timestamp. In fact it generates datetime. Thus Lessons dates are not stored the way I intended. It doesn't appear that there's any Hibernate declaration that will generate a timestamp data type. I can fix this by explicitly converting to UCT, but that would break all existing values unless I come up with some hack.

Okay, this is working well in my local testing.
My only question: is the convertZones method necessary? Is this code doing additional time zone translation that the rest of Samigo is not doing ?

convertZones is converting the data from browser to the JVM’s time zone. Without that users in different time zones won’t get appropriate results.
This code is equivalent to what’s in samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/util/TimeUtil.java. It’s the same approach — that’s where I got it -- but I couldn’t use the routines from TimeUtil because they go between string and date, and I need to go from string to string, because I’m saving as string where other parts of Samigo save as datetime in the database. There’s a separate database field for due date. But the overrides are stored as metadata, which is a String. But I’m basically doing getServerDateTime in one direction and getDisplayDateTime in the other direction.
On May 12, 2016, at 4:28 PM, Sam Ottenhoff <notifications<EMAIL_ADDRESS>wrote:
Okay, this is working well in my local testing.
My only question: is the convertZones method necessary? Is this code doing additional time zone translation that the rest of Samigo is not doing ?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHubhttps://github.com/sakaiproject/sakai/pull/2495#issuecomment-218875833


Support using custom HTTP client

Solves #49

What do you think of going one step further adding an interface for HTTPClient so one can use wrapped http.Client's (handling retries,  exponential backoff etc.)?
https://github.com/jayme-github/bitfinex-api-go/commit/c25e01614c085a14df1a85641b1b4c7d335d79a4

putting into review/qa for someone from bitfinex to ultimately merge.
thank you for the contribution.

It seems to have an ACK from bitfinex for a long time :D

any updates on that topic? Would be great to have that merged :)


-stats_mode does not work

Enabling -stats_mode run-time flag makes peloton run into infinite loop, this happens in the catalog initialization phase.

I spoke with @AngLi-Leon and will take a look into it.


Can't use content/design/ as a Section

Hello, apologies if this is posted in another issue, but I couldn't find any reference to it.
I'm currently using Hugo v0.54.0 and am building a simple theme to use for some internal documentation with a client of ours. Nothing fancy, just a couple of templates and some syntax highlighting.
I thought I was doing something wrong, but it seems that you cannot have a Content Section of content/design/.  Renaming this directory to something else like content/arch/ makes it work with existing layouts.
For completeness sake here is the structure:
content/
    _index.md
    design/
        _index.md
    ops/
        _index.md
    testing/
       _index.md
layouts/
    _default/
        single.html
        list.html
        section.html
    index.html

Did I perhaps stumble upon some reserved word perhaps?

Did I perhaps stumble upon some reserved word perhaps?

No design is not a reserved word in Hugo. I know first hand because I am using a design section in one of my projects.
Something else is at play here. I suggest that you open a topic in the Hugo Support Forum and make sure to read the forum's guidelines for requesting help.


Add Kiyas to Contributors list

Hi  @kiyas, I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added social share  to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

Thanks @Roshanjossey for your tutorial. It is the best way to start using git.

I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://goo.gl/PM1Jdh


Hoxton.SR3 upgrade to Hoxton.SR7 , Unable to start properly

application.yml
server:
  port: 8004

spring:
  application:
    name: spring-cloud-rabbit-service-4
  cloud:
    stream:
      binders:
        local_rabbit:
          type: rabbit
          environment:
            spring:
              rabbitmq:
                host: localhost
                port: 5672
                username: guest
                password: guest
                virtual-host: /
      function.definition: myQueue;
      bindings:
        myQueue-in-0:
          destination: myExchange
          group: myQueue
      rabbit:
        bindings:
          myQueue-in-0:
            consumer:
              bindingRoutingKey: 1
              queueNameGroupOnly: true
              exchangeType: direct

Java Code

@Service
public class MessageListener {

    @Bean
    public Consumer<Flux<String>> myQueue() {
        return flux -> {
            flux.subscribe(data ->{
                System.out.println("rabbit-server-4 消费："+ data);
            });
        };
    }

}

Project start exception
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-08-07 13:34:03.493 ERROR 62946 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'functionInitializer' defined in class path resource [org/springframework/cloud/stream/function/FunctionConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/integration/util/IntegrationReactiveUtils
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:882) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
	at spring.cloud.stream.rabbit.RunningService4.main(RunningService4.java:20) [classes/:na]
Caused by: java.lang.NoClassDefFoundError: org/springframework/integration/util/IntegrationReactiveUtils
	at org.springframework.cloud.stream.function.FunctionConfiguration$FunctionToDestinationBinder.lambda$bindFunctionToDestinations$3(FunctionConfiguration.java:383) ~[spring-cloud-stream-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_151]
	at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[na:1.8.0_151]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:545) ~[na:1.8.0_151]
	at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) ~[na:1.8.0_151]
	at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:438) ~[na:1.8.0_151]
	at org.springframework.cloud.stream.function.FunctionConfiguration$FunctionToDestinationBinder.bindFunctionToDestinations(FunctionConfiguration.java:384) ~[spring-cloud-stream-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.cloud.stream.function.FunctionConfiguration$FunctionToDestinationBinder.afterPropertiesSet(FunctionConfiguration.java:339) ~[spring-cloud-stream-3.0.7.RELEASE.jar:3.0.7.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792) ~[spring-beans-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	... 16 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.integration.util.IntegrationReactiveUtils
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_151]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_151]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_151]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_151]
	... 29 common frames omitted

There is a very good chance you are overriding some versions of certain dependencies. In this case Spring Integration dependency is not matching up to what is expected.
You can also have some issues with your local maven repo, refreshing i would help

Looks like the release train Hoxton.SR7 does not contain latest spring-integration-core dependency. I faced a same error and adding the latest spring integration core(5.3.1 or 5.3.2) to the pom fixed the issue.
< dependency >
< groupId >org.springframework.integration< /groupId >
< artifactId >spring-integration-core< /artifactId >
< version >5.3.1.RELEASE< /version >
< /dependency >

There is a very good chance you are overriding some versions of certain dependencies. In this case Spring Integration dependency is not matching up to what is expected.
You can also have some issues with your local maven repo, refreshing it would help
很有可能您正在覆盖某些依赖关系的版本。在这种情况下，Spring Integration 依赖项不符合预期。您也可以有一些问题与您的当地专家回购，刷新它会有所帮助

There is a very good chance you are overriding some versions of certain dependencies. In this case Spring Integration dependency is not matching up to what is expected.
You can also have some issues with your local maven repo, refreshing it would help

thank you , I use the question. My Spring Boot version is 2.2.6, so upgrading to the latest 2.3.2 is fine

There is a very good chance you are overriding some versions of certain dependencies. In this case Spring Integration dependency is not matching up to what is expected.
You can also have some issues with your local maven repo, refreshing it would help

thank you , I use the question. My Spring Boot version is 2.2.6, so upgrading to the latest 2.3.2 is fine

Looks like the release train Hoxton.SR7 does not contain latest spring-integration-core dependency. I faced a same error and adding the latest spring integration core(5.3.1 or 5.3.2) to the pom fixed the issue.
< dependency >
< groupId >org.springframework.integration< /groupId >
< artifactId >spring-integration-core< /artifactId >
< version >5.3.1.RELEASE< /version >
< /dependency >

thank you , I use the question. My Spring Boot version is 2.2.6, so upgrading to the latest 2.3.2 is fine


Bitcoin Rest API OpenAPI V2 specification file

Hey guys, here is an OpenAPI V2 specification file for the Bitcoin Rest API.

https://github.com/OAI/OpenAPI-Specification

The V2 has been chosen over the V3, following discussion with @pocky. Apparently the V3 doesn't have any tooling yet; meaning no generic clients, etc...
The exposed methods may seem inconsistent, that's because they are. (With a lot's of effort, it could be changed directly in the bitcoin codebase.)
Most of the methods aren't described yet, but I'd like to hear from you before diving further.
This is a first step, as we may need to hit this Rest API very soon.
The next (big) step would be to write the code to generate this specification document and add it to the bitcoin repository. Because In the end, this is not our responsibility to maintain this spec' but this initial repository/work may help to demonstrate the importance of this spec to the community.

I think you should remove all files except README.md (with instructions) and swagger.yml (because it's standard one). If a developer want to see generate documentation, he just need to copy/paste swagger.yml to an online editor (or local one).
Other argument is: when you want to create a package with generic client, you just need the swagger.yml file so everything except this file is not important. Btw, if we really want a local version for tests, we should create another repository and import our swagger files.

@pocky I agree. Except for the swagger.json file. It is a reference format for some implementation and would be expected in a npm package for example. Maybe I won't add it to git but I'll definitely ship it in the package.
As for the other files, I was lazy but, I could move all the docs stuff in gh-pages branch. What do you think?


Shared storage for instantiable FRAME pallets

Implementing instantiable pallets could benefit from more flexibility and ease of usability if they could share common storage items. This was brought up at Substrate Seminar by @chevdor whereby the following scenario was outlined to give a practical use case example:

Assume a runtime has 100 instances of the Societies pallet
Each Society shares some common constant, such as the minimum balance of a societies treasury for it to stay alive
Over time, as per discussions within the governing body of this system containing all these Societies, this constant may change
How could a change to a constant (which must remain common to all Societies) be brought without needing to make 100 separate calls to storage?

As pointed out by @shawntabrizi, the work-away around this would be to create a custom instantiable pallet (not using FRAME) and to hardcode some shared storage key where all pallets will know to look when needed to retrieve the common information they require. Having FRAME give developers this possibility "out-the-box" could be something useful. Thanks @chevdor for the thinking here!

A shared storage item mostly makes sense for stuff that is only read. Aka you can use a constant and all instantiated pallets already can share the same constant.
When you want to have some shared storage item that you write from multiple pallets, you probably require some custom logic anyway. Not sure what we should do here?

this would be to create a custom instantiable pallet (not using FRAME)

This is not accurate. You could completely use FRAME here, but you would just use the low level sp-io libraries to write to a specific storage key versus using decl_storage or #[pallet::storage] to automatically generate that stuff for you.
I somewhat agree with Basti that in most cases here, a configuration variable which points all pallets to some single storage/hard-coded value would work, that being said I dont think it is out of question for a feature like this to exist. Basically some way to tell the storage macros to not add the instantiation prefix to the storage key

Thanks @sacha-l for opening this "issue" and putting me in CC in the discussion. Indeed the idea I had in mind goes mostly in the direction of read-only storage. So the solutions mentioned above sound good to me.
I could imagine that we, in theory, could make use of a "static" behavior where all instances could read but also write a single common state.
An example could be multiple treasury instances that want to ensure they all track the same base USD reference price. Any of the instance can update the price for all the others. This specific example is however a little far stretched as we would probably use an external oracle that is not part of any of the instances and handle the modification of the common price.
One benefit of such a static R/W behavior is that we keep it all inside the instance implementation. It would not matter whether we end up deploying one or mutiple instances and it would not require any global/external storage. This is obviously assuming that instance managers (accounts authorized to modified such a static variable) are the same or similar and have all access to modify the value from any of the instances.

This is possible with https://github.com/paritytech/substrate/pull/6296


asset-registry: And and Implement Inspect + Mutate traits

This allows for loosely coupling of the orml_asset_registry pallet instead of forcing other pallets into a tight dependency.
This is particularly helpful for us at Centrifuge where we need to pass the asset-registry to a few pallets to query asset metadata and register tranche tokens.

Looks fine. Testing failing.

@xlc It's ready for another round

@zqhxuyuan I just pushed one extra commit to pub use the AssetMetadata struct from the pallet itself to keep things the way they were for users.


[RFC] doc: Add examples folder

Laying the base for adding examples. A couple of examples are added and more should be to go. Some better common structure for examples is also to be worked out.
Fixes: #23

@weltling Thanks for the examples. This is exactly what I am looking for ... and I am also writing some simple example programs to learn and demonstrate IR construction APIs usage.

Thanks for checking, @stkeke. Great minds think alike :) We can sure converse on this as both the code and the doc. I'd be intended to add far more examples and expand on the comments in the follow up additions.
Thanks


Remove echos with confuse asdf

These print statements confuse asdf into listing the words of the
statement as versions instead of the versions themselves:
$ asdf list all flutter
jq
is
now
in
/usr/local/bin/jq
Fix this by removing these statements.

Thank you for the pr.


Fixed reference for AuthMessageSenderOptions

I believe the full url is: https://github.com/aspnet/Docs/blob/master/aspnetcore/security/authentication/accconfirm/sample/WebApplication3/src/WebApplication3/Startup.cs?highlight=4&range=58-6#L65

Hi @fassetar, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;


JS: Simplify helper usage to only one script

Simplify native helper usage and avoid code duplication
-> Dynamically require specific functions at runtime
Make it possible to run without Node.js installed (targets #986)
-> Package the helper into an executable binary with pkg

Note that it is still possible to run the script with Node.js directly, the packaging task only helps to reduce noise.
Also, add back a package-lock file (#897) to allow installing and packing without yarn.

Thanks for your review, @feelepxyz!
I've updated the fonction separator to use colon.
Regarding the explicit requires, I'm not against but there is a notable downside: both npm and yarn libs will be loaded at each run, instead of the target one only.

@LeoColomb ah yeah good point but think I'm still keen to require them explicitly and change it later if it turns out to be slow. Can't imagine it will add too much overhead, running the scripts is usually the biggest bottleneck.

Sure! 🙂
Did it.

@LeoColomb nice one!
Having some issues getting this running on my local dev env using a mac and node 11. Not super familiar with pkg, is it possible to build targets for macos and linux for node 10?
Should also get the instructions in npm_and_yarn/README.md to work - looks like the absolute path check is failing here.

You may specify node version:
$ yarn run build --targets node10

See https://github.com/zeit/pkg/blob/master/README.md#targets
I can update the readme, for sure.

@feelepxyz I just fixed the README. Should be much better.

@LeoColomb thanks for the changes! I've been playing around with this and not sure we want to use pkg because it makes local development more painful - having to rebuild the package for changes to apply is slow enough to be a bit annoying 🤠
Would you be up for removing pkg and running with node instead?

because it makes local development

I totally understand, that's why I put a note in my initial post that the helper can still be used directly with Node.js without pkg.
I added a commit 18aa49e to use the development option by default and only build when production environment.
Also note pkg usage targets bundled distribution, such as docker image. The main argument for packaging the helper into an executable is to reduced image size and surface (no more full npm lib, no extra Node.js local lib, etc.) and manipulate only one portable binary file.
Let me know if this change solve that situation for you.

@LeoColomb cheers! Hm still not sure about pkg, not hugely opposed but I don't really see what problem it solves at the moment? Would rather get this in without it and then split up the images as a second step (as you started on) and lastly, if image size is a problem for deploys/startup time, go about tackling that separately.
Generally keen to keep things simple and not introduce extra complexity if it's not solving a clear problem. Thanks for all your work improving our tooling setup!

Alright, reduced to the path refactoring.

@LeoColomb sorry for not getting this in, looks like our test suite for npm and yarn went from around 4.5 min to 6.5 min in this PR 😢 will hold off on this for now.

I'm still keen to require them explicitly and change it later if it turns out to be slow.

😇 aff1bd4

💯


metrics

DB reports

report activity
label use
moderator activity
appeals

Server reports

cost
resource usage

Likely stack
https://github.com/jupp0r/prometheus-cpp
https://docs.digitalocean.com/products/marketplace/catalog/prometheus/
https://docs.digitalocean.com/products/marketplace/catalog/grafana/

working as of v1.4.0


tome2: 2.4 -> 2.4-unstable-2023-02-10

Description of changes
Updated tome2 upstream version. Most notably, now it compiles with standard GCC version.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Thanks, @Aleksanaa - fixed to conform to the guidelines.


Proposed Topics

Frontend Testing

PhantomJS & CasperJS
Karma
Selenium with Saucelabs

SVG

File format
Primitives
Standalone SVG files

Using in image elements
Using in CSS

Inline SVG elements

Scripting using DOM
Styling with CSS

HTML & CSS for Emails

You're entering a world of pain
Litmus
Mailchimp/Mandrill vs Campaign Monitor vs AWS SES

Google Analytics

Tracking "traditional" page views
Deconstructing the snippet
Using custom events for SPA page views

Frontend Performance

CORS preflight
Web Workers
HTTP caching
Masking delays with animations & transitions

Mobile Web Apps

Responsive CSS
Install on home screen
Service Workers
App manifests

Backend Testing

Optimise tests
Mock remote network calls to speed up tests
Watch and run continuously vs run only for integration

Internationalisation

Dates
Numbers
Currencies

Web Sockets / Socket.io please :smiley: Would love to have them try it before the electronics class :battery:


Support reader schema when decoding avro

Problem
The resolution between different reader & writer schemas is a key concept in Avro format.
The specification is already implemented by avsc Resolver
While confluent-schema-registry relies on avsc, it doesn't support specifying a reader schema when decoding.
Also, avsc library have opts (e.g. logicalTypes, union wrapping, etc) configured on Type (schema-representing object) level, but confluent-schema-registry lacks an ability to override opts while reading, they're global.
Solution
Pass an optional avsc reader schema to decode
Things done:

Added an optional argument for reader schema in .decode. The method behaves as before when it's not provided.
An extra arg involves resolver when reader and writer schemas are different.
It also allows to customize avsc opts per reader schema instead of registry globals
Added a unit test that resolution takes place when reader schema is provided

What is the use-case for bypassing the schema registry and using a different reader schema that you get some other way? I suppose more importantly, in that case, why use @kafkajs/confluent-schema-registry and not just avsc? I don't mean for this to be snarky - it's a genuine question. As far as I can tell, the Java serdes client does not offer this functionality, which makes me very hesitant to include this functionality in our client.

@Nevon I think we can't say that we're bypassing the schema registry... We still get writer schema by id using registry:
const writerSchema = await this.getSchema(registryId)

The difference is that we now can have schema resolution between what's written to what we expect to read.
A typical use case here is when consumers are updated to a new format before producers, which is exactly the way of upgrades when maintaining a default BACKWARD compatibility type (please refer to Upgrade first column). Another use case is when a consumer focuses only on some specific fields and is not interested in all the data written. We can't use reader schema directly on the binary part as one may think. Avro binary could be read back only when the exact writer schema is available. In other words, we can't just shape some single schema we want to read and use it when decoding binary - for example, all the field definitions correspond to their binary indices, respecting their order. Any field re-orderings or omits will fail to unpack bits, so having an original schema is required. And, when doing data migrations, there's always a pair of schemas involved - writer schema and reader schema. And the ability to resolve between them is a part of Avro core specification. I'm requesting it.
The test case is also quite demonstrative - we write person v1, but now can map it to v2 using the resolver that follows specification.
As for confluent-schema-registry versus plain avsc: both are binary standards for Avro payload. By design, we can't process any Avro binaries without the schema. The awesome thing confluent does is prepending a message writer schema (via registry ID) right before the message - so everyone who uses the same SR can decode the data in a generic way - the writer schema is referenced. So, to decipher an arbitrary Avro message, you either specify the writer schema (when using plain avsc without SR) or retrieve it by id (confluent). And this is the only confluent vs plain avro difference for decoding. Following Avro specification for resolving writer schema to reader schema by no means is related to where we get writer schema from.
Regarding Java API - in fact, there's a public deserializer API accepting reader schema
Sorry for the long and sometimes repetitive explanations, just want to make the idea and request clear. Thanks!

Thanks for the background. Funnily enough, my questions were essentially the same as when the same feature was introduced in the Java client: https://github.com/confluentinc/schema-registry/pull/274#discussion_r49539620
Sorry that this took 100 years. I haven't had much time for neither this nor KafkaJS recently. I took a swipe at updating this to latest master and making some changes to the API to make it more consistent with the rest of the lib, but it should provide the same functionality.
I can't push to the branch, so I opened up #166 where we can continue.


chore: merge rename-commands branch to master

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I'll close this in case we want to do a quick fix to the CLI, if we merge we won't be able to


Create angular 9 sample for msal-angular-v2

Creating sample using Angular 9 for msal-angular-v2 library. Merging into alpha branch.
Also update relative path in Angular 10 sample readme.

Same e2e tests failing in build as in the msal-angular-v2-alpha0 branch. Merging to alpha0 branch and fixing there.


Game over/Win detection.

There should be some kind of visual notification on the client side that indicates a victory/opponent forfeit/loss.

Updated Change fixed


Option for issue-126: General approach to empty string parameter values

This pull-request is a draft of one of the alternative options discussed in pull-request #134 (for fixing #126).
On reading from_las() and from_lasio() if a header field/mnemonic is an empty string convert it to python's None type.
This could be good because it would be a general rule applied to all fields/mnemonic and any changes in subsequent code to handle this would be consistent across Welly. There may be other impacts that are less favorable if processing of other fields/mnemonics expect a str object. A draft implementation could be interesting.
This draft further constrains the values changed to the parameter section and to those fields/mnemonics without a unit setting.  It is limited to the parameter section just to limit any unknown impact.  It would be opened up to cover other sections.  The reason for limiting to fields/mnemonics without a unit setting, is that items with a unit setting are likely to be numbers and handled elsewhere.
Let me know if this change could be accepted (or rejected) or
needs some additional changes before being approved and merged.
Thank you,
DC

Apologies for this taking me so long to get to... I finally made some time to work on welly this week. I think this looks like a good solution, and a sensible way to deal with the issue. Thank you!

Hey @kwinkunks,
Great!  Thank you for getting to back to this.  I appreciate it. :-)
We can close the other two pull-requests that were other approaches for this issue: #134 and #136.   In relooking at them now in retrospect, this one does feel like the better approach of the 3.
Thanks!,
DC


Make how do you feel feature for Home Page.

Few Pointers:

It will a left-right slider
Emojis can be "🤩,🙁,☹,😢,😭,🤕,😁,☺,🥰,😒,😩"
Each associated with a feeling
Each entry will save in Local DB with the time stamp.

May I work on this issue @sarthology ?

Can I work on this issue too.


GKE & EKS: add clarifying info based on TGIK8s feedback

@joeduffy @lukehoban I believe I've incorporated all feedback from TGIK and listed here. PTAL


Couldn't find package "@types/object-values" on the "npm" registry.

I hope for TypeScript.

If they don't exist yet, you can easily publish them yourself in to DefinitelyTyped. For more info, see https://github.com/sindresorhus/ama/issues/439

I now accept TypeScript definitions if anyone looking is interested in submitting it here.
See: https://github.com/sindresorhus/ama/issues/439#issuecomment-414212229
Please follow this guide: https://github.com/sindresorhus/typescript-definition-style-guide


[Kata search page] The search engine is close to unusable

Since the last change about the search engine of the kata page, this feature became close to unusable to me, compared to what it was.
As far as I can tell:

it uses exact syntax checks
associating words lead to a lot less results than expected. Are spaces separated words considered a AND instead of a OR?
bug that led me here... Using . to show space chars:

binary.tree, with All languages: 14 results
binary..tree, with All languages: 0 results
=> well...

Before this update, finding kata was already very hard, very often. Now, it's a nightmare, and a google search is more efficient, I believe...

The update only changed the UI, so it's been like this for a while.

I remember a time when I could search for kata authors, tho, and I believe approximate match was working (not sure tho... I bet on my memory playing me again... x) ). Well, the search engine never did miracles anyway...

It's AND and the order matters.

Couldn't we at least get a OR, like any normal search engine? (maybe quotes support to bypass the OR behavior??)

I believe approximate match was working

It used to when we used Elasticsearch. I had to migrate away from it quickly because of an incident we had that caused the site to break for a few days. I knew it wasn't as good, but not significant enough to justify the more complex setup. It's been like a year.

Couldn't we at least get a OR

Yeah, I can do that.

Deployed


TN-943, TN-951 Hotfix/duplicate biopsy

Big change for a hotfix, but it is well tested via unit tests, and I ran through the problem scenarios from the original bug, all functional now.

DON'T MERGE YET
We want to consider a migration for clean up, as mentioned in TN-958

Hello @pbugni! Thanks for updating the PR.

In the file portal/migrations/versions/f64288c5fd6f_.py, following are the PEP8 issues :

Line 35:101: E501 line too long (122 > 100 characters)
Line 47:101: E501 line too long (111 > 100 characters)
Line 48:90: W291 trailing whitespace


Don't want to nag, but is this bannable?

 I just wanna make sure I won't get banned for using this as it looks cool. Thanks!

there's always a chance, but it's rather slim.

https://betterdiscord.app/FAQ

maybe

See answer from Tropix.


Update installation instructions

I had some difficulty installing from PyPI. I've updated your instructions for using pip.

Could you rebase this?


feat(table-viz): translation and metric column header align right

SUMMARY
Upgrade table chart to bring in two changes:

https://github.com/apache-superset/superset-ui/pull/721 - align headers of metric columns to the right
https://github.com/apache-superset/superset-ui/pull/724 - add zh & fr translations

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before

After

TEST PLAN
Manual verify
ADDITIONAL INFORMATION

[x] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #10549 into master will decrease coverage by 0.40%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #10549      +/-   ##
==========================================
- Coverage   59.32%   58.92%   -0.41%
==========================================
  Files         354      354
  Lines       22867    22858       -9
==========================================
- Hits        13566    13468      -98
- Misses       9301     9390      +89

Flag
Coverage Δ

#python
58.92% <ø> (-0.41%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.16% <0.00%> (-12.50%)
:arrow_down:

superset/db_engine_specs/presto.py
70.56% <0.00%> (-12.14%)
:arrow_down:

superset/views/database/validators.py
78.94% <0.00%> (-5.27%)
:arrow_down:

superset/databases/api.py
85.18% <0.00%> (-2.78%)
:arrow_down:

superset/db_engine_specs/postgres.py
97.43% <0.00%> (-2.57%)
:arrow_down:

superset/models/core.py
85.27% <0.00%> (-2.23%)
:arrow_down:

superset/views/database/views.py
86.88% <0.00%> (-1.64%)
:arrow_down:

superset/jinja_context.py
80.00% <0.00%> (-0.96%)
:arrow_down:

superset/connectors/sqla/models.py
88.90% <0.00%> (-0.29%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a6fa02a...3c0646c. Read the comment docs.


Refactor for downstream usage

This PR addresses #126, #107, and #110. Glance currently does not have a developer-friendly way of using the top-level App component when embedding inside another vue application.

@zachmullen can you take a brief look to make sure this adequately addresses downstream usage?

@zachmullen can you take a brief look to make sure this adequately addresses downstream usage?

I've been looking at removing $globalBus and solely using vuex. Right now the global bus is used for actions against other components rather than transmitting state, so I need some more time to work out how to drop the event bus altogether.

This turned out to be a large change-set. Anyways, I've removed $globalBus in favor of a vuex store, so now state is more centralized. @zachmullen I don't know if you have a better or more preferred way of handling vuex mutation/action/getter names (see stores/types.js), so suggestions would be greatly appreciated.

I don't have much preference on that. One thing worth considering (some believe it's a best practice) is to always use actions rather than mapping mutations directly into components; this allows a uniform Promise-based interface into the store, and allows actions to internally switch between synchronous / asynchronous without becoming a breaking change. The downside is more boilerplate.
I don't have strong feelings one way or the other, and it doesn't need to be done on this branch either way, just worth thinking about.

I'm fine to ship this as-is and iron out the kinks on subsequent (smaller) branches.

Sounds good. I've also re-added history based routing, but now I'm using the history API (I was hoping to scrape by with hashes, but nope), and that logic is in app.js and not in the  component.

Great, thanks!

:tada: This PR is included in version 2.2.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unable to disable/enable radio button on the fly by jquery

After disabling or enabling radio buttons with jquery, the look and feel do not change. Please help

Hi,
Thank you for pointing out, we will have it fixed in the next update. Till then you can use this trick to disable:
$('#optionsRadios2').attr('disabled','true').parent('label').addClass('disabled');
And this one to enable:
$('#optionsRadios2').removeAttr('disabled').parent('label').removeClass('disabled');
It is working also for checkboxes.
All the best,
Alex

thanks! this is working like a charm :+1:


added flatbutton background color property

added backgroundColor property.
The previous code only has hovered background color property

Thanks @yongxu, could you rebase?

Thanks @shaurya947, I have rebased it with the latest master branch!
Looks like the Travis Ci fail is caused by either npm or node 4.0, the rebase should work fine.

Message:
    "contextProps" is not defined.

I agree with you @shaurya947.

@shaurya947 the buttonColor actually indicates the background color, so it is already in the theme manager. The text color is defined here:
    const defaultColor = disabled ? disabledTextColor :
      primary ? primaryTextColor :
      secondary ? secondaryTextColor :
      textColor;

I do agree with you on adding backgroundColor, in that case we only need to change the name from buttonColor  to backgroundColor. Personally I don't think it is necessary and it may break some code somewhere else.

@shaurya947 the problem should have been fixed. sorry didn't test it after rebase.

Gotcha @yongxu. I'll go ahead and merge this. Thanks!


Select does not display in dropdown-menu

Hello,
I know it has been already reported but I did not understand if a fix or a solution has been found on #2167 #2054 #1306
The select just do not show when it's inside a dropdown.
I have added this jQuery not to close the dropdown-menu by clicking in it:
$(document).on("click", ".menuplus", function (e) {
  e.stopPropagation();
});

And the select does not appear because of this stopPropagation condition.
I did a jsfiddle with the minimum required, i feel like it's bootstrap-select plugin bug!
Any chance to make it work?
https://jsfiddle.net/d3yqo9wc/4/
Thank you,
Vincent.

I've been helped on https://stackoverflow.com/q/77422441/6602474  and I could update the jsfiddle with a solution:
https://jsfiddle.net/jdtnsmwu/46/


v17.9.0

Hi everyone - welcome to iOS 11 and OBA 17.9.0! I'm looking to get back to a more regular cadence of app releases, and we're going to start it off right with this month's small set of changes.

Fixes a bug that made it really hard for VoiceOver users to use the Bookmarks tab of the app.
Adds an option to disable the compass heading indicator on the map. If you find this feature annoying or incorrect, you can now turn it off from Settings under the Info tab.
Adds walking directions to the '...' button on Stop pages. The feature is smart enough to prompt you to view walking directions in either Apple Maps or Google Maps, depending on what you have installed and what you prefer.
Fixes the walk distance/time indicator when you're at the bus stop. (thank you Gal for your contribution!)
Adds trip status, alarms, and bookmarking to arrival/departure details
Fixes a handful of app issues on iOS 11.

Happy autumn, and may all of your commutes be easy.
Best,
Aaron

Will we see a TestFlight release?

Yep, it’s awaiting beta approval.
Sent from my iPhone

On Sep 13, 2017, at 4:53 PM, Alan Chu<EMAIL_ADDRESS>wrote:
Will we see a TestFlight release?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


Add Apache Airflow Monitoring

Add Apache Airflow Monitoring

[x] Update the documentation to include this new feature.
- Documentation has been updated in the docs directory.
[x] Tests(including UT, IT, E2E) are added to verify the new feature.
- Unit tests and integration tests have been added under test directory.
[x]  UI  the screenshots below.

[x]  #12071
[x] Update the CHANGES log.

With https://github.com/apache/skywalking/pull/12076 gets merged, you should have the expected menu.
Then, you should fix all CI tasks. UI submodule should be reverted.

SWIP and relative updates are missing.

You still don't fix the conflicts, CI would not run until you fix it.

And, you still don't resolve conflicts. Learn git more please.

Don't close a PR, as you only update things.

Please recheck UI submodule, you are changing that unexpectedly.

FYI @songzhendong We will update the MAL implementation for https://github.com/apache/skywalking/issues/11992. Then UI side will update to support multiple-label tags as well.
You will need to update this PR accordingly, most about UI dashboard setup and e2e.

FYI @songzhendong We will update the MAL implementation for #11992. Then UI side will update to support multiple-label tags as well.
You will need to update this PR accordingly, most about UI dashboard setup and e2e.

get

FYI @songzhendong We will update the MAL implementation for #11992. Then UI side will update to support multiple-label tags as well.
You will need to update this PR accordingly, most about UI dashboard setup and e2e.

Get

No update for a week. @songzhendong If you want to continue to make this ready to merge, please let me know.


virt-operator: remove redundant object DeepCopy

the deployment object is already deep-copied inside the syncDeployment
function, there's no need to do it twice.
Signed-off-by: Antonio Cardace<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/retest

/test pull-kubevirt-e2e-kind-1.23-vgpu

/lgtm

/retest


add set_{fid, fnum} methods to CommSpec

What do these changes do?
add set_fid, set_fnum to CommSpec to support GraphScope Dynamic fragment load duplicated (whole) graph in every worker.
Related issue number
https://github.com/alibaba/GraphScope/issues/317
related pull request
https://github.com/alibaba/GraphScope/pull/325

cc/ @luoxiaojian @sighingnow

Codecov Report

Merging #41 (13ea321) into master (39e4819) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #41      +/-   ##
==========================================
- Coverage   82.69%   82.65%   -0.04%
==========================================
  Files          48       48
  Lines        3045     3044       -1
==========================================
- Hits         2518     2516       -2
- Misses        527      528       +1

Flag
Coverage Δ

app_tests
82.65% <ø> (-0.04%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

grape/worker/comm_spec.h
96.42% <ø> (ø)

grape/utils/atomic_ops.h
89.47% <0.00%> (-5.53%)
:arrow_down:

deprecated


chore: Add license checking as part of make verify

Fixes #
Description

Ensures that license headers are always included in files

How was this change tested?

make verify

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

Release Note

None

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can we de-dupe the license boilerplate in hack/boilerplate.sh?

Can we de-dupe the license boilerplate in hack/boilerplate.sh?

I tried it out a bit but since boilerplate.go.txt is tied to controller-gen, it gets more difficult and goheader is expecting that there are no comments in the header that it's checking


Mac OSX .app file fails to open

The executable in Content/MacOS/ runs fine, but the .app fails to open. I am using the bundler with this config:
  "app_name": "Courier",
  "icon_path_darwin": "assets/icon.icns",
  "icon_path_linux": "assets/icon.png",
  "icon_path_windows": "assets/icon.ico",
  "version_electron": "7.1.10",
  "version_astilectron": "0.41.0",
  "input_path": "./cmd/courier/",
  "resources_path": "../../assets/",
  "resources_bind_path": "resources/",
  "ldflags": {
    "X": [
      "github.com/shuttl-io/courier-cli/internal/buildvars.IsDevelopment=NO"
    ]
  },
  "ldflags_package": "github.com/shuttl-io/courier-cli/internal/buildvars",
  "environments": [
    {
      "arch": "amd64",
      "os": "darwin"
    },
    {
      "arch": "amd64",
      "os": "linux"
    },
    {
      "arch": "386",
      "os": "linux"
    },
    {
      "arch": "386",
      "os": "windows"
    },
    {
      "arch": "amd64",
      "os": "windows",
      "env": {
        "CC": "x86_64-w64-mingw32-gcc",
        "CXX": "x86_64-w64-mingw32-g++",
        "CGO_ENABLED": "1"
      }
    }
  ],
  "info_plist": {
    "CFBundlePackageType": "APPL",
    "CFBundleInfoDictionaryVersion": "6.0",
    "CFBundleIconFile": "Courier.icns",
    "CFBundleDisplayName": "Courier",
    "CFBundleExecutable": "Courier",
    "CFBundleIdentifier": "com.courierconfig.client",
    "LSUIElement": "NO",
    "LSMinimumSystemVersion": "10.11",
    "NSAppTransportSecurity": {
      "NSAllowsArbitraryLoads": true
    }
  }
}

Running Open gives me this error:
LSOpenURLsWithRole() failed with error -10810 for the file /Users/<>/Downloads/Courier.app
Looking up that error isn't much help:
Error -10810
Basically, it means that the Launch Services framework is misbehaving and is encountering errors when trying to launch an application. When you encounter this error message, it is probably best to restart the machine.

This happens on every Mac, not just this machine.
I am building on linux using my branch of the bundler here: https://github.com/shuttl-io/go-astilectron-bundler/tree/temp-branch
Is there any flags or anything I am missing?

Can you check out those issues and see if they're any help ?
Issue 1
Issue 2

Looking over those issues, one thing that stood out to me was notorizing the application. I don't understand too much about it, but would this be a potential issue?

Update: I tried to add logging in order to verify it wasn't something else, the executable doesn't even run (I have a log file that gets created first thing in my program, and nothing).

Looking over those issues, one thing that stood out to me was notorizing the application. I don't understand too much about it, but would this be a potential issue?

I think that may be an issue indeed.
Are you using relative paths in your app ?

In what sense? In someplaces I am, in others its relative to the EXE path

Could you try replacing your relative paths into absolute paths and see whether it fixes the problem? I remember having the same issue and fixing it by doing the exact same thing.

Notarizing isn't the issue, and neither is the relative file paths

Mmm it's really weird. Maybe you could try removing the info_plist key of your bundler.json and see whether this is causing the issue

I had this issue with and without the info_plist key unfortunately.
Maybe another piece of information: I am seeing similar issues with the .exe for windows. It works fine from the CMD prompt, but double click to launch doesn't work

@radding Try to move your app to your Applications Directory. Do not start it from ~/Downloads.

@radding Try to move your app to your Applications Directory. Do not start it from ~/Downloads.

@bogdanfinn I have tried that, same issue.

@radding
I also had several issues getting the macos app running.
I would suggest that you check the following things:

Check the whole application and all dependencies if they are loading files from the Filesystem by relative path (for me i had a dependency which did this)
Try to use the exact same setup as in the demo project. I mean regarding the directories / files (for example resources).
Try to bundle and run the demo app, does this work for you? Because then it might be related to your bundle config?

@bogdanfinn I have verified I am not loading files from the Filesystem by relative path.
For the second point, that is not possible as this is an exsiting CLI app with a GUI added on top
I will try the third point

@radding so i have the same setup. a cli app with a gui on top. And i did not use astilectron-bootstrap.
For me the issue was in my code.

@bogdanfinn Are you using Cobra for CLI parsing? I am debuging my code now and I have this theory that that may be my issue.

@radding no i use another library for my application.

Yea. Looks like that was it. The launcher caused Cobra to not recognize the application properly and caused it to not launch.

@radding how did you solve the issue? Because suddenly i have the same issue but not using Cobra.
On Windows everything still works and also the executable in Content/MacOS/ runs fine ...

Basically I just checked to see if the application was started in the terminal by using the pid of the parent. On mac OSX, if the app is started by launchd, then the pid is 1. So if the ppid is 1 then I start the gui directly

@radding
Okay solved my issue. I updated a dependency of my application and there was a change where a file was created by relative path.
As mentioned here: https://github.com/asticode/go-astilectron-bundler/issues/81#issuecomment-726212577
Fixing this solved my problem


Fork new sequelize-ts to support Sequelize v6

New fork: https://github.com/node-casbin/sequelize-ts
We have an urgent need to support Sequelize v6. We have to fork it because the current PRs are not handled very quickly. Currently we are testing this PR: https://github.com/RobinBuschmann/sequelize-typescript/pull/868#issuecomment-757403641 but encountered some issue.
I also saw the current PR doesn't use CI to run all tests. Maybe need to add a Travis CI or GitHub Actions to the repo.
Hope somebody also interested in it can join us, thanks!

@hsluoyz Instead to create a fork, we should continue to work on this repo<EMAIL_ADDRESS>has been released, so it supports sequelize >= 6.0.0. :smile:

@hsluoyz Instead to create a fork, we should continue to work on this repo<EMAIL_ADDRESS>has been released, so it supports sequelize >= 6.0.0. :smile:

@Divlo hi, did v2.0.0 release resolve this issue? https://github.com/RobinBuschmann/sequelize-typescript/pull/868
I asked this because we encountered a similar issue here: https://github.com/node-casbin/sequelize-adapter/issues/34
I also tried by myself but still has error even for sequelize 6.2.0:
    "sequelize": "^6.2.0",
    "sequelize-typescript": "^2.0.0"

$ jest --forceExit
 FAIL  test/adapter.test.ts
  ● Test suite failed to run

    src/adapter.ts:46:31 - error TS2769: No overload matches this call.
      The last overload gave the following error.
        Type 'typeof CasbinRule' is not assignable to type 'string | ModelCtor<Model<any, any>>'.
          Type 'typeof CasbinRule' is not assignable to type 'ModelCtor<Model<any, any>>'.
            Type 'typeof CasbinRule' is not assignable to type 'typeof Model'.
              Types of parameters 'values' and 'values' are incompatible.
                Type 'TCreationAttributes | undefined' is not assignable to type 'CasbinRule | undefined'.
                  Type 'TCreationAttributes' is not assignable to type 'CasbinRule | undefined'.
                    Type '{}' is not assignable to type 'CasbinRule'.
                      Type 'TCreationAttributes' is not assignable to type 'CasbinRule'.
                        Type '{}' is missing the following properties from type 'CasbinRule': ptype, v0, v1, v2, and 39 more.

    46     this.sequelize.addModels([CasbinRule]);
                                     ~~~~~~~~~~

      node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.d.ts:16:5
        16     addModels(arg: Array<ModelCtor | string>): any;
               ~~~~~~~~~
        The last overload is declared here.

Can you help me have a look? Thanks!

@Divlo hi, did v2.0.0 release resolve this issue? https://github.com/RobinBuschmann/sequelize-typescript/pull/868
I asked this because we encountered a similar issue here: https://github.com/node-casbin/sequelize-adapter/issues/34
I also tried by myself but still has error even for sequelize 6.2.0:
    "sequelize": "^6.2.0",
    "sequelize-typescript": "^2.0.0"

$ jest --forceExit
 FAIL  test/adapter.test.ts
  ● Test suite failed to run

    src/adapter.ts:46:31 - error TS2769: No overload matches this call.
      The last overload gave the following error.
        Type 'typeof CasbinRule' is not assignable to type 'string | ModelCtor<Model<any, any>>'.
          Type 'typeof CasbinRule' is not assignable to type 'ModelCtor<Model<any, any>>'.
            Type 'typeof CasbinRule' is not assignable to type 'typeof Model'.
              Types of parameters 'values' and 'values' are incompatible.
                Type 'TCreationAttributes | undefined' is not assignable to type 'CasbinRule | undefined'.
                  Type 'TCreationAttributes' is not assignable to type 'CasbinRule | undefined'.
                    Type '{}' is not assignable to type 'CasbinRule'.
                      Type 'TCreationAttributes' is not assignable to type 'CasbinRule'.
                        Type '{}' is missing the following properties from type 'CasbinRule': ptype, v0, v1, v2, and 39 more.

    46     this.sequelize.addModels([CasbinRule]);
                                     ~~~~~~~~~~

      node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.d.ts:16:5
        16     addModels(arg: Array<ModelCtor | string>): any;
               ~~~~~~~~~
        The last overload is declared here.

Can you help me have a look? Thanks!

@hsluoyz Hey, I don't know if it has been fixed, but please open issues/PR so we can improve sequelize-typescript together.
Also you could provider "steps to reproduce so we can fix it easier".

@hsluoyz Hey, I don't know if it has been fixed, but please open issues/PR so we can improve sequelize-typescript together.
Also you could provider "steps to reproduce so we can fix it easier".

@Divlo here's the PR: https://github.com/RobinBuschmann/sequelize-typescript/pull/868

@Divlo here's the PR: https://github.com/RobinBuschmann/sequelize-typescript/pull/868