Expand my Community achievements bar.

SOLVED

Login issue...or not?

Avatar

Former Community Member

hello.

I have created a video chat application where a user has a list of friends and they can enter different rooms depending on who they want to chat to.
So each friend is assigned a room and when a user clicks on a friend they enter the room that is designated for chatting to that particular friend.
Basically it is my version of  windows live messenger but with video.

When the user selects a friend to chat to, I login by passing the username and the roomURL. I connect using ConnectSession.
Then when a user closes the chat window I explicitly log out by calling the logout() method on the ConnectSession so that when the user wants to chat with another friend they have to login again and enter a different room URL. 
This works fine on the first attempt but as soon as the user closes the window and then tries to chat with another friend or re-enter the same room the connection stops midway and nothing comes up.

This is the trace of the connection, I have commented inline to indicate what I am doing:

<!--FIRST CONNECTION TO AFCS-->
AFCS Beta Build # : 1.02
requestInfo https://connectnow.acrobat.com/fuyuko1979/HugRoom_4AB31E68-8AA4-78DE-FC33-F89BC61AEDB6?guk=ZzpGdXl1a...
Warning: Domain connectnow.acrobat.com does not specify a meta-policy.  Applying default meta-policy 'master-only'.  This configuration is deprecated.  See http://www.adobe.com/go/strict_policy_files to fix this problem.

#TicketService# ticket received: 2dmmaciq6pqn
Getting FMS at https://na2.connectnow.acrobat.com/fms?ticket=2dmmaciq6pqn, attempt #1/3
result: <fms>
   <origin>fms3.acrobat.com</origin>
   <proto_ports>rtmps:443</proto_ports>
   <retry_attempts>2</retry_attempts>
</fms>
#FMSConnector# Wed Feb 24 09:25:03 GMT+1300 2010 protocols: [object ProtocolPortPair]
#FMSConnector# Wed Feb 24 09:25:03 GMT+1300 2010 [attempt 1 of 2] Connecting to 0/0: rtmps://fms3.acrobat.com/cocomo/na2-sdk-af1952fe-e877-4554-b93d-acd51f87b2d2/hugroom_4ab31e68-8aa4-78de-fc33-f89bc61aedb6 #startProtosConnect#
#FMSConnector# Wed Feb 24 09:25:04 GMT+1300 2010 tempNetStatusHandler 0/1,NetConnection.Connect.Success
#FMSConnector# Wed Feb 24 09:25:04 GMT+1300 2010 isTunneling? false
#FMSConnector# Wed Feb 24 09:25:04 GMT+1300 2010 is using RTMPS? true
RECEIVED LOGIN AT SESSION
   .user descriptor from server [object]
     \\
     .displayName [string]= Fuyuko
     .affiliation [number]= 5
     .role [number]= 50
     .userID [string]= GUEST-79010AC4-A502-4139-AAFE-5DAF1D1F5ABF
RECEIVENODES UserManager
receiveAllSynchData UserManager
Setting isPeer to false as connection is not RTMFP for UserFuyuko
RECEIVENODES FileManager
receiveAllSynchData FileManager
checkManagerSync:[object FileManager]
RECEIVENODES AVManager
receiveAllSynchData AVManager
checkManagerSync:[object StreamManager]
RECEIVENODES RoomManager
receiveAllSynchData RoomManager
checkManagerSync:[object RoomManager]
checkManagerSync:[object UserManager]
RECEIVENODES webcamera
receiveAllSynchData webcamera

RECEIVENODES nextPage
receiveAllSynchData nextPage

<!--THIS IS WHEN A USER CLOSES THE WEBCAMERA WINDOW AND I CALL THE LOGOUT METHOD-->
CONNECTSESSION:LOGOUT

<!--ENTERING THE SAME ROOM AGAIN BY LOGGING BACK IN-->
AFCS Beta Build # : 1.02
requestInfo https://connectnow.acrobat.com/fuyuko1979/HugRoom_4AB31E68-8AA4-78DE-FC33-F89BC61AEDB6?guk=ZzpGdXl1a...
#TicketService# ticket received: wfcjy13d60dy
Getting FMS at https://na2.connectnow.acrobat.com/fms?ticket=wfcjy13d60dy, attempt #1/3
result: <fms>
   <origin>fms3.acrobat.com</origin>
   <proto_ports>rtmps:443</proto_ports>
   <retry_attempts>2</retry_attempts>
</fms>
#FMSConnector# Wed Feb 24 09:25:28 GMT+1300 2010 protocols: [object ProtocolPortPair]
#FMSConnector# Wed Feb 24 09:25:28 GMT+1300 2010 [attempt 1 of 2] Connecting to 0/0: rtmps://fms3.acrobat.com/cocomo/na2-sdk-af1952fe-e877-4554-b93d-acd51f87b2d2/hugroom_4ab31e68-8aa4-78de-fc33-f89bc61aedb6 #startProtosConnect#
#FMSConnector# Wed Feb 24 09:25:30 GMT+1300 2010 tempNetStatusHandler 0/1,NetConnection.Connect.Success
#FMSConnector# Wed Feb 24 09:25:30 GMT+1300 2010 isTunneling? false
#FMSConnector# Wed Feb 24 09:25:30 GMT+1300 2010 is using RTMPS? true
RECEIVED LOGIN AT SESSION
   .user descriptor from server [object]
     \\
     .displayName [string]= Fuyuko
     .affiliation [number]= 5
     .role [number]= 50
     .userID [string]= GUEST-79010AC4-A502-4139-AAFE-5DAF1D1F5ABF
RECEIVENODES UserManager
receiveAllSynchData UserManager
Setting isPeer to false as connection is not RTMFP for UserFuyuko
RECEIVENODES FileManager
receiveAllSynchData FileManager
checkManagerSync:[object FileManager]
RECEIVENODES AVManager
receiveAllSynchData AVManager
checkManagerSync:[object StreamManager]
RECEIVENODES RoomManager
receiveAllSynchData RoomManager
checkManagerSync:[object RoomManager]
checkManagerSync:[object UserManager]
RECEIVENODES webcamera
receiveAllSynchData webcamera

<!--THIS IS WHERE THE CONNECTION JUST HANGS-->

So I'm wondering if it might be my nextPage collection node that has something to do with it...?
Otherwise I really have no idea.
My understanding is that if you want to enter different rooms, you have to connect to it every time by calling the login method on the ConnectSession?

Would this be right?
If anybody can help out I would most appreciate this,

thank you!

1 Accepted Solution

Avatar

Correct answer by
Former Community Member

Hi Fuyuko,

Sorry for the delay in reply. As Nigel pointed out , there was a bug on our side that when you do audiopublish and you do logout, it doesn't clean up the stream and similarly for the camera. So, when you log back in , you will find the problem.

I have fixed the issue and since you are using the player 10 swc ( for which you don't have the source), I am sending you three files which are basically subclasses of WebCamPub/Sub and AudioPub. You need to use these classes along with the player 10 swc.

I am attaching a example file also that does login and publishes camera/audio and does a logout as a test file.

We will fix it in the source in the coming release. Till then the subclasses should work fine.

For webcam, I am using WebcamPublisher and WebcamSubscriber instead of the pod class WebCamera.

In case you are using WebCamera Pod, you need to subclass the WebCamera and specify these sub classes inside WebCamera Pod, but my personal advice would be to preferably work at the Pub/Sub level as it gives you more freedom.

Hope this helps. Please let us know any further query

Thanks

Hironmay Basu

I couldn't attach . So pasting the files

AudioPublisherSubClass.as

package

{

import com.adobe.rtc.collaboration.AudioPublisher;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.events.ConnectSessionEvent;

public class AudioPublisherSubClass extends AudioPublisher

{

public function AudioPublisherSubClass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

if ( isPublishing && _stream) {

_stream.attachAudio(null);

_mic = null;

_stream.close();

_stream=null;

}

super.onSynchronizationChange(p_evt);

}

}

}

WebcamPublisherSubclass.as

package

{

import com.adobe.rtc.collaboration.WebcamPublisher;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.events.ConnectSessionEvent;

public class WebcamPublisherSubclass extends WebcamPublisher

{

public function WebcamPublisherSubclass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

deleteCamera();

super.onSynchronizationChange(p_evt);

}

}

}

WebcamSubscriberSubClass.as

package

{

import com.adobe.rtc.collaboration.WebcamSubscriber;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.sharedManagers.StreamManager;

import com.adobe.rtc.sharedManagers.descriptors.StreamDescriptor;

public class WebcamSubscriberSubClass extends WebcamSubscriber

{

public function WebcamSubscriberSubClass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

if ( _streamManager && !_streamManager.isSynchronized ) {

var streamDescriptors:Object=_streamManager.getStreamsOfType(StreamManager.CAMERA_STREAM,_groupName);

for(var id:String in streamDescriptors){

var streamDescriptor:StreamDescriptor = streamDescriptors[id];

deleteStream(streamDescriptor);

}

}

super.onSynchronizationChange(p_evt);

}

}

}

Test.mxml

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:session="com.adobe.rtc.session.*" xmlns:authentication="com.adobe.rtc.authentication.*" xmlns:pods="com.adobe.rtc.pods.*"

xmlns:collaboration="com.adobe.rtc.collaboration.*" xmlns:subclass="*">

<session:ConnectSessionContainer roomURL="XXXXXXXXXXXXXXXXXXXXXXXX" width="100%" height="100%" id="cSession" synchronizationChange="init()">

<session:authenticator>

<authentication:AdobeHSAuthenticator userName="XXXXXXXXXXXXXXXX" password="XXXXX"/>

</session:authenticator>

<subclass:AudioPublisherSubClass id="blah"/>

<collaboration:AudioSubscriber/>

<subclass:WebcamPublisherSubclass id="blah2" />

<subclass:WebcamSubscriberSubClass width="400" height="400" webcamPublisher="{blah2}" />

<mx:Button id="logoutButt" label="logout" click="onLogoutClick()"/>

</session:ConnectSessionContainer>

<mx:Script>

<![CDATA[

protected function init():void

{

if (cSession.isSynchronized) {

blah.publish();

blah2.publish();

}

}

protected function onLogoutClick():void

{

if (logoutButt.label=="logout") {

logoutButt.label = "login";

cSession.logout();

} else {

logoutButt.label = "logout";

cSession.login();

}

}

]]>

</mx:Script>

</mx:Application>

View solution in original post

14 Replies

Avatar

Former Community Member

hello,

upon doing some code changes, I have narrowed it down to my audio publishing.

As soon as I comment the audio I don't get any errors and I can connect no problem, but when I uncomment it this is what i get:

Error: Stream cannot be published as it doesnot exists      at com.adobe.rtc.sharedManagers::StreamManager/publishStream()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedManagers\StreamManager.as:711]    

at com.adobe.rtc.collaboration::AudioPublisher/publish()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\collaboration\AudioPublisher.as:726]      at main/initcam()[C:\Users\Fuyuko\Flex\Project Hug V7\src\AFCS.as:46]    

at flash.events::EventDispatcher/dispatchEventFunction()    

at flash.events::EventDispatcher/dispatchEvent()    

at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298]    

at com.adobe.rtc.pods::WebCamera/onSynchronizationChange()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\pods\WebCamera.as:986]      at flash.events::EventDispatcher/dispatchEventFunction()   

at flash.events::EventDispatcher/dispatchEvent()    

at com.adobe.rtc.pods.cameraClasses::CameraModel/onSynchronizationChange()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\pods\cameraClasses\CameraModel.as:427]      at flash.events::EventDispatcher/dispatchEventFunction()   

at flash.events::EventDispatcher/dispatchEvent()    

at com.adobe.rtc.sharedModel::CollectionNode/http://www.adobe.com/2006/connect/cocomo/messaging/internal::setIsSynchronized()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedModel\CollectionNode.as:665]    

at com.adobe.rtc.messaging.manager::MessageManager/receiveAllSynchData()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\messaging\manager\MessageManager.as:785]    

at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveItems()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\messaging\manager\MessageManager.as:541]    

at com.adobe.rtc.session.managers::SessionManagerBase/receiveItems()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\session\managers\SessionManagerBase.as:374]

Basically when the user logs in successfully, I initialise the audio publishing by entering:

audioPub.publish();

When the user closes the chat window I stop the publishing by entering:

audioPub.stop();

obivously this is repeated every time a user logs back in and out.

Can anybody shed light on how I can solve this issue?

Aside from this audio issue I have also found another issue where the webcam is now showing up a still from the last chat....

Any help would be most appreciated. Thank you.

Avatar

Former Community Member

Hi,

What is the shared id you are publishing the stream to?  do you created the node via room owner before publishing to it?

Please share your code as well.

Thanks

Dean

Avatar

Former Community Member

Hi Dean,

Thank you so much for replying.

I'm not using any shared ids actually and I don't create any nodes before publishing it.

Basically the room is already created.

I haven't seen any examples of creating shared ids or creating nodes so I'm not sure how to do this.

could this be the problem? if so then why is it not a problem in the first place?

here is my code:

private function startAFCS(evt:Object):void
{
    var app:AppointmentObj = new AppointmentObj();
    app = evt.appointment;
    room = app.room;
   
    afcsConnect();
}


private function afcsConnect():void
{
    myViewStack.selectedChild=friendsTab;
    myViewStack.enabled = false;
   
     HSAuthenticator.userName = user.firstName;
     sessionContainer.roomURL = "https://connectnow.acrobat.com/fuyuko1979/" + room;
     sessionContainer.login();
    
     webcamera.addEventListener(CollectionNodeEvent.SYNCHRONIZATION_CHANGE, initcam);
     webcamera.addEventListener(StreamEvent.STREAM_DELETE, disconnect);
}

private function initcam(evt:CollectionNodeEvent):void
{
    if(sessionContainer.isSynchronized && !isConnected)
    {   
        createSharedProperty();
        //audioPub.publish();
        webcamera.startWebcam();
        isConnected = true;
    }
}

private function disconnect(evt:StreamEvent):void
{   
    //audioPub.stop();
    firstConnect = false;
    sharedProperty.close();
    sessionContainer.logout();
    isConnected = false;
}

private function createSharedProperty():void
{
    sharedProperty = new SharedProperty();
    sharedProperty.sharedID = "nextPage";
    sharedProperty.connectSession = sessionContainer;
    sharedProperty.addEventListener(SharedPropertyEvent.CHANGE,onSharedPropertyChange);
    sharedProperty.subscribe();
}

private function onSharedPropertyChange(evt:SharedPropertyEvent):void
{
    if(firstConnect)
    {
        nextPageHandler();
    }
    else
    {
        firstConnect = true;
    }
}

Avatar

Former Community Member

Hi fuyuko,

I think you've found a bug in AudioPublisher (when you log out, it doesn't

clean itself up properly) - we're investigating it now, and hopefully we'll

get you a workaround for the issue in the next day or 2.

thanks

nigel

Avatar

Former Community Member

oh that would be really great!  I have been racking my brain trying to solve this issue.   I look forward to the result!  thank you,   fuyuko

Avatar

Former Community Member

Hi Nigel,   Have you managed to find a work around for this issue?  thank you,   Fuyuko

Avatar

Correct answer by
Former Community Member

Hi Fuyuko,

Sorry for the delay in reply. As Nigel pointed out , there was a bug on our side that when you do audiopublish and you do logout, it doesn't clean up the stream and similarly for the camera. So, when you log back in , you will find the problem.

I have fixed the issue and since you are using the player 10 swc ( for which you don't have the source), I am sending you three files which are basically subclasses of WebCamPub/Sub and AudioPub. You need to use these classes along with the player 10 swc.

I am attaching a example file also that does login and publishes camera/audio and does a logout as a test file.

We will fix it in the source in the coming release. Till then the subclasses should work fine.

For webcam, I am using WebcamPublisher and WebcamSubscriber instead of the pod class WebCamera.

In case you are using WebCamera Pod, you need to subclass the WebCamera and specify these sub classes inside WebCamera Pod, but my personal advice would be to preferably work at the Pub/Sub level as it gives you more freedom.

Hope this helps. Please let us know any further query

Thanks

Hironmay Basu

I couldn't attach . So pasting the files

AudioPublisherSubClass.as

package

{

import com.adobe.rtc.collaboration.AudioPublisher;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.events.ConnectSessionEvent;

public class AudioPublisherSubClass extends AudioPublisher

{

public function AudioPublisherSubClass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

if ( isPublishing && _stream) {

_stream.attachAudio(null);

_mic = null;

_stream.close();

_stream=null;

}

super.onSynchronizationChange(p_evt);

}

}

}

WebcamPublisherSubclass.as

package

{

import com.adobe.rtc.collaboration.WebcamPublisher;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.events.ConnectSessionEvent;

public class WebcamPublisherSubclass extends WebcamPublisher

{

public function WebcamPublisherSubclass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

deleteCamera();

super.onSynchronizationChange(p_evt);

}

}

}

WebcamSubscriberSubClass.as

package

{

import com.adobe.rtc.collaboration.WebcamSubscriber;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.sharedManagers.StreamManager;

import com.adobe.rtc.sharedManagers.descriptors.StreamDescriptor;

public class WebcamSubscriberSubClass extends WebcamSubscriber

{

public function WebcamSubscriberSubClass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

if ( _streamManager && !_streamManager.isSynchronized ) {

var streamDescriptors:Object=_streamManager.getStreamsOfType(StreamManager.CAMERA_STREAM,_groupName);

for(var id:String in streamDescriptors){

var streamDescriptor:StreamDescriptor = streamDescriptors[id];

deleteStream(streamDescriptor);

}

}

super.onSynchronizationChange(p_evt);

}

}

}

Test.mxml

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:session="com.adobe.rtc.session.*" xmlns:authentication="com.adobe.rtc.authentication.*" xmlns:pods="com.adobe.rtc.pods.*"

xmlns:collaboration="com.adobe.rtc.collaboration.*" xmlns:subclass="*">

<session:ConnectSessionContainer roomURL="XXXXXXXXXXXXXXXXXXXXXXXX" width="100%" height="100%" id="cSession" synchronizationChange="init()">

<session:authenticator>

<authentication:AdobeHSAuthenticator userName="XXXXXXXXXXXXXXXX" password="XXXXX"/>

</session:authenticator>

<subclass:AudioPublisherSubClass id="blah"/>

<collaboration:AudioSubscriber/>

<subclass:WebcamPublisherSubclass id="blah2" />

<subclass:WebcamSubscriberSubClass width="400" height="400" webcamPublisher="{blah2}" />

<mx:Button id="logoutButt" label="logout" click="onLogoutClick()"/>

</session:ConnectSessionContainer>

<mx:Script>

<![CDATA[

protected function init():void

{

if (cSession.isSynchronized) {

blah.publish();

blah2.publish();

}

}

protected function onLogoutClick():void

{

if (logoutButt.label=="logout") {

logoutButt.label = "login";

cSession.logout();

} else {

logoutButt.label = "logout";

cSession.login();

}

}

]]>

</mx:Script>

</mx:Application>

Avatar

Former Community Member

Hi Hironmay,   Thank you so much for this!  all the best,   Fuyuko

Avatar

Level 2

We are having the same problem and implemented this fix.

However, my Flex Builder is indicating a compile error.  I am building against the Flex 3.5 SDK on OSX.

it says "unable to open '/Users/mschwab/work/GoodChat/flex/com/adobe/rtc/subclass'"

it says that there are two errors, they are identical.

note: this is not the actual path to the files.  there is a src directory in the flex directory that holds the com directory.  the actual path is this:

/Users/mschwab/work/GoodChat/flex/src/com/adobe/rtc/subclass

Here are some of the configurations I've made in order to get the compiler to load the files:

added this to the mx:Application tag: xmlns:subclass="com.adobe.rtc.subclass.*"

moved files into com/adobe/rtc/subclass directory in my src directory

added these import statements to my mxml file:

import com.adobe.rtc.subclass.AudioPublisherSubClass;

import com.adobe.rtc.subclass.WebcamPublisherSubclass;

import com.adobe.rtc.subclass.WebcamSubscriberSubClass;

erased the extra space in StreamManager.CAMERA_STREAM in the WebcamSubscriberSubClass.as file

added package com.adobe.rtc.subclass to the top of each patched subclass file

added com/adobe/rtc/subclass to my project's Flex Build Path

changed the permissions of the 3 .as files so that any user of the computer can open and execute them

used these node names and attributes for the publishers and subscribers:

<subclass:WebcamPublisherSubclass id="_webcamPublish"/>

<subclass:AudioPublisherSubClass id="_audioPublish"/>

<rtc:AudioSubscriber id="friendAudio"/>

<subclass:WebcamSubscriberSubClass id="friendCam" width="150" height="150" displayUserBars="false"/>

<subclass:WebcamSubscriberSubClass id="yourCam" width="150" height="150" displayUserBars="false"/>

Thanks a lot for your help!  I'll paste the 3 files in a reply in case there is a syntax error there.

Avatar

Level 2

package com.adobe.rtc.subclass

{

import com.adobe.rtc.collaboration.AudioPublisher;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.events.ConnectSessionEvent;

public class AudioPublisherSubClass extends AudioPublisher

{

public function AudioPublisherSubClass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

if (isPublishing && _stream) {

_stream.attachAudio(null);

_mic = null;

_stream.close();

_stream=null;

}

super.onSynchronizationChange(p_evt);

}

}

}

package com.adobe.rtc.subclass

{

import com.adobe.rtc.collaboration.WebcamPublisher;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.events.ConnectSessionEvent;

public class WebcamPublisherSubclass extends WebcamPublisher

{

public function WebcamPublisherSubclass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

deleteCamera();

super.onSynchronizationChange(p_evt);

}

}

}

package com.adobe.rtc.subclass

{

import com.adobe.rtc.collaboration.WebcamSubscriber;

import com.adobe.rtc.events.CollectionNodeEvent;

import com.adobe.rtc.sharedManagers.StreamManager;

import com.adobe.rtc.sharedManagers.descriptors.StreamDescriptor;

public class WebcamSubscriberSubClass extends WebcamSubscriber

{

public function WebcamSubscriberSubClass()

{

super();

}

override protected function onSynchronizationChange(p_evt:CollectionNodeEvent):void

{

if ( _streamManager && !_streamManager.isSynchronized ) {

var streamDescriptors:Object = _streamManager.getStreamsOfType(StreamManager.CAMERA_STREAM, _groupName);

for(var id:String in streamDescriptors){

var streamDescriptor:StreamDescriptor = streamDescriptors[id];

deleteStream(streamDescriptor);

}

}

super.onSynchronizationChange(p_evt);

}

}

}

Avatar

Former Community Member

Hi Schwabsauce,

I'm not sure what's going on, but it's almost got to be something to do

with your source path. Seems like the compiler is hunting for a file in a

different directory (note the lack of "src" in the error). Pretty sure this

isn't really related to LCCS itself, just some funkiness in your source path

setup.

nigel

Avatar

Level 2

The problem was that two of the patched classes had a capital C in subclass - which I mimicked everywhere except the filenames in which I saved the classes.

Thanks,

-Mike

Avatar

Level 2

Hi,

So now that we're using the new release of the sdk, these patches are incorporated and we don't need to continue using these subclasses, correct?

Thanks,

-Mike

Avatar

Former Community Member

Yes ,

The fixes have been incorporated and you don't need those additional patch subclasses. Let us know if there is any issue.

Thanks

Hironmay Basu

The following has evaluated to null or missing: ==> liqladmin("SELECT id, value FROM metrics WHERE id = 'net_accepted_solutions' and user.id = '${acceptedAnswer.author.id}'").data.items [in template "analytics-container" at line 83, column 41] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign answerAuthorNetSolutions = li... [in template "analytics-container" at line 83, column 5] ----