Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "service worker"
-
I can't believe this company.
They want to stop using Certificates because it bothers the customer.
I had to use https because we were using service workers for a PWA.
I tried explaining we need them for the product to work, and also it's a basic security measure.
They were removing the certificates without my knowledge.
I found out because a colleague wanted a way to disable the service worker and asked me for help.
The manager said your not the boss of the company, it's not your company to make decisions.
Just do what they say, he tried to justify the decision from above, I said ok when was the last time you installed a certificate? he said never.
Ok, then what the fuck are you talking about, its 10 minutes to get a certificate letscrypt HELLO.
This company is very hierarchical 1900 style, I'm the person who does innovation in the organization, that's the most fucked up part, they say no to everything.
OMG, I'm going to quit.
There just asking to get hacked, this is just the tip of the iceberg.
Is this common or are they morons?17 -
Most awkward work event/parts story?
There was a girl who worked in customer service, very goth. Un-kept hair, baggy cloths, dark lipstick, etc..etc. At a company holiday party there were several+many people (mostly dudes) asking "Who is that! ... She's HOT!!" etc (you could hear it from various tables), and someone said "That's Stefanie.", then the "Noooo...OMG..."
Apparently she cleaned up nicely (dressed like she was going to a movie premier, very classy). She and a female friend (also attractive, dressed like a million bucks) were sitting close to each together and you could hear more (inappropriate) comments "OMG, are they together!?...that's fucking hot!....".
Mind you, this wasn't a very big venue (and before all of today's woke-ness), I could hear it a few tables away (again, all dudes, customer service and warehouse worker folks), I *know* they could hear it from their table.
It was so bad Stefanie's CS manager talked about in the break room the next day. She wasn't at the holiday party, but the rumors were going wild that day.
<she's in her 60's and I wouldn't want to be on her bad side>
D: "I can't believe they made such a scene. I would have smacked those young men in the face! Stefanie has a boyfriend and Laura is married. They have been best friends since kindergarten, its disgusting what went on. And another thing..."
It was talked about for many years afterward.3 -
*Client calls and asks for a restful api in php*
Me: So the client called and asked for a restful service specifically in php
Co-worker: I'm gonna write it in python.
Me: *disowns co-worker*
The best kind of team work.3 -
My most memorable co-worker? Have quite a few memorable positive and negative ones.
One of the positives was an ex-Marine (only a few months back from Iraq) 'Erin' who 'butt-ed heads' with an ex-Navy "vet" 'Tom' who was also our source control nazi (I've ranted about him before). "Vet" is in quotes because HR decided to research Tom's 'service' (what ship did he served on, etc) for an upcoming salute to veterans. They found out 'Tom' hurt his knee in basic training and had to be discharged.
Tom enjoyed talking his military "service" until HR spilled the beans (another story behind that, I'll share if interested), and when Erin found out Tom never stood foot outside basic training as a soldier, the alpha-male shit hit the fan.
The F-bombs were as plentiful as leaves in the fall.2 -
This was not exactly the worst work culture because the employees, it was because the upper level of the organization chart on the IT department.
I'm not quite sure how to translate the exact positions of that chart, but lets say that there is a General Manager, a couple of Area Managers (Infrastructure, Development), some Area Supervisors (2 or 3, by each area), and the grunts (that were us). Anyway, anything on the "Manager" was the source of all the toxicity on the department.
First and foremost, there was a lack of training for almost any employee. We were expected to know everything since day-1. Yes, the new employees had a (very) brief explanation about the technologies/languages were used, but they were expected to perform as a senior employee almost since the moment they cross the door. And forget about having some KT (Knowledge Transfer) sessions, they were none existent and if they existed, were only to solve a very immediate issue (now imagine what happened when someone quit*).
The general culture that they have to always say "yes" to the client/customer to almost anything without consulting to the development teams if that what was being asked to do was doable, or even feasible. And forget about doing a proper documentation about that change/development, as "that was needed yesterday and it needs to be done to be implemented tomorrow" (you know what I mean). This contributes to the previous point, as we didn't have enough time to train someone new because we had this absurd deadlines.
And because they cannot/wanted to say "NO", there were days when they came with an amount of new requirements that needed to be done and it didn't matter that we had other things to do. And the worst was that, until a couple of years (more or less), there was almost impossible to gather the correct requirements from the client/user, as they (managers) "had already" that requirement, and as they "know better" what the user wants, it was their vision what was being described on the requirements, not the users'...
And all that caused that, in a common basis, didn't have enough time to do all this stuff (mainly because the User Support) causing that we needed to do overtime, which almost always went unpaid (because a very ambiguous clause of the contract, and that we were "non-union workers"**). And this is my favorite point of this list, because, almost any overtime went unpaid, so basically we were expected to be working for free after the end of the work day (lets say, after the 17:00). Leaving "early" was almost a sin for the managers, as they always expected that we give more time to work that the indicated on the contract, and if not, they could raise a report to HR because the ambiguous clause allowed them to do it (among other childish things that they do).
Finally, the jewel of the crown, is that they never, but never acknowledge that they made a mistake. Never. That was impossible! If something failed on the things/systems/applications that they had assigned*** it was always our fault.
- "A report for the Finance Department is giving wrong information? It's the DBA's fault**** because although he manages that report, he couldn't imagine that I have an undocumented service (that runs before the creation the report) crashed because I modified a hidden and undocumented temporal table and forgot to update that service."
But, well, at least that's on the past. And although those aren't all the things that made that workplace so toxic, for me those were the most prominent ones.
-
* Well, here we I live it's very common to don't say anything about leaving the company until the very last day. Yes, I know that there are people that leave their "2-days notice", but it's not common (IMHO, of course). And yes, there are some of us that give a 1 or 2-weeks notice, but still it's not a common practice.
** I don't know how to translate this... We have a concept called "trusted employee", which is mainly used to describe any administrative employee, and that commonly is expected to give the 110% of what the contract says (unpaid overtimes, extra stuff to do, etc) and sadly it's an accepted condition (for whatever reasons). I chose "non-union workers" because in comparison with an union worker, we have less protections (besides the legal ways) regarding what I've described before. Curiously, there are also "operative workers", that doesn't belong to an union, but they have (sometimes) better protections that the administrative ones.
*** Yes, they were in charge of several systems, because they didn't trust us to handle/maintain them. And I'm sure that they still don't trust in their developers.
**** One of the managers, and the DBA are the only ones that handle some stuff (specially the one that involves "money"). The thing that allows to use the DBA as scapegoat is that such manager have more privileges and permissions than the DBA, as he was the previous DBA2 -
@Fast-Nop This one's for you, buddy. Took me all freaking day to figure out how to avoid unsafe-inline when registering a service worker. XD7
-
Sometimes I don't know if my co-worker is that stupid or...
Well, he came to me with an strange problem with mongoose.
I looked at the error message. And guess what the database was not reachable. Asked him, did you check the mongo db service. No. Of course the service was not running. Told him to restart it. Then he restarted robo t not the service itself. Major face palm. He then asked me if I knew why his service was not running. Do I look like some kind of wizard? Told him to check the logs. Long story short, his drive ran out of space....2 -
!rant
A snippet from the official W3C service worker documentation:
"This avoids the problem of two versions of a site running at the same time, in different tabs. Our current strategy for this is “cross fingers, hope it doesn’t happen”."
https://github.com/w3c/...1 -
How the fuck does TypeScript still not have service worker support? Seriously, it's just a typings file. People have written that typings file. They would just have to include it in the lib collection shipped with the compiler. Yeah, it would have DOM calls intermixed with the SW api, but frankly, having the typings for a set of calls you can't use is infinitely better than missing them for a set of calls you can.
The relevant issue is 5 years old btw.7 -
YAAAY,
finished my first small project today!
It was the final project of my semester in coding and because coding isn't the main focus of my studies there's not much expected from us - new Date, sorting a list and using local storage were among the more 'complicated' things we learned...
So most of my mates just develop/design a small portfolio website or something but my team (2 others and me) wanted to do a little more so we built a progressive web app, complete with service worker for offline functionality and so on, that can take pictures using your camera, save them to IndexedDB, display only the images the currently logged in user actually took and much more... and today is the day all bugs (that we found...) are finally ironed out!
Now I know that still is just the very beginning but now I want to learn mooooore!
Am happy, had to rant. :D1 -
Ok so apparently, if you are a mid-skilled worker and want to sell a service in this country you must register to some "state trade chamber" and start paying 3k/yr right away.
So, by doing the math, if I wanted to provide some cheap hosting service I should start with minimum 200 customers from day 0.
Fuck that.6 -
My brain overheated again. with my autistic empathy cranked to 11, I’m now feeling sorry for a js service worker because browser puts it to sleep when it wants to, and it has to call waitUntil to ask the browser not to
I’m about to cry -
So, this morning was crazy.
I had the Service Desk, first ticket of the day: A notification for Updates in Windows 10 from a concerned co-worker who hasn't seen this.
We distribute our updates with a WSUS and install them automatically and haven't approved any of the creators and fall creators updates.
After checking I saws that the client had the Creators Update already installed!
This means, this Client ignored our WSUS Updates and installed direct from Microsoft!
MICROSOFT YOU MAKE ME MAD!!! -
Everyone I tell this to, thinks it’s cutting edge, but I see it as a stitched together mess. Regardless:
A micro-service based application that stages machine learning tasks, and is meant to be deployed on 4+ machines. Running with two message queues at its heart and several workers, each worker configured to run optimally for either heavy cpu or gpu tasks.
The technology stack includes rabbitmq, Redis, Postgres, tensorflow, torch and the services are written in nodejs, lua and python. All packaged as a Kubernetes application.
Worked on this for 9 months now. I was the only constant on the project, and the architecture design has been basically re-engineered by myself. Since the last guy underestimated the ask.2 -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
“httpOnly cookies prevent XSS attacks”… wow.
As if not being able to get your cookies is going to stop me from doing bad things.
When I'm in via XSS, it's over. I'm changing the page content to your sign-in form with “please sign in again” notice, but it sends email/password straight to me. What percentage of users is going to enter their data? What do you think? With password managers prefilling data, and the annoyance being one “enter” hit away, I think a lot of users will fall for that. No one, including you, will be able to tell the difference without devTools.
You can rotate the session token, but good luck rotating the user's password.
Oh, did I tell you I could register a service worker using XSS that will be running in background FOREVER?
But don't listen to me. Don't think. Just use httpOnly and hope for the best. After all, your favorite dev youtuber said they could protect you from XSS.4 -
While a precaching service worker can grossly improve the performance of a SPA, it definitely doesn't improve the speed of development when introduced between the dev's browser and the app to be debugged.3
-
Okay, if I understand correctly, if you want your website to be RGPD compliant, you must wait for user opt-in before storing anything to their device.
Maybe I'm asking myself too much questions but, how exactly does this work for a PWA ? Should you ask user for permission before starting a service worker and/or before caching any content ? If so, what if the user refuses the authorization ? The app is broken ? Or it just fallback to good old http browsing if it's server-rendered ?3 -
Are native Android apps easier to write now than like back in KitKat days?
I need a app that gets root permissions and reads a db file of another app (Yes my phone is rooted).
Anyone can give a gist, I forget do I need to create a Service background worker to do the DB reads... Or just need to send the op to a bg thread with a UI callback sorta like Node...
I did try writing a ReactNative app maybe last year just to try it out but can't seem to easily get root access... And the SQLite package is buggy, couldn't npm install on Win10...14 -
Service worker.
I've been given the task to write a website for our school, where teachers would post plans, images, polls... I decided to use this new technology called service worker. Been struggling a lot with just, but hey it looks like an app and works offline.
It's really something anyone can add to any website in a week, but the advantages are quite a lot2 -
Recently, Apple rolled out Push Notifications for PWA websites as a beta feature on iOS 16.4 devices. And let me tell you, it's a game-changer! But, when a client asked me to implement push notifications for their iOS users via web and service worker, I knew it wouldn't be a walk in the park.
Why, you ask? Well, their backend code base was written in Plain F*cking Vanilla PHP, which felt like I had time-traveled back to the 1980s! Plus, since the ios web push feature is still in its early stages, there were hardly any resources to guide me through the process of sending push notifications to Apple WebPush API using plain php.
Despite the obstacles, I managed to successfully send notifications to Mozilla and Google Chrome users. But Safari? Not so much. The client needed the task done within 24 hours, but due to delays, it ended up taking me three days to figure out the kinks. In the end, I had to refund the client, but I'm not one to give up easily.
In fact, I've created a public GitHub repo for a Quotes App in Flutter (https://github.com/GiddyNaya/...) that can send PN to iOS users via web. I'm diving down the rabbit hole to figure out how to make it work seamlessly, and I won't stop until I've cracked the code. Wish me luck!15 -
I've been since friday with my boss trying to implement bridge between an SDK of another company for Android and iOS (yes the project is in React Native).
Today I've managed to put all the code that is needed to make that bridge and made tests. But in order to test the SDK functions, we need the info that should be easy to request through a service... The service is made with soap, using a certificate .p12.
*No problem, follow the documentation and everything will be okay* I thought... Even the example request in the docs doesn't give a 200 response. And when we finally made a 200 request, it still returned and error code...
And this isn't even the best part. Today we talked to the person that has been collaborating with us, and even he says "Implementing with this company is always hard". Even their worker knows it!!!! -
So I did this little experiment PWA caching and service worker which caches entire website (js/css/html) [It's a small website]. Now I do not understand the concept of PWA caching entirely because when I 'Add it to Home screen' it becomes an app as expected but when I turn off the internet and then open the app it requires the internet.
What in fucking ass, why won't you just render those html pages which are cached ?15 -
Why in the world wide web is it so hard to use JavaScript to dynamically create a custom web component element after the page has loaded!? I swear I must be missing something obvious. I know it isn't working because document.currentScript.ownerDocument is null and I use that to get the template and it works great if the elements are on the page already but it fails as soon as I try to use JS to create a new element of that component and I can't figure it out!
I could easily change the pages to be pre-rendered with data and it'd work fine but I plan on building in a service worker to cache the page skeleton and store the elements in IDB.
(This has been just a fun side project for me this week, until now it's turned into a frustrating project I spent most of my night on)1 -
Moengage is one of the worst analytics software I have ever worked with...
Integrating it into a react website is a pain in the ass, they don't have a npm package, you need to add a script tag to html file.
It also has a wierd bug that the service worker they mentioned in the documentation doesn't work when the debug logs are off.
Aaaargh. Now I have to make a service worker handler to import this service worker and see if it works... -
mail: contactus @ hacksavvy technology . com
Website: https : // hacksavvy techrecovery . com
Whatsapp : +7.9.9.9.8.2.9.5.0.3.8
While working in Auckland, I found myself immersed in a vibrant tech environment. One of my coworkers was particularly passionate about a new blockchain project he had been developing. His enthusiasm was infectious, and after several discussions about the project’s potential, I decided to invest 20,000 NZD.At the time, I was aware that investing in blockchain and cryptocurrencies could be risky, but the vision my co-worker painted was compelling. Over the following months, the project gained traction and my investment skyrocketed to an astonishing 500,000 NZD. I felt a mix of excitement and disbelief; I had never expected such a substantial return. The success of the project fostered a sense of camaraderie among the team, and I believed we were all aligned in our goals.However, things took a turn for the worse. As the project matured, disagreements began to arise within the team. My co-worker and I had a particularly intense argument over the direction of the project and some strategic decisions. Frustration boiled over, and in a moment of anger, he made a decision that would change everything: he locked me out of my email account. This wasn’t just an inconvenience; it meant losing access to crucial information, project updates, and the ability to communicate with clients and partners.Feeling isolated and frustrated, I reached out to friends from work, hoping to find a solution. They listened to my predicament and provided me with some suggestions on how to regain access. One of them mentioned Hack Savvy Tech , a service known for their expertise in retrieving lost accounts and data. Skeptical but desperate, I decided to give them a try.I contacted Hack Savvy Tech , explaining my situation in detail. Their team was remarkably understanding and guided me through the recovery process step by step. They employed various techniques to restore my access, and within a few days, I received the good news: my email account was successfully recovered. Relief washed over me as I regained access to not just my email, but also my connections and the wealth of information I had been locked out of. While my relationship with my co-worker remained strained, I was grateful for the support of my friends and the expertise of Hack Savvy Tech . This experience taught me the importance of maintaining strong professional relationships and having a backup plan when investing in volatile projects. The lessons learned from this journey would stay with me as I navigated future opportunities in the tech world.