madagaga / wtalk Goto Github PK
View Code? Open in Web Editor NEWGTalk like client
License: MIT License
GTalk like client
License: MIT License
At this point, WTalk fetches only the last 10 messages I think. There should be a way to fetch last 100 messages, at least.
I know this will clutter the application but I was thinking of the Hangouts approach. More messages are fetched as you scroll upwards. This will both keep the loading time good and the message history too.
What do you say? This feature is quite wanted.
Sometimes json string can not be parsed.
Maybe it would be interessant to create a custom json parser.
JSON => List or Dictionary
I was thinking of using Mahapps.Metro. They are open-source and quite an active community. You should check them.
If you agree, I can implement all the UI while you work on code-behind.
I think the latest commit (all requests async) is the culprit here. I tried using Async before you and I got the same results. Contacts and conversations do not appear. Though, the app works smoother.
Client is stuck on "One moment please..." whilst trying to authenticate. It gets a verification code then freezes at this stage.
I think the problem is here, in this part of code: Client.cs
public void SetFocus(string conversationId)
{
if (conversationId.Length == 0)
return;
SetFocusRequest request = new SetFocusRequest()
{
request_header = RequestHeaderBody,
conversation_id = new ConversationId() { id = conversationId },
type = FocusType.FOCUS_TYPE_FOCUSED,
timeout_secs = 20
};
HttpResponseMessage message = _client.PostProtoJson("conversations/setfocus", request);
message.Dispose();
}
And in this application code: ConversationViewModel.cs
private void SetFocus()
{
if(this.HasUnreadMessages)
_client.UpdateWaterMark(Conversation.Id, DateTime.UtcNow);
_client.SetFocus(Conversation.Id);
OnPropertyChanged("HasUnreadMessages");
}
I think this will take a lot of testing and time but this is necessary. Not every user can use the manual kind of authentication which is now implemented. This will do all the steps automatically, the user will just have to put in the username and password.
Documents for help:
Hangish has it implemented (it's C++): OAuth2 With a little time, I can try and port it.
There are many libraries for OAuth2 like DotNetOpenAuth which can help in this process.
I have, at the moment, only 2 conversations in Hangouts but the loading time is quite noticeable. WTalk will be overwhelmed if there are 100+ conversations, it will keep fetching the whole day.
What about implementing on-the-go strategy? I mean, loading the conversation interface as soon as first or second conversation loads or it would be better to load no conversation until it is opened and clicked by the user. This will reduce loading time significantly.
Only the conversation name will be loaded, and as soon as the user will click on the conversation in the conversation list, the poll request will be sent for message history.
I will acknowledge other performance bugs as I test the application in more depth.
I don't know why this happens but there is a certain delay whenever a new message is sent or received. I think, the message history is not constantly refreshed and is dependent upon the Message_Recieved event. Which is raised with a delay, and sometimes not raised at all, due to which message is not received.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.