Dear mentors, I've attached the refactored final version of the report for GSoC to this report for your information. Any feedback, suggestion will be appreciated. I mentioned the library, 2 web services, 2 pull-requests, the ontology, debugging in Android and what needs to be done more(about integrating into Signal client), basically everything I have done so far. Additionally, i would love to thank you Mr. Hasan for your technical support everyday and Mr. Kamaci for all administration stuff. I've seen my strengths and weaknesses in this project period. Hopefully I will be a better developer and one day a senior developer like you mentoring students, juniors. It was a great meeting and working with you. I hope we will be in touch for future improvements and ideas. Best regards!
On Thu, Aug 12, 2021 at 2:45 PM Hasan Hasan <[email protected]> wrote: > Thanks Yusuf for the report. > > One important task in this project is to be able to hook into the Signal > library or client (whatever client you choose). Please provide the > information in the report as well in this respect. You should especially > mention > 1. which client code you are using to place a hook (links to github > project, etc. where the client code is publicly available) > 2. the location of the client code where you can place a hook (an excerpt > of the class and method) > 3. how the hook is written (post requests to your server) > 4. whether any extra library you need to make the client works as expected > > Best regards > Hasan > > On Wed, Aug 11, 2021 at 9:57 AM Yusuf Karadağ <[email protected]> > wrote: > >> Hello, >> I'm sending this mail to inform you what has been done in week 8 and 9. >> >> *Week 6:* >> >> - I created corresponding methods in the web service to parse the >> graph, serialize the graph into a file and build the graph with the >> incoming json. >> - If the incoming conversation exists, it will overwrite the >> conversation and person and will just store the message. >> - With the help of Mr. Hasan, we managed to store the messages in the >> correct way. >> >> *Week 7:* >> >> - I took classes and methods related to Signal and put them into >> separate library. >> - Mr. Hasan said to remove methods that are not used by the library. >> I will do that. >> - I will also create another service to make it work with Java 8. >> - A Little bit more detailed report is attached to this mail. >> >> >> Best regards! >> >> On Wed, Jul 21, 2021 at 10:15 AM Yusuf Karadağ < >> [email protected]> wrote: >> >>> Hello, >>> I'm sending this mail to inform you what has been done in week 6 and 7. >>> I realized that i didn't send the report for week 6, i am sorry. >>> >>> *Week 6:* >>> >>> - I created a dummy REST service to receive messages from Signal >>> clients. (1 GET and 1 POST to see if that's actually working. We've >>> tested >>> with Mr. Hasan it's working) with Quarkus. It's a microservice framework >>> developed by RedHat. >>> - In the Signal Android app, I assign 2 variables for messageText >>> and timestamp. And if the message is not empty, send it to the server. >>> Then >>> I created a method to send data to the server with Java Http library. >>> >>> *Week 7:* >>> >>> - This week we couldn't meet with Mr. Hasan. I assume he was busy. >>> - I've changed the input type coming from the client. It was *Map<String, >>> String> *before and I've changed it to *ObjectNode*. It's basically >>> a representation of a JSON object in >>> *Jackson Databind library. * >>> - Then in the service, I deserialized it to an ObjectNode as well. I >>> got the message and timestamp and stored it in a graph as in Example 1. >>> >>> >>> Best regards! >>> >>> On Thu, Jul 8, 2021 at 8:38 AM Hasan <[email protected]> wrote: >>> >>>> Thanks a lot! >>>> >>>> Best regards >>>> Hasan >>>> >>>> On Wed, Jul 7, 2021 at 7:48 PM Yusuf Karadağ < >>>> [email protected]> wrote: >>>> >>>>> Hello, >>>>> I'm sending this mail to inform you what has been done in week 5. >>>>> >>>>> *Week 5:* >>>>> >>>>> - Mr. Hasan merged my *pull-request* >>>>> <https://github.com/apache/clerezza/pull/21#event-4985268757> into >>>>> the CLEREZZA-1068-schemagen >>>>> <https://github.com/apache/clerezza/tree/CLEREZZA-1068-schemagen> >>>>> branch. He will do a final review and refactoring and then hopefully >>>>> will >>>>> merge to the master. >>>>> - Last week I tested my ontology and tried to generate the class >>>>> with the *schemagen plugin.* It generated the class successfully. >>>>> - I found out which function Signal Messenger is encrypting and >>>>> decrypting the message in android. If you put a breakpoint to line >>>>> 113, you >>>>> can see the message content before encrypting by typing to the >>>>> evaluator in >>>>> Android Studio:* ((EnvelopeContent.Encrypted) >>>>> content).content.getDataMessage().getBody(). *And if we put >>>>> another breakpoint to the line 156 by typing to the evaluator: >>>>> *content.getDataMessage().getBody >>>>> *we can see the decrypted message. >>>>> - We discussed with Mr. Hasan how I am going to store the message >>>>> to the RDF graph. We came up with 2 possible solutions. First one is to >>>>> integrate Clerezza into the Android environment and the second one is >>>>> to >>>>> store messages in *libsignal-service-java* >>>>> <https://github.com/signalapp/libsignal-service-java> module. We >>>>> found the second option more precise. >>>>> - This week I will create a web service with one endpoint to >>>>> receive message contents that will be sent from >>>>> *libsignal-service-java* >>>>> <https://github.com/signalapp/libsignal-service-java>* and try to >>>>> store them in memory.* >>>>> - I also wrote a small documentation about how to debug in Android >>>>> Studio and see messages before encrypting and after decrypting. >>>>> * The report attached to this email. * >>>>> >>>>> >>>>> Best regards! >>>>> >>>>> On Tue, Jul 6, 2021 at 8:48 AM Yusuf Karadağ < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi, >>>>>> Thanks for the resources. I've solved the problem and found the >>>>>> message encrypting and decrypting in Signal Android. I'll write the >>>>>> report >>>>>> to this mail after we have the meeting tomorrow. >>>>>> >>>>>> Best regards! >>>>>> >>>>>> On Tue, Jul 6, 2021 at 7:39 AM Hasan <[email protected]> wrote: >>>>>> >>>>>>> Hi Yusuf >>>>>>> >>>>>>> Probably these resources can help >>>>>>> >>>>>>> https://github.com/signalapp/libsignal-service-java >>>>>>> >>>>>>> https://github.com/Turasa/libsignal-service-java >>>>>>> https://github.com/AsamK/signal-cli >>>>>>> >>>>>>> Hasan >>>>>>> >>>>>>> On Wed, Jun 30, 2021 at 9:26 AM Yusuf Karadağ < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hello Mr. KAMACI, >>>>>>>> I'm sending this mail to inform you what has been done in week 4. >>>>>>>> >>>>>>>> *Week 4:* >>>>>>>> >>>>>>>> - I have fixed a few issues in PR regarding the dependency >>>>>>>> version. It's ready to review. >>>>>>>> - I have created random data based on the model I have created. >>>>>>>> The scenario is: 2 people, 5 messages and 1 conversation. I've >>>>>>>> attached the >>>>>>>> random data and its visualization to this mail. >>>>>>>> - I had a look at Signal API and Android client since it's the >>>>>>>> only client that's written with Java. I got familiar with the code. >>>>>>>> - I had to install Android Studio to debug the application and >>>>>>>> try to find where the message is encrypting/decrypting in order to >>>>>>>> store >>>>>>>> them. I'm struggling with debugging because it's massive and the >>>>>>>> emulator >>>>>>>> keeps freezing during debug mode. I will continue debugging this >>>>>>>> week and >>>>>>>> will find out. >>>>>>>> - We didn't have a meeting this week so we couldn't discuss >>>>>>>> this data and next tasks. But I will dig in a little bit more and >>>>>>>> will >>>>>>>> create a new module. >>>>>>>> >>>>>>>> >>>>>>>> Best regards! >>>>>>>> >>>>>>>> On Wed, Jun 23, 2021 at 9:48 PM Yusuf Karadağ < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hello Mr. KAMACI, >>>>>>>>> I'm sending this mail to inform you what we have discussed with >>>>>>>>> Mr. Hasan and what has been done in week 3. >>>>>>>>> >>>>>>>>> *Week 3:* >>>>>>>>> >>>>>>>>> - I've updated the PR since Mr. Hasan released new versions of >>>>>>>>> jenar parser and serializer. >>>>>>>>> - By fixing those bugs with the new release all tutorials are >>>>>>>>> working right now. I'll create a new PR for them this week as >>>>>>>>> well.( >>>>>>>>> https://github.com/apache/clerezza/pull/21) >>>>>>>>> - We've discussed the final model of ontology for signal with >>>>>>>>> Mr. Hasan. For now, it seems okay. But if over time I realize sth >>>>>>>>> is wrong, >>>>>>>>> i'll refactor it according to need. I've attached the >>>>>>>>> visualization of >>>>>>>>> ontology to this mail as well. >>>>>>>>> - We've checked my PR for schemagen and ontology plugins. It >>>>>>>>> didn't work before because the ontology module was using the old >>>>>>>>> dependency. After updating dependency and configurations, we've >>>>>>>>> tried with >>>>>>>>> *foaf* ontology and it successfully generated *FOAF.java *as >>>>>>>>> expected. >>>>>>>>> - I pushed the latest changes to my branch so everything is in >>>>>>>>> the PR that I opened. >>>>>>>>> - This week I will create some random data with the model I >>>>>>>>> designed to get more familiar with RDF concepts. >>>>>>>>> - Last but not least, I will have a look and get familiar with >>>>>>>>> the Signal API and will try to find where the message is >>>>>>>>> encrypting and >>>>>>>>> where it is decrypting in the Signal Android client hopefully. >>>>>>>>> >>>>>>>>> >>>>>>>>> Best regards! >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Jun 16, 2021 at 10:13 AM Yusuf Karadağ < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hello Mr. KAMACI, >>>>>>>>>> I'm sending this mail to inform you what we have discussed with >>>>>>>>>> Mr. Hasan and what has been done. >>>>>>>>>> >>>>>>>>>> *Week 1:* >>>>>>>>>> >>>>>>>>>> - Discussed about Signal model ontology. >>>>>>>>>> - Discussed about to have an idea about next-steps and >>>>>>>>>> milestone. >>>>>>>>>> - Discussed about *schemagen* module from legacy branch and >>>>>>>>>> pull-request to bring it back to main. >>>>>>>>>> - Created model classes for the Signal to take as reference >>>>>>>>>> to ontology. >>>>>>>>>> - Created some random data to visualize the created model to >>>>>>>>>> Neo4J database. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *Week 2:* >>>>>>>>>> >>>>>>>>>> - Discussed about the PR i created. Mr. Hasan will open an >>>>>>>>>> issue on Jira and i'll commit the changes with the issue name to >>>>>>>>>> Jira issue >>>>>>>>>> to link them. >>>>>>>>>> - I've created an ontology and visualization of it. >>>>>>>>>> - We've discussed about the model and made some changes about >>>>>>>>>> how the model would look. Changed some property names, types and >>>>>>>>>> relationships. >>>>>>>>>> - We've looked at to some existing ontologies and see if we >>>>>>>>>> can use existing classes from them. >>>>>>>>>> - I will have a look deeper to the ontologies and will find >>>>>>>>>> the compatible classes with ours.(like skos, foaf etc) >>>>>>>>>> - I took some notes abut the new model and will send it >>>>>>>>>> through group once i visualize it. >>>>>>>>>> - The online tool that i am using for visualization is: >>>>>>>>>> http://www.visualdataweb.de/webvowl >>>>>>>>>> - I've also asked which syntax should i use while writing the >>>>>>>>>> ontology. Mr. Hasan said that doesn't matter but xml is a bit more >>>>>>>>>> difficult to read so i'll do it with n-triple or turtle. I'll do >>>>>>>>>> some >>>>>>>>>> hands-on activity to get familiar with both syntaxes. >>>>>>>>>> >>>>>>>>>> I think those were all we've discussed. I'll keep sending you >>>>>>>>>> emails as a report for what have done and discussed. If you want me >>>>>>>>>> to >>>>>>>>>> write reports according to a template, i can do that too. >>>>>>>>>> Best regards! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Yusuf >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Yusuf >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Yusuf >>>>>>>> >>>>>>> >>>>>> >>>>>> -- >>>>>> Yusuf >>>>>> >>>>> >>>>> >>>>> -- >>>>> Yusuf >>>>> >>>> >>> >>> -- >>> Yusuf >>> >> >> >> -- >> Yusuf >> > -- Yusuf
