Forem Creators and Builders

Cover image for Changelog: Forem Extension, Sign in with Apple, Profile Updates, and more!
Christina Gorton for Forem Core Team

Posted on

Changelog: Forem Extension, Sign in with Apple, Profile Updates, and more!

Welcome to the first Forem changelog of 2021! Here is a round-up of the latest highlights from our repository that add improvements to Forem.

Forem Browser Extension v0.1.3 is Live πŸŽ‰

Chrome Forem Browser extension
The Forem Browser Extension makes it easier to switch between different Forems.
We have also started rolling out new branding for Forem. You can catch a glimpse of the new logo in this updated extension.

Chrome

Chrome Extension

Firefox

FireFox Extenstion

You can view the code for the extension below.

GitHub logo forem / forem-browser-extension

The Forem browser extension which allows users to seamlessly navigate between communities.

Forem Browser Extension 🌱

Do you visit multiple Forems and wish there was an easier way to switch between them? Wish no more: the Forem browser plugin places a sidebar along the left side of your browser window to which you can add shortcuts to your favorite or more frequently visited Forems!

To use: install the plugin for your browser of choice from the plugin stores below, and visit any Forem instance to get started. Click the '+' icon to add a shortcut to the Forem you're currently viewing to the sidebar. Shortcuts can be dragged to rearrange them, or clicking the '-' button will remove a Forem from the sidebar.

Installation

The easiest way is to install from the browser marketplace of your choice:

Chrome: Chrome Web Store

Firefox: Firefox Add Ons

Safari: Mac App Store

As an alternative, you can build and install the plugin locally (great for…

Sign in with Apple 🍎

Recently, a Sign in with Apple authentication provider was added to Forem. This is currently in beta mode only and we are testing it in several Forem instances. We plan to add it to DEV soon.

We will move it out of beta preview once we are sure it is robust and tested thoroughly.

Add Sign in with Apple #11934

What type of PR is this? (check all applicable)

  • [ ] Refactor
  • [x] Feature
  • [ ] Bug Fix
  • [ ] Optimization
  • [ ] Documentation Update

Description

Feature: Add Sign in with Apple Authentication Provider

Due to changes in the flow I'm trying out a test in a branch rather than a fork PR. The work here started in #7952

Here is a video of the feature working locally (requires HTTPS and Apple Developer Program config): https://share.getcloudapp.com/12uK0kpn

Related Tickets & Documents

#7952

closes https://github.com/forem/security/issues/337

QA Instructions, Screenshots, Recordings

Existing OAuth providers Since this PR also refactors the OAuth provider buttons to use POST instead of GET (https://github.com/forem/security/issues/337) try to log in and log out with other OAuth service providers

Apple Auth behind Feature Flag

  1. Boot up locally
  2. Go to sign in/sign up path (Apple Auth should not appear)
  3. Log in as admin and go to /admin/config > Authentication
  4. Apple Auth provider should not appear
  5. Open the rails console and run Flipper.enable(:apple_auth)
  6. Log in as admin and go to /admin/config > Authentication
  7. This time Apple Auth provider should appear
  8. Fill up all four details from Apple Auth to enable it
    • You can pass in jibberish like "qsdfsdfas" it doesn't matter because you won't be able to test it locally
  9. Go to sign in/sign up path and this time Apple Auth should appear (it won't work)
  10. Go to the rails console and run Flipper.disable(:apple_auth)
  11. Both the Apple provider from /admin/config and the provider option from sign in/sign up paths should not appear anymore
  12. Yay feature flag! Now lets test in production 😈

UI accessibility concerns?

Nope, everything was refactored in place. Maybe double check /enter to make sure those buttons still work the same?

Added tests?

  • [x] Yes
  • [ ] No, and this is why: please replace this line with details on why tests have not been included
  • [ ] I need help with writing tests

Added to documentation?

[optional] Are there any post deployment tasks we need to perform?

None, we need to use our Canary Forem instances to fully test out the feature because it's inherently tied Apple Services that require HTTPS and other necessary configurations

[optional] What gif best describes this PR or how it makes you feel?

the time has come

Removal of Auto-Following Hiring Tag in Forems

This is a two part PR. The current implementation removes the automatic following of the hiring tag after ticking the Looking for work checkbox on a user's profile.

Attention:

In the near future, this PR will be removing the Looking for Work and Display "Looking for Work” on Profile fields from user profile settings.
Looking for work fields on DEV

If you are a DEV user who is making use of the looking_for_work_publicly field, we advise you to update your profile summary with your work status before this feature is deprecated.

Remove autofollowing hiring tag #11722

What type of PR is this? (check all applicable)

  • [X] Refactor

Description

This PR removes the automatic following of the hiring tag after ticking the "Looking for work" checkbox on a user's profile. This was primarily done for two reasons:

  1. It's very DEV specific and dates back to a time where DEV was still exploring other possible futures than Forem.
  2. The hiring fields are pretty complex, as they rely on the interaction of two fields (are you looking at all and if yes, is it public?) which doesn't generalize well.

Because of 2. I vote for completely removing the "looking for work publicly" field from all Forems via a data update script once the generalized profile page has been merged (see #11485) as it will no longer serve a purpose. We might even do that as part of the other PR.

I'll leave this PR as draft for now, as we still have some product-related discussion going on in https://github.com/forem/InternalProjectPlanning/issues/366 as to how to notify users who currently have these flags set about the upcoming change.

Related Tickets & Documents

Closes https://github.com/forem/InternalProjectPlanning/issues/366

QA Instructions, Screenshots, Recordings

  1. Ensure your user doesn't follow the hiring tag.
  2. Go to /settings/profile
  3. Check the "Looking for work" checkbox and save your profile: Screen Shot 2020-12-03 at 12 22 15
  4. Your user should still not follow the hiring tag.

Added tests?

  • [X] No, and this is why: I'm removing a feature, so I'm also removing the corresponding spec.

Added to documentation?

  • [X] No documentation needed

[optional] What gif best describes this PR or how it makes you feel?

image

Working Edit/Delete Buttons for Listings

This PR fixes a commonly reported issue where in the listings dashboard, a listing's edit and delete buttons were HTML <button> tags, when they should be <a> tags that link to the proper page. This prevented users from having the ability to Edit or Delete their posts.

Note:
This fix currently works on our DEV instance of Forem and will soon be deployed to all instances.

Use anchor tag instead of button for edit/delete links #12098

What type of PR is this? (check all applicable)

  • [x] Bug Fix

Description

This fixes an issue where in the listings dashboard, a listing's edit and delete buttons were HTML <button> tags, when they should be <a> tags that link to the proper page.

Related Tickets & Documents

Closes #10937

QA Instructions, Screenshots, Recordings

  1. Make a listing: http://localhost:3000/listings/new
  2. Go to your listings dashboard: http://localhost:3000/listings/dashboard
  3. Click the edit button and see that it routes properly
  4. Click the delete button and see that it routes to /:listing_slug/delete_confirm

UI accessibility concerns?

Don't think so! Just changed it to a regular link.

Added tests?

  • [x] Yes

Added to documentation?

  • [x] No documentation needed

[optional] Are there any post deployment tasks we need to perform?

No

[optional] What gif best describes this PR or how it makes you feel?

Can't load Giphy today :(

Discussion (0)