FreshRSS 1.20.2
This is a security release for a regression since FreshRSS 1.18.0.
A few highlights β¨:
- CVE-2022-23497 Fix security vulnerability in
ext.php#4928 reported by @c3l3si4n
Detailed tracked changes.
Full changelog:
This is a security release for a regression since FreshRSS 1.18.0.
A few highlights β¨:
ext.php #4928 reported by @c3l3si4nDetailed tracked changes.
Full changelog:
A few highlights β¨:
Detailed tracked changes.
Full changelog:
opcache bug during Web update #4629, update.freshrss.org#4curlopt options for HTML+XPath #4759template.css to frss.css #4644
A few highlights β¨:
Detailed tracked changes.
Full changelog:
(author:Alice OR intitle:hello) (author:Bob OR intitle:world)!((author:Alice intitle:hello) OR (author:Bob intitle:world))search:"My query" or search:QueryA, or by ID: S:3pg_trgmdata/config-user.custom.php #4360archive.today #4530rename_attribute() instead of removing attributes to better be able to style/hide content of articles #4175,status_code type for PHP 8.1+ simplepie#728"ab cd" and ab-cd #4277& #4287' in the address #4330htmlspecialchars() warnings with PHP 8.1+ #4411freshrss_user_maintenance in CLI #4495errorMessage() which exists on some platforms #4289entry_before_insert to change entry->isRead() #4331php-openssl (used by PHPMailer) and php-xml (used by SimplePie) #4420freshrss/freshrss:newest to PHP 8.2 #4420base_url to avoid some common configuration bugs, especially via Docker / CLI #4423lib_phpQuery by PhpGt/CssXPath library for full content retrieval #4261
a[href*="example"] CssXPath#181.gitattributes export-ignore #4415attributes (JSON) for entries #4444
Client: βI need the number for Jack. Can you give me his number, please?β
Me: βJack? Jack who?β
Client: βThe manual for the modem said that I need to connect to Jack, so if you could give me his number, then I can connect with him.β
A few highlights:
Detailed tracked changes.
Full changelog:
:newest updated to PHP 8.1.1 and Apache 2.4.52 #3666latest tag to git #4135
I work as dispatch for a trucking company. One of my duties is to provide the closest truck driver for shipment. I get a call from a customer.
Customer: We can pay [generous amount] for this shipment, can you please check with your driver if that will be enough for him?β
I ask the driver:
Driver: βYes, lock it down!β
Customer: βAlright, send your driver to the address.β
When the driver arrives at the address, he needs to wait for a couple of hours because they βmade a mistakeβ with the paperwork. After asking them when they will be ready, only at the end do they tell him they sent their shipment with another courier for less money, and they didnβt even contact us. The driver tells me this and I call them asking for an explanation. They only said βsorry βand hung up.
Related:
Absolutely Trucking Mad, Part 4
Absolutely Trucking Mad, Part 3
Absolutely Trucking Mad, Part 2
Absolutely Trucking Mad
A client wants his dissertation laid out for print. Itβs a pretty complicated task; it has tons of special characters and specific formatting, so I have lots of trouble with fixing all the little fails in the document.
One step before I am finished (and have already have been paid a fixed price β stupid me!), the publishers find out the author hasnβt even read the annotations of the second reviewer and it has almost a thousand mistakes left in the document that he just ignored. At this point, I have already worked hours for free just to finish this project.
The publishers and I tell him to give me the list with the mistakes, so I can fix them in the fragile, complicated, easy-to-destroy document. He refuses. We try to convince him for weeks. He refuses. We tell him if he does it himself, it will be more work for him, me, and the publishers and will result in a worse-looking book. He refuses.
Client: βIβll pay 100 extra euros.β
Me: βThatβs not even enough for three hours of work, and I will need eight to ten hours to fix what you will be ruining.β
The client goes on with doing whatever heβs doing and ignores me. When I get his document back, it will be h*** for almost no pay. Why canβt they just listen to the professionals?
I work as a graphic designer at a sign shop that makes, well, signs. We also do some car decals and wraps from time to time, but mainly itβs large format signs, banners, channel letters, and so on.
This time itβs a client for some truck decals. They come in and we take measurements and photos of the existing graphics. They want the same exact decals that are there but larger, so thatβs what I set up in a proof, set up pricing, and send it over to them. They approve the proof in the portal, which is time-stamped with his email showing it was approved and paid and everything. Seems like an easy job and super simple to do.
Fast forward to when I email him to get scheduled for installation. I tell them the decals are ready and list the dates for installation. They pick a date and time and we get them on the schedule. All of this is through email.
Client: βCan I see how the decals will look?β
Me: βHereβs a screenshot of the proof. This was the same one we sent over to you for approvals when the order was first placed and was approved by you. Let me know if you have questions.β
Client: βLetβs take this part of the sentence we have on there and move it. Also, in this other decal, I want the logo flipped so itβs facing the other way. Does that make sense?β
The logo part they are referring to is inside of the blue portion of a stylized American Flag. Itβs cut out of the vinyl and flipping it would cause the logo to be backward from how it normally looks. The sentence was just cutting off a word and moving it elsewhere, which is super easy for production to do.
Me: βThe sentence part is something we can accommodate. However, the decals were made once the proof was approved and are based on that. It looks like the proof was approved on [date] and we moved forward with that.β
Client: βI am not happy at all. I refuse to put the logo on my car backward.β
This logo is facing the right way all along. They wanted it flipped around and backward.Β
Of course, now I go into a panic. I talk with my coworker, who works in the production room, and heβs like βyeah the decals are already made so we canβt do anything unless they buy a new oneβ. My boss isnβt there, as heβs out doing installs all day long, so itβs just me vs the client. I go back to my email and see that the client has emailed again. It hasnβt even been a few minutes.
Client: βReimburse me my money or letβs get this right. I admit I didnβt look at the proof but approved it via the portal assuming youβd make it look EXACTLY how it looks like in the photos, which is why you took them.β
Once they said this, my panic instantly goes away. I know I have the trump card as I saved those photos from my phone to my work computer so I could reference them. I go back to the photos and took a look and, lo and behold, I did it right. The photo is even on the side of the truck the client had wanted it flipped on. I had mimicked it per their words when I spoke with them.
Me: βI did reference the photo and mimicked it when I was setting up this proof. Hereβs the photo I referenced.β *Shows them the photo.*
Client: *Immediately apologetic.* βOh. Iβm sorry. I didnβt realize it was backward on my truck currently as well. Iβll still proceed with the install as is, but is it hard to order a new decal? If so, how much?β
In the end, the client came in and said to just install them as they are. They apologized for being a pain and didnβt like to be a complainer, which was nice of them. They said they were going to do some other decals once their new business got off the ground on this same truck, so we can make the change then.
Me: βHey, Iβm glad I caught you. Iβm calling about that request that I made five weeks ago. You never responded to any of my emails or voice messages. Iβm just wondering what the status on that is?β
Client: βWell, the reason I didnβt respond was because your first email about it was unprofessional. Weβre all professionals here, and I expect to be treated professionally. You really need to work on your communication skills, and I expect better from you if weβre going to continue working together.β
Me: βIβm looking at the whole email chain right now, and it seems fine to me. What seems wrong with it?β
Client: βWell, for starters, you could ask how my dayβs been. Or you could put a joke at the bottom of the email. And you should really get rid of that line with all your company information at the bottom, it looks so unprofessional.β
Iβm designing a photographic history exhibit for a prestigious university. The project requires a series of panels that each depict a different decade, from the 1930s to the present.
Client: βYou know, this is all great, but it could use a little more diversity. Right now, there are a lot of photos of all white men, and we donβt want to send the wrong message.β
Me: βOkay, thatβs a reasonable request. I could pull some photos of your black student organizations and womenβs center and add those to the panels showing the schoolβs more recent history.β
Client: βActually, weβd love more diversity in the early panels too.β
Me: βWhat do you mean?β
Client: βLike this panel depicting the university in the 30s. All the photos are of white men!β
The school did not admit black students until the 1970s.
Me:Β βIβve looked at the brief and itβll cost [total].β
Client:Β βI thought you were a freelancer.β
Me: βI am.β
Client: βNo, youβre not. Youβre a chargelancer!β
This story happened a few years ago. A friend refers me to his mother, a real estate agent who wants a new website for her business. I call her to set up an appointment.
Client: βSo, what is your expertise in real estate?β
Me: βIβve done two real-estate websites in the past, and theyβve been quite successful. I can provide you with a searchable database of listings where buyers can filter by price and other factors, as well as a homepage with featured listings, your bio, and anything else youβd like to include.β
Client: βYes, but have you ever sold a house before?β
Me: βNo.β
Client: βWhy not?β
Me: βBecause Iβm not a real estate agent. Iβm a web developer.β
Client: βSo how do you expect to do a website for me if you donβt know anything about being a realtor?β
Me: βI know enough to build a website with a listing database which you can very easily populate with descriptions, photos, and any other info you wish to provide the buyers with. I can also provide other tools, such as a mortgage calculator and a lead-tracking system that allows potential buyers to contact you with listings they are interested in.β
Client: βI really donβt think you know what youβre doing. I think Iβm going to have to pass and find someone who knows how to sell a house.β
Later, I discovered she had finished her website. On Geocities. Yellow background. 50pt font. Seemingly designed by a βrealβ real estate agentβ¦
Client: βWe would like a drawing of a moose on skis.β
I send the art.
Client: βWhy there were two feet on each ski?β
Me: βPeople ski on two skis and a moose has four feet so I put two on each ski.β
Client: βThat is ridiculous!β
Me: βWhich part? Youβll have to be more specific?β
Client: βWell, Iβm pretty sure they donβt make skis that can accommodate two feet each!β
Me: βRight. That was a pretty big leap on my part, sorry.β
Iβm a year and a half into the development of a new web application for managing complex data sets. Our boss has never been able to provide proper specifications for what he needs, just a flood of vague ideas with no real detail and constantly changing scope.
My job is to try and turn this into a comprehensible list of tasks that the dev team can actually follow. Each month, I have a planning session with the boss where we hash out the next period of work. Each session, I remind him that changing the scope means adding more time.
We agree and sign off the work to be delivered by the end of the month. So far, weβve hit every deadline.
I thought we had a pretty good system in place until:
Boss: βI canβt believe weβre so far behind and how poorly youβve managed this project.β
Me: βWhat do you mean? Havenβt we met all the agreed deadlines throughout the project?β
Boss: βIβve made a spreadsheet of all the dates I wanted each feature done by. So far, youβve missed every single one of them.β
Me: βExcuse me? Weβve always delivered whatβs been agreed on time. Where have these new dates come from?β
Boss: βThis is how long I thought the work should take and I made up my own timeline.β
Me: βIβve never seen these dates before, let alone agreed to them. At a glance, many of them seem extremely optimistic.β
Thatβs business talk for βf****** madβ.
Me: βWe agreed at the start this would be at least a three-year project.β
Boss: βWell, I decided it should take less time and youβre late. Iβm going to have to pull the plug on this project if you canβt have everything wrapped up within the next month.β
I politely remind the boss that there was at least another year and a half of work left to complete the project. Iβll probably be looking for a new job shortly.
Detailed tracked changes.
Full changelog:
!pubdate:P3d) #4092e:1639310674957894 or multiple entry IDs (or): e:1639310674957894,1639310674957893
A few highlights:

Detailed tracked changes.
Full changelog:
L:12,13,14 or label names: label:something or labels:"my label,my other label,π§ͺ"L:* or no label: !L:*:oldest is now based on alpine:3.5 with PHP 7.0.33 and Apache 2.4.35 #3666.htaccess for ./p/themes/ folder #4074CRON_MIN is set #3927400 and 405 HTTP error codes #3981inputand select elements for the Origine theme #3727.editorconfig and .stylelintrc #3895, #3912?? operator #4020Note: Last release before dropping support for PHP 5 and Internet Explorer 11.
pdo_sqlite is optional except for export/import SQLite #3545ORIG_PATH_INFO #3560latest tag in git for the latest FreshRSS release #3524Revert PHP version
+ sign #3489docker-compose #3353
remoteip to log the client remote IP instead of the local proxy IP #3226LISTEN to change the internal Apache port when running in host network mode #3343alpine:edge to test the latest PHP 8+ version #3294alpine:3.4 to test oldest supported PHP 5.6.36 version with Apache 2.4.43 #3274@-sign in database username (for Azure) #3241ceil() by intval() for edge cases with PHP8 #3404js_vars and nav_menu #3342phpcs (PHP_CodeSniffer) line length + whitespace #3488
*.phtml, *.css, *.js as well.png files as binary #3211PDO::ERRMODE_SILENT #3048<time datetime=""> for entry dates #3106quickadd #3051