Has something changed in a recent CIQ regarding passing custom complications to watch faces?

The following code in my app

	var comp = {
		:value => value,
		:shortLabel => "TESLA",
		:longLabel => "TESLA-LINK",
		:units => "%",
	};
	try {
		Complications.updateComplication(0, comp);
	}
	catch (e) {
		/*DEBUG*/ logMessage("Error sending Complication!");
	}

Used to sent a custom complication to my watch face and received by this following watch face code snippet

    function onComplicationUpdated(complicationId) {
		var complication = Complications.getComplication(complicationId);
		var complicationType = complication.getType();
		var complicationShortLabel = complication.shortLabel;
		var complicationValue = complication.value;

		/*DEBUG*/ var complicationLongLabel = complication.longLabel; logMessage("Type: " + complicationType + " short label: " + complicationShortLabel + " long label: " + complicationLongLabel + " Value:" + complicationValue);

		if (gTeslaComplication == true && complicationType == Complications.COMPLICATION_TYPE_INVALID && complicationShortLabel != null && complicationShortLabel.equals("TESLA")) {
			$.doTeslaComplication(complicationValue);
		}

Debug code shows that the complications are being sent (ie, doesn't assert) but they're not received by the watch face. The watch face is receiving the built-in Complications, just not my custom one. It was working before I compiled with CIQ 7.x. I think it was 4.2.4 (yeah, old, I know).

  • Here's what I was talking about in the sim.  I started my Weather Underground widget.  It's similar to the OWM one, and publishes 4 complications. I then ran my test watch face, and here is what I see.  For CIQ publishers, I display the longLabel (JmWuTempTime in this case  - I want to make sure that it's fairly unique and hopefully won't conflict with with someone else's publisher)
    The data updates when it should..

    (yes, it's 111F in my back yard! Sweat)

  • Yep, there is something definitely wrong. Looks like it's crashing the simulator when it's trying to read my custom complication. I get this (the orange line):

    While single stepping that line:

    complicationId = iter.next();

    While the current complicationId.getType() is Complications.COMPLICATION_TYPE_LAST_GOLF_ROUND_SCORE, meaning I've iterated through all the built-in one and I was about to read mine.

    I'm sending (from the app) at this point a simple number (battery level). Do you see anything wrong with this?

    Looking at your CompConView.mc file, I do like you to subscribe to the complications. I don't understand why out of a sudden, it stopped working. It's very frustrating :-<

  • It's not my installation because running your 0675.CompPub and CompCon togheter works. Running your 0675.CompPub with my watchface crashes the same way. I don't know what's going on and it's pissing me off. We're both reading the complications from the ViewClass. Why is yours working and mine no longer working? I don't f know.

  • Sorry to have blasted you with messages, but just like I thought, I confirm that the issue is starting with CIQ 7.1.0. CIQ6.4.2 and below doesn't have that problem. My custom complication is well received by the watch face. Lost a whole day because of a stupid CIQ update bug :-<<<