What is the difference between reply and forward in Microsoft Graph? - outlook

I am using Microsoft Graph's reply and forward APIs. I am trying to understand their difference.
At first, I thought the conversationId might change if I use forward.
It turns out the conversationId won't change. So is there any difference between these two APIs? Thanks
POST /me/messages/{id}/reply
POST /me/messages/{id}/forward

One replies, one forwards. These are fundamentally different operations, even if in both cases the conversationId is preserved. Just off the top of my head:
Reply: the recipients on the To and CC lines are preserved, the subject is prefixed with "RE:" (or a localized equivalent), attachments are not carried over.
Forward: No recipients are preserved, the subject is prefixed with "FW:" (or a localized equivalent), attachments are carried over.

Related

How would i represent CC Practitioners in FHIR Bundle

I have a FHIR Bundle with requisition report that needs to go to multiple Practitioners. How would i represent this, would it be via references in a MessageHeader or...?
In the MessageHeader itself, we're a bit unclear on the meaning of multiple destinations. It might be for fan-out routing where the message is pushed to an initial recipient, which then sends to multiple places. Alternatively, it might tell the destination who else received the message (though at the 'routing' level, this is generally not useful information, so I'd presume only the first is intended).
The more useful level (the level surfaced at a business level and retained after delivery) for a cc is on the DiagnosticReport itself. Surprisingly, there's no standard element or extension for defining that. You could certainly define your own, but it might be worth submitting a change request and soliciting a standard extension for that purpose - to indicate who all intended recipients of the report are.

Youtube API - find who a comment is replying to (replies to non top-level comments)

I want to find when a comment is made as a reply to another comment. The goal is to find discussions, which I've arbitrarily defined as 2 people replying to each other 3 or more times.
Unfortunately, YouTube currently supports replies only for top-level comments.1 Which means I can't simply use the API.
I thought that perhaps I could look through the text of the comment and find a link to the original author. However, it seems that the original author is just worked in as text.
+random guy Nobody has to take responsibility for a decision they were forced to make.
Does anyone have a solution to this? Perhaps there is another API that can deal with youtube comments. (ie Google Plus, I believe it handles notifications when someone replies to you).

What's the current state of RFC 822/3696 etc. (email addresses) in practical, real world use?

RFC 822, 3696 and others specify email address formats and how those should be validated by applications. Unfortunately in practice virtually nobody adheres to them, with most developers tending to invent a regex on the fly or copy-n-paste one from dubious sources to validate their user's email addresses. This in practice leads to many web services requiring email addresses, often as the primary identity of their users, yet only accepting a very limited subset of addresses that the RFCs actually allow.
So, can anything be said about the current state of what is generally considered a "web safe" email address? Is there some common subset that has crystalized over time that's accepted by most services? What's the standard for the HTML 5 email input type, which will hopefully eventually emerge as the default quick front-end validity check for emails?
Please note that I'm not asking what should be done to validate email addresses. Ideally validation should consist of light front-end validation which allows every possible address and possibly some false-positives, followed by a callback validation with the actual email server on the backend. I'm asking instead whether there is any sort of consensus on what the current implementations in the wild regard as valid. If I were to create a regex to validate email addresses (which I'm not, but humor me), what should that be to roughly match what everyone else does? If I were to create a new email address for myself on my own server, what safe subset should I stick to in order to be able to use that address at most web sites?
You pretty much answered your own question in your first paragraph.
TL;DR there is no consensus.

Is it possible to link WM_INPUT with WM_KEYDOWN message or just distinguish it (WM_KEYDOWNs) by devices?

I've done some research (with single input device altrough) in this field and discovered that in most situations messages are sent by pair, first WM_INPUT and then WM_KEYDOWN. So it's merely possible to link them together for filtering, i.e. WM_INPUT flags that it's corresponding WM_KEYDOWN shoudn't be sent to reciever (in my case first i discard all WM_KEYDOWN and then decide whenever i need to send them back to their recipients). I just assume that all next WM_KEYDOWN are belong to last WM_INPUT.
My question exactly: can i seriously rely on that principle? Won't those messages mix up if i use multiple input devices?
There are some serious questions about its reliability already:
1. How do i distinguish repeating input from multiple devices (answer is obvious - i can't).
2. Would WM_INPUT-WM_KEYDOWN pairs mix up in case of input from multiple devices? i.e. form an cortege like WM_INPUT, WM_INPUT, WM_KEYDOWN, WM_KEYDOWN?
Also maybe it is possible to just discard all WM_KEYDOWN and generate all keyboard events by myself? Altrough it would be technically quite difficult, because there may be multiple WM_KEYDOWNs from one WM_INPUT (key repeatence work that way, multiple WM_KEYDOWN, one WM_KEYUP).
Just in case, here's what i need to achieve:
I need to filter all messages by time between them. All user input gets filtered by time interval between keypresses. If two messages were sent with interval <50ms i discard first message and second awaits while its TTL exceeds and if so, it sent to its recipient.
Difficulty is that there can be multiple input devices and those timings will mess up with each other.
I understand your issue having multiple devices and things getting messed up.
Every device has there Product and Vendor Id which is not same, so what I suggest is to is to differentiate them on the basis of their Product and Vendor Id.
I have been working on a HID device recently so this might help you too.
I figured out that keyboard hook (WH_KEYBOARD) actually occurs before WM_KEYDOWN message, can't check if simultanious input from several devices will mess up order of WM_INPUTS and KeyboardHook events (like sequence of events: Dev0_WM_INPUT Dev1_WM_INPUT Dev0_KBDHook Dev1_KBDHook - altrough that sequence of event will be handle, what i fear is if Dev1_KBDhook will appear before Dev0_KBDhook or worse).
With WM_KEYDOWN such mess was possible, still don't know if it will be same with keyboad hook.
Anyway it is possible solution. On WM_INPUT i create Message itself and partly fill, on next KeyboardHookEvent i just fill remaining part.
Generally WM_INPUTs and KeyboardHook events occur by pairs, but as i mentioned before, i don't exactly know if it can mess up, but if even so, if it will maintain order of KeyboardHookEvents and WM_INPUTS (like Dev0_INPUT, Dev1_INPUT and then Dev0_KBDEvent, Dev1_KBDEvent) it will give no trouble to parse those sequences. For example one stack:
WM_INPUT pushes new message struct, KBDEvent pops and fill remaining parts.
Not generally good solution, but i guess it is good enough to use if no other exists, solves the problem, atleas partially.
If i'll manage to test its behavious upon simultanious input from multiple devices, i will post info here. Altrough i really doubt there will be any mess that can't handled. Unless windows chooses time to send corresponding keyboard event by random...
Forgot to mention, yes it's partially possible to discard all input and generate manually. I just PostMessage manually forged message (i get lparam from KeyboardHookEvent). But it will give some problems. Like hotkeys won't work and also anything that uses GetAsyncKeyState. In my case it is acceptable altrough.

irrelevant messages

i am thinking of making a website..
bt how can i make sure that when a user who is asking some question is nt using any abusive language or the message is totally subject oriented..
i m nt talking about spams..i know about captcha and all..
what i am asking is how can i keep an eye on human activity[in this case the messages sent] and at the same time providing the user his complete privacy!
One word... manually.
They're on the web, they already don't have complete privacy.
Offer the community the means to police themselves, whether by explicitly appointing moderators (like most bulletin boards), allowing them to decide who they can and cannot see (like social media sites), or collaborative moderation (like here).
You can set up a system where comments/posts must be approved by a moderator before being allowed to be posted. I believe Wordpress can do this.
There are curse-word filtering libraries available in most languages, usually complete with the ability to customize the words that are filtered out.
In order to filter spam, there are things like bayesian spam filters which attempt to determine whether a message is spam based on keywords in the response. This really isn't something you would want to attempt to do yourself.
Another thing to look at is Markov Chains. They are designed to generate strings of seemingly valid text based on the probability that any given word is followed by any other particular word. Using a reverse process you can attempt to determine if a string of text is valid by checking whether the words used are following by other "on-topic" words.
This would be very difficult as well.
In order to keep the privacy of the users, you could use combinations of these three tests to create a threshold. That is, you will examine no messages unless they reach a high curse/spam/off-topic score. At that point, those messages will be manually checked to see if they are appropriate.
There currently is no way to have a 100% automated process that won't block valid messages and let invalid ones through.
how can i keep an eye on human activity
Your answer lies here. I don't quite understand what you're getting at about privacy though.

Resources