Saturday, April 5, 2014

Announcing jsmime 0.2

Previously, I've been developing JSMime as a subdirectory within comm-central. However, after discussions with other developers, I have moved the official repository of record for JSMime to its own repository, now found on GitHub. The repository has been cleaned up and the feature set for version 0.2 has been selected, so that the current tip on JSMime (also the initial version) is version 0.2. This contains the feature set I imported into Thunderbird's source code last night, which is to say support for parsing MIME messages into the MIME tree, as well as support for parsing and encoding email address headers.

Thunderbird doesn't actually use the new code quite yet (as my current tree is stuck on a mozilla-central build error, so I haven't had time to run those patches through a last minute sanity check before requesting review), but the intent is to replace the current C++ implementations of nsIMsgHeaderParser and nsIMimeConverter with JSMime instead. Once those are done, I will be moving forward with my structured header plans which more or less ought to make those interfaces obsolete.

Within JSMime itself, the pieces which I will be working on next will be rounding out the implementation of header parsing and encoding support (I have prototypes for Date headers and the infernal RFC 2231 encoding that Content-Disposition needs), as well as support for building MIME messages from their constituent parts (a feature which would be greatly appreciated in the depths of compose and import in Thunderbird). I also want to implement full IDN and EAI support, but that's hampered by the lack of a JS implementation I can use for IDN (yes, there's punycode.js, but that doesn't do StringPrep). The important task of converting the MIME tree to a list of body parts and attachments is something I do want to work on as well, but I've vacillated on the implementation here several times and I'm not sure I've found one I like yet.

JSMime, as its name implies, tries to work in as pure JS as possible, augmented with several web APIs as necessary (such as TextDecoder for charset decoding). I'm using ES6 as the base here, because it gives me several features I consider invaluable for implementing JavaScript: Promises, Map, generators, let. This means it can run on an unprivileged web page—I test JSMime using Firefox nightlies and the Firefox debugger where necessary. Unfortunately, it only really works in Firefox at the moment because V8 doesn't support many ES6 features yet (such as destructuring, which is annoying but simple enough to work around, or Map iteration, which is completely necessary for the code). I'm not opposed to changing it to make it work on Node.js or Chrome, but I don't realistically have the time to spend doing it myself; if someone else has the time, please feel free to contact me or send patches.

54 comments:

Company Switzerland said...

There are several advantages of forming a company in Switzerland, according to the World Bank report on ease of doing business. Please consider registering a company in Switzerland, especially, if your country of domicile has certain complications (namely political, regulatory or tax-related).

Roxane Fabin said...

Wondering where to get an Online Matlab Tutor? At Matlab Assignment Help, we offer timely classes for all Matlab students in need. Other than the tuition classes, we also complete your assignments ensuring that you get the top grade in your class. Our prices are fair because we understand that most students don’t have a source of income. However, the fair price does not mean the quality of work is compromised. Visit our website “ Matlab Homework Help”today and talk to an expert.

sadiya perween said...

My control systems solution was great but unfortunately, it was delivered a day after the deadline. I took Matlab assignment help from here because I had read some really good reviews about MatlabAssignmentExperts and especially where the customers were happy about their assignments being delivered on time and sometimes even a few days before the deadline. I had a totally different experience and the only reason I was able to beat my deadline was that I had given the Matlab assignment helperwho handled my task the wrong deadline. Still, the platform isn’t so bad because I got a decent grade from the solution they prepared but they should address the late delivery issue asap.

sadiya perween said...

If your work is not satisfactory do you have a complaint center or what happens when I need a task re-done? There are times when assignments need revision and I would like to know what process is followed in your website when seeking a revision. I need economics assignment help and that is why I am seeking clarification. You can complete it or get me an economics homework help expert from your website. Provided the work is quality I will have no issues.

Ella Taylor said...

Any programmer that has used STATA for a while has probably used the option for their STATA assignment. You too could testify that you have used it in your STATA assignment help services But to some, it's not that very clear on how it works. But the simplest explanation that I can give about it is that it tries to process a command by grouping the variables. I used your statistics homework help services and I know a thing or two about your STATA team.

Ella Taylor said...

Do you have a C++ homework help tutor from Canada? I have a small programming assignment that can best be sorted by a C++ expert. The only reason why I want a programming homework help experts from our country is that I want someone who clearly understands our system. If you do not have any tutor from Canada the only other country I would consider is the United States. I will be waiting for your communication on the same.

Ella Taylor said...

I want to be honest with you. I am not the type of person who easily gets annoyed at people. Three months ago I sent you an email seeking communications system assignment help. My task was completed on time but after a struggle with the first Matlab assignment help, I was assigned. He was not responsive at all. I only enjoyed working with you after I demanded for a new Matlab homework help solver. The new person I was given was amazing. Always available when needed and a good communicator. I don’t know whether you allow people to decide who should handle their assignments because if it was possible then that is what I would do for the rest of my assignments.

Ella Taylor said...

I have a very urgent assignment which is required in less than 6 hours. Part of the work is done and therefore I need an economics assignment help expert to complete part three of the question and check whether I have done the other parts correctly. My budget for it is very minimal and therefore I don’t expect you to charge me more than $50 for the small remaining part. The beauty is that if I am happy with your solutions I'll need your economics homework help services again.

Sophia Jones said...

You are an experienced statistics homework help who has a bachelor's degree or a master's degree in statistics. I need your help in developing an appropriate study plan that can help me succeed in statistics. You have been there and clearly know what it takes to succeed in statistics. You can share some tips with me. Lastly let me know whether you offer SAS homework help. I am in dire need of a statistics assignment help expert with SAS knowledge.

Sophia Jones said...

People understand things differently. My brother told me that C++ was his simplest language when taking programming. When I started it proved to be my hardest language. Since I worked with your programming homework help team, I decided to hire your C++ homework help team to help me out. I want you to do all my assignments because I don’t seem to get anything in this class. I will also require some lessons from you.

Sophia Jones said...

The Matlab homework help expert who did my communication systems assignment provided a solution worse than what a high schooler would deliver. I was so frustrated because I had paid quite an amount of money for the task. Even after asking for revisions, the solution didn’t get any better. They had to assign the work to another Matlab assignment help expert and I was eventually provided with quality Matlab assignment help. Not the best experience but the second writer was really nice.

Sophia Jones said...

Do you work alone or do you work as a team? I want to hire you as my economics homework help expert but I am afraid that you may not handle the work alone. If you have other economics assignment help experts to help you then that would make more sense. I am concerned because I will not allow late work. My professor never accepts late work and therefore not delivering on time would mean a re-take.

Selectmytutor said...

very interesting post.this is my first time visit here.i found so many interesting stuff in your blog especially its discussion..thanks for the post!
Home Tutors
| Online Tutoring Jobs UK

Anny Christine said...

Thank you for your info, i hope you may create a lot of nice content like this within the future

Microsoft Windows 10 OEM Home (PC) – GLOBAL Key |

NORTON 360 Deluxe – 1 year for 3 devices

kraigsmitham said...

• To fix Roku.com/link activation issues, verify the activation page
• Check the code used
• Use a valid Roku account
• Restart your device using the compatible reset settings
• Check the network speed. If the connection is slow, change the connection
• Meanwhile you can update the device driver
• You can also go for a device replacement if necessary

Anny Christine said...

This my latest Bolog one of the most trustworthy platforms that bring you the latest and most useful coverage on the recently launched laptops, camera, phones, digital devices, and home appliances.

McAfee Total Protection (4 Years/ 5 Devices)

Norton Security 1 Device 1 Year Symantec Key NORTH AMERICA

Glen Maxy said...

Looking for Homework Help In The USA? I recommend that you should try our academic writing services which you will never regret trying, we offer writing services under all niches and streams within your budget.

Anonymous said...

Taking help for doing the assignments is the most common thing which students do. Students, who are not able to create the assignment on their own, take professionals to support for creating the assignment, this process is known as assignment help. A professional is an experienced person who knows every component of that topic and subject deeply.

Ronaldo drogba said...

Let us help you to start Roku tv setup. You can read the device setup manual to understand the guidelines.If the stepsare clear, attach the necessary hardware. Then use your remote to go to the network settings. Select the network andprovide the network credentials. Access the Roku account, collect the activation code and enter the code by visiting the portal,Roku.com/link to complete the activation.

harryparker0123 said...

Most of the time, QuickBooks Error 3371 occurs when the user is trying to reconfigure their PC. Users may also encounter this issue while trying to activate their QuickBooks for the first time. The damaged and missing company files can also be another possible reason behind the error. If the issue is also hampering your QuickBooks experience, contact our experts today. Our QuickBooks professionals are certified and help you to fix the problem with no further hassle. Do not hesitate to call us now, our team will be glad to help you out and suggest you the best possible solution to fix the problem.

Jessica Knight said...

Hi I'm Jessica, a homework help USA expert at LiveWebTutors. LiveWebTutors is providing astonishing homework help services in United States. Rely on us and secure higher grades in their examinations.

logo for embroidery online in usa said...

Very informative post, thanks for sharing it with us. If you are passionate about the blog and couldn’t spare out enough time, its good idea to outsource the work to freelancers, by this you will get your work done as well as your blog will get updated. Thanks.

marklee9161 said...

Garmin Express software is required to get regular updates for your Garmin devices. You won't be able to update your gadgets otherwise. To download Garmin Express, click on the following URL: www.garmin.com/express updates. You must first create a Garmin account before downloading Garmin Express. Garmin Express is necessary to sync with a wide range of devices, including fitness trackers and mapping devices. After the Garmin devices and compatible storage devices have been synced, file communication is permitted. You can easily transfer files and maps.

Henshaw said...

I was looking for this particular info for a very lengthy time. Thank you and good luck in your writing career. how to check data balance in airtel app

QuickBooks Enterprise Support said...

Sometimes you might face some issues with Quickbooks file doctor tool as Quickbooks file doctor tool is not working. If you need more assistance, reach out to our technical support at +1-888-485-0289 team will help you in resolving QuickBooks file doctor tool issues.

ijcannonstart said...

You have given us a lot of information through your blog. Thanks for sharing.
To save your printer work for a long time, it must be required to be cleaned all the dust or other harmful particles from outside.
http//ij.start.canon

auction sites like eBay said...

Nice and interesting post, I appreciate your hard work, keep uploading more, Thank you for sharing valuable information. Also, Check auction sites like eBay      

Charlotte Paisley said...

The Programming Homework Help expert that they gave me was honest and free. He went on and asked if I could extend the deadline for the best grades, which I did. Food for me, he delivered what he promised; the best grade. It was a straight "A!" What was good about this was the prices. I didn't have to break the bank for the "A" like any other assignment helper would want. This time around, I'll come back to try their tutoring services, too. For now, much thanks for the C++ Homework Help

Charlotte Paisley said...

I'm very grateful for the free corrections that you did on my Excel assignment. The corrections we're demanding, so I thought that the company was going to ask for some amount to get them done. Luckily, I learned that they do corrections without charging clients, which is very generous of you. I've worked with several Statistics Assignment Help providers, and none of them ever offered to do me corrections without a tip. I highly recommend the Statistics Homework Help

Charlotte Paisley said...

My schedule is so tight and therefore I want someone to be a Matlab homework help solver who can help me complete my control systems assignment from time to time. I will be ready to give this Matlab assignment help
expert the login details to my class so that I don’t have to check whether there are pending assignments. If there is an assignment you will just be emailing me the quotation of having the work done and then you complete it and submit it in the class portal.

Charlotte Paisley said...

I am new here but they are offering exactly what I am looking for. I want an Economics assignment help. I am in the United States, and therefore, I don’t know whether they offer the service here. If you do, let me know how much it will cost me for Economics homework help. I am waiting for their response.

Emma Harper said...

Do yourself a favor and order this company's Programming Homework Help services so that they smile all the way to success. That's what happened to me a few months ago when a friend recommended it to me. I'm honestly not very good at C despite attending its classes every week. When I resorted to the company'sC Homework Helpservices, I experienced immediate changes in my academic account.

Emma Harper said...


Their services seem perfect. The Statistics Assignment Help expert who completed my assignment was fast and ardent. He was also very communicative throughout the period he was undertaking the order. Moreover, he followed all my instructions to the letter. I used the Statistics Homework Help after a friend told me about it. He had used it before and was very successful. Thanks for the unmatched services and marks.

Emma Harper said...


I have sent them an email to the Matlab assignment help team. It just details my assignment requirements. I need a very good Matlab homework help tutor to be handling my numerical methods assignments. This is just the start because I just enrolled in a Matlab class. I, therefore, want someone who will be available and ready to deliver my work on time. If they have one very good Matlab expert then link me with them so that we can start the work immediately.

Emma Harper said...

I have tried hiring them on their website and the process of hiring is indeed quite simple. What has surprised me is that they have many Economics assignment help
professors, so I was even confused about which one to choose. I have submitted all the requirements and made the payment. I hope that I will get good Economics homework help

norascarlett786 said...

The Programming Homework Help service providers don't need a lot from them to get the job done, not even a lot of cash. Their order placement process is concise and straightforward, and their Java Homework Help experts are very swift with emergency orders. I ordered in a few minutes and got back the solutions within the shortest time possible. I wholeheartedly recommend this service to other budding programmers like me.

norascarlett786 said...

My online research for the best website that provides top-ranking Statistics Assignment Help has settled on statisticshomeworkhelper.com. Despite a few negative reviews, I was convinced that it's the best Statistics Homework Help provider that I should work with. After my first order, I proved that my research results were accurate. I've been using the service for three semesters now, and this is one of the experts that has helped me get my order done. I appreciate it.

norascarlett786 said...

I've discovered that they're fully reliable with all Matlab assignments. I passed my test! I wanted an expert that could help me score the best marks in my class, and one of Matlab Assignment Help experts with a Master's Degree in Software Engineering did it! He even exceeded my expectations by getting almost everything right. I'll use him for all my remaining Matlab Homework Help.

norascarlett786 said...

This is the only Economics Assignment Help service website that I've seen with real experts' profiles that reflect true qualifications and experience. The other ones only show off fake high qualifications to lure unsuspecting clients into their fraud scheme. I received stellar-grade solutions that earned me a round of applause from my classmates and lecturer alike. Meanwhile, thank you for their fast service and overall professional treatment. I'll indubitably come again for your unmatched Economics Homework Help.

Amelia Carter said...
This comment has been removed by the author.
Amelia Carter said...
This comment has been removed by the author.
Amelia Carter said...
This comment has been removed by the author.
Amelia Carter said...
This comment has been removed by the author.
Amelia Carter said...

I tried to find all the things that indicate an untrustworthy assignment help website on this platform in vain. Then, I decided to try out their Economics Homework Help to see if it could turn out great. Guess what? It was great, and I have every reason to praise the organization so that its Economics Assignment Help services can reach more students. Thanks a lot, anyway.

Amelia Carter said...

I needed a flawless paper but the one Matlab Homework Help sent me a bit of fixing. What made me forget the mistakes was the score I managed; it was 91%! Thanks a lot and please keep the Matlab Assignment Help expert that worked on this assignment for me. Each time, I'll go for her help so that I keep scoring top grades.

Amelia Carter said...

I didn't understand why the customer service officials awarded my order to a rookie R programmer. The lady was fast but not accurate. She didn't fail but got me only 51 marks. I don't want to complain a lot because this is the first time you've done this to me. However, I must let Statistics Homework Help know that I'll choose my favorite R Homework Help expert next time. Meanwhile, thanks for the assistance.

ACHONIM JOSEPH said...

HBO Max is a premium streaming app with unlimited access to hundreds of hours of entertainment with something for everyone in your family. So sign in HBO Max via your TV and find your next favorite from one of their chosen hubs right away. Click on hbomax.com/tvsignin code to start the service.
Hbo max tv sign in

Michael Caine said...

Garmin Express is a tool for managing your Garmin GPS device from your computer. You can use this App to register your device, update your maps and even create backup copies. garmin.com/express also allows you to save various maps and favorite places. Your maps are automatically updated to provide accurate information with the click of a mouse.

Qunock6987 said...

The very first step is to switch to ij.start.cannon. This is the official Canon website and a secure platform from which you can simply download Canon printer drivers. So to get started, open a compatible and extremely protected web browser.ij.start.cannon

sujain marushi said...

HBOMax.com/tvsignin is an American OTT video streaming system that gives films, television shows, and sports on consumer demand. It had been introduced last year by Warner Media, a digital entertainment media firm. Since that time due to its prevalence and amazing articles, it’s gained over 17million busy paid subscribers until the year’s ending, which will be enormous for a brand new enterprise. hbomax com tvsignin - Visit the official web portal and enter 8 digit verification code at the time of activation process. User can activate YouTube the following devices such as smart tv, Apple TV, roku, playstation, xbox and other streaming media players .

Olivia Johnson said...

Moviesda is a piracy website that allows users to download a huge collection of pirated movies for free. Moviesda is a torrent website that allows users to download Tamil movies and other movies dubbed in Tamil. It has a simple interface and has two primary sections - one with original Tamil movies and second with Hollywood movies dubbed in Tamil. The original Tamil movie section has movies according to years. For instance, there is a Tamil 2015 movies button, a Tamil 2016 button, and so on. There is also a Tamil Movies Collection button that has movies arranged according to actors. Finally, there is a Tamil HD mobile movies section in which users can Moviesda 2021 full movie download in lower quality and size, thereby being able to play them on mobile phone's smaller screens.
Moviesda

Olivia Johnson said...

Before we discuss anything,knowing what the F95zone forum entails is extremely important.This is online adult community where you can connect with millions of people from across the world with a similar mindset.F95zone is still a pretty new plateform that is evolving every single day.From their authentic adult content to the amazing threads and conversations that people engage with, the options are limitless.If you have heard of f95zone and want to join the forum and community, it is likely for you to be confused. Why should you join this community? What makes it so special? There are a few factors that specifically contribute to this factor.Download free Movies.
F95zone

David Martin said...

Before you go through ij.start.cannon to set up your device, make sure you have known your device model name. If not, then check the name in front of your device or see on the top of the printer or scanner. Once you check the name, use it while the need for a download.The easy way to setup ij.start.canon printer wirelessly is downloading from ij.start canon where along with the printer driver, e Scan Utility will be installed. If you become unable to download the setup, perform the steps below;

ij.start canon

cartoonnetwork.com/activate said...

Cartoon Network is the best channel to activate on Roku. You can install and launch the channel app. Then log in using the channel account or TV provider account to collect the activation code. Provide the code by visiting the page, cartoonnetwork.com/activate roku to complete the activation. You can also get help from our customer support to activate the channel.