• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tf / pageflow
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: actions
DEFAULT BRANCH: master
Repo Added 06 Apr 2016 02:51PM UTC
Files 486
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH cdn-https-redirect
branch: cdn-https-redirect
CHANGE BRANCH
x
Reset
  • cdn-https-redirect
  • 0-11-stable
  • 12-0-stable
  • 12-4-stable
  • 12-x-stable
  • 15-0-stable
  • 15-1-stable
  • aa-pre-4
  • abort-file-selection
  • actions
  • active-admin-load-path
  • active-admin-view-patches
  • add-plugin-link-to-readme
  • additional-inline-help
  • adjacent-preload
  • adjacent-preload-12
  • admin-attributes-tables
  • admin-style-patches
  • alt-text
  • android-phone-player
  • appearance-stories
  • atmo-debug
  • atmo-fixes
  • atmo-inline-help
  • audio-api-volume-fading
  • audio-context-fading-feature
  • audio-fade-deactivate
  • audio-file-text-tracks
  • audio-loop
  • autoplay-muted-bg-videos-2
  • autoplay-story
  • autosave-file-rights
  • available-types
  • backdrop-transparent
  • background-image-preload
  • background-inline-help
  • background-inputs-group
  • background-media-spec-fix
  • before-after-lifecycle
  • bg-media
  • bg-media-12-x
  • blank-video-src-on-dispose
  • build-edge
  • build-edge-packages
  • built-in-widget-types-plugin
  • cancan-blocks-fix
  • cancancan
  • capybara-improvements
  • card-fixes
  • card-gaps
  • center-float
  • chart-el-pos
  • chart-fixes
  • chrome-75-capybara
  • chrome-logging
  • chrome-segfault
  • cl-15-3
  • classic-player-controls-configurability
  • clip-path-compat
  • close-button-i18n
  • close-navigation-button-icon
  • collapse-toolbar
  • color-input
  • color-input-default-value-binding
  • color-theme-options
  • conditional-thumbnails
  • content-el-js-gemspec
  • content-el-js-gemspec-15-2
  • content-element-frontend-api
  • content-element-handle-destroy
  • content-element-margins
  • content-elements-batch
  • content-elements-lifecycle
  • continue-prebuffer
  • controls-menus
  • cookie-notice
  • cookie-notice-12.2
  • coverage-fixes
  • coveralls
  • coveralls-parallel
  • coveralls-parallel-2
  • credit-links
  • credit-links-backport
  • css-scss
  • cue-margins
  • cue-settings
  • cue-style
  • current-section-fix
  • custom-highlighted-page-navigation-bar-mode
  • dash
  • debounced-ref
  • decouple-editor-layout
  • dedicated-mdr
  • default-text-track-file
  • delay-background-video-12
  • delayed-start
  • delete-page-fixes
  • delete-via-batch
  • deleted-new-record
  • deleted-social-share-image
  • dep-ext
  • detect-feature-fix
  • detect-get-media-element
  • disable-backdrop-text-tracks
  • disable-reference-input
  • disabled-reference-inputs
  • display-hide-text
  • display-scroll-indicator-var
  • display-text-tracks
  • dispose-during-fade-fix
  • doc-actions
  • document-outline
  • drop-down-button-improvements
  • dupl-css-rules
  • eager-account-users-tab
  • edge-dedicated
  • edge-dedicated-2
  • edge-dw
  • edge-hosted-4
  • edge-hosted-5
  • edit-content-element
  • edit-lock-build-stubbed
  • edit-transtions
  • editor-code-splitting
  • editor-controllers
  • editor-help-ext-links
  • embed-pillar
  • emphasize-chapter-beginning-theme-var
  • empty-para-span
  • entry-configuration-fix
  • entry-css-no-asset-host
  • entry-css-no-asset-host-12
  • entry-embed
  • entry-embed-0-11
  • entry-slug-in-common-seed
  • entry-template-error-translations
  • entry-theme-options
  • entry-theme-options-2
  • entry-themeing-select-options
  • entry-title-selector
  • entry-type-edit
  • entry-type-edit-seed
  • entry-type-edit-views
  • entry-type-engines-3
  • entry-type-features
  • entry-type-show
  • exact-bg-pos
  • export-react-measure
  • ext-link-icon
  • external-links-fixes
  • external-services-doc
  • extract-paged-ssr
  • facebook-in-app-fix
  • factory-bot
  • factory-bot-syntax
  • factory-girl-coverage
  • fade-in-logo-with-header
  • fake-media-api
  • file-config
  • file-config-2
  • file-configuration
  • file-failed
  • file-filters
  • file-ready-json-seed
  • file-retry
  • file-right-polling
  • file-seeds
  • file-type-css-background-images
  • file-type-features
  • file-type-lint-pre
  • file-usage-config
  • files-js-api
  • filter-by-published-at
  • filter-sources-fix
  • firefox-multi-preload-reqs
  • firefox-video-opt
  • first-page-fix
  • fix-0824
  • fix-0824-12-0
  • fix-0824-12-0-2
  • fix-backdrop-video
  • fix-click-intercepted
  • fix-enable-home-button-by-default-js
  • fix-ext-image-sel
  • fix-filet-type-css-test
  • fix-hls-output-presences-12-0
  • fix-hls-output-presences-12-1
  • fix-link-dialog
  • fix-link-dialog-backport
  • fix-page-selection
  • fix-page-type-menu-help
  • fix-scrolled-seed-spec
  • fix-spec
  • fix-travis
  • fix-travis-2
  • flaky-capybara
  • focus-outline
  • frontend-rollup-jest
  • fullscreen-in-thumbnail
  • gh-storybook
  • guided-panorama-2
  • h-page-transitions
  • h-scroll-indicator
  • h3
  • heading-fix
  • headless-chrome
  • help
  • hide-audio-page-content-for-tracks
  • hide-chapter-numbers
  • hide-controls-invisible-focus
  • hide-controls-on-leave
  • hide-info-box-for-text-tracks
  • hide-info-box-for-text-tracks-12-0
  • hide-text-event-fix
  • hide-text-on-react-pages
  • hide-text-on-swipe-fix
  • hide-text-selector
  • hide-videojs-controls
  • highdef
  • hls-options-fallback
  • hosted-file-polling
  • hypens
  • i18n-fallback
  • ie11-polyfills
  • ie11-user-agent
  • iframe-inspect
  • ignore-coverage
  • ignore-new-in-watch-collection
  • ignore-partials-js-error
  • ignore-storyline-order-401
  • image-variants
  • import-demo
  • import-export
  • improve-admin-account-index
  • improve-admin-entry-index
  • improve-boundary-events
  • improve-output-presences
  • improve-pageflow-support
  • improve-readme
  • info-box-html
  • info-box-view-html
  • initial-password
  • inline-edit-section
  • inline-help-improvements
  • inline-image-pillar
  • inline-mask-image
  • insert-button
  • insert-dialog
  • invalid-perma-id-hash
  • ios-in-app-browser-fix
  • ios-in-app-browser-fix-backport
  • ios-in-app-browsers-fix
  • iscroll-improvements
  • jbuilder-compat
  • jest-xhr-warnings
  • js-docs-3
  • js-i18n-interpolations
  • json-input
  • krant
  • lazy-backdrops
  • lazy-img-placeholders
  • lazy-img-placeholders-12
  • lazy-inline-images
  • lazy-inline-media
  • legacy-video-crossorigin
  • limit-prepare
  • link-color
  • link-target-self
  • link-texts
  • lint-page-type
  • lint-page-type-13
  • linter
  • load-less-images
  • load-less-images-12
  • load-path-test
  • loading-spinner-background-size
  • loading-spinner-theme
  • loading-spinner-without-glow
  • locale-compare-null
  • locale-context
  • locale-context-2
  • locale-context2
  • logical-border-and-padding
  • logo-changes
  • logo-opacity
  • logo-right
  • logo-theme-options
  • mask-no-asset-host
  • master
  • media-mutex
  • memo
  • memoize-section-properties
  • memoized-selectors
  • menu-bar-whitespace
  • menus
  • merge-empty-text
  • meta-data-items
  • meta-tag-attributes-translations
  • migrate-hls-presence
  • migrate-page-types
  • mobile-poster-android
  • mobile-scroll-indicator-margin
  • mobile-share-fix-backport
  • mobile-sharing-fix
  • mobile-sharing-icons
  • motif-area-selection
  • motif-grid
  • motif-help
  • motif-pos
  • move-paged-entries-controller
  • nan-duration
  • navi-style-fixes
  • navigation-theme-configurability
  • nested-file-types
  • nested-links
  • nginx-upload-cleanup-409
  • nginx-upload-guide
  • no-animate-deep-link
  • no-content-update
  • no-h-scroll
  • no-history-for-scroll
  • no-lint-wrapper
  • no-paged-partial-prefix
  • no-pause-on-paused
  • no-title-maxlength
  • no-video-visual-diff
  • node-package-spec-fixes
  • non-multiaccount-user-management
  • npm-ci
  • npm-ci-12
  • one-jshint
  • optional-webpacker
  • order-elements
  • outline-drag-handles
  • overview-page-description-fallback
  • package-lock
  • package-lock-12
  • page-anchor-margin
  • page-background-for-controls
  • page-link-support
  • page-objects
  • page-paddings
  • page-preloaded-ready
  • page-split-layout
  • page-transitions-spec
  • page-typography
  • page-widget-index-fix
  • paged-atmo-fixes
  • pageflow-paged-react
  • pageflow-react-yarn-jest
  • panorama-mask-style
  • panorama-style-quality
  • parse-int-page-perma-id
  • pc-debug
  • percy-chart-fix
  • perma-id-lock
  • perma-id-lock-2
  • permission-fixes
  • permission-fixes-12-0
  • permissions-0-12
  • permissions-config
  • phone-emulation
  • phone-horizontal-nav
  • phone-media-features
  • phone-preview
  • phone-preview-toggle
  • phone-title-theme-options
  • phone-title-theme-options-12
  • player-controls-changes
  • player-controls-colors
  • player-controls-improvements
  • player-controls-menu-bar
  • player-controls-theme-options
  • player-progress
  • private-structure-hooks
  • profile-validation-fail
  • prune-auto-snapshots
  • prune-unused-spec-helpers
  • public-entry-redirect
  • public-i18n-1-9
  • public-i18n-fallack-fix
  • publication-hook
  • published-entry-cache-key
  • quality-menu
  • rails-4-2
  • react
  • react-peer
  • redux
  • redux-2
  • redux-3
  • redux-4
  • redux-6
  • redux-7
  • redux-8
  • redux-collection-order
  • redux-editor-compat
  • register-entry-types
  • relative-playlist-urls
  • remove-dead-widgets
  • remove-hosted-file-migration
  • remove-legacy-theme
  • remove-pageflow-react-workspace
  • remove-src-from-options
  • remove-todos
  • render-demo-in-editor
  • render-page-assigns
  • replace-loading-spinner
  • reset-snapshot-type-on-restore
  • resize-event
  • resque-mailer-symbolize-keys
  • resque-mailer-symbolized-keys
  • revisions-table
  • right-to-left
  • role-fix
  • rollup-5
  • rspec-3
  • ruby-2-1-7
  • ruby-2-3
  • ruby-2-5
  • ruby-version-in-readme
  • rubycop-frozen-string-literal
  • rubygems-2.7.3
  • run-release-support
  • run-release-support-12
  • safari-10-loop
  • safari-10-loop-backport
  • safari-11-mute-autoplay
  • safari-array-reverse
  • safari-fullscreen-bg
  • safari-no-dash
  • safari-no-dash-12
  • safari-vtt-match-upload
  • sassc-dev-dep
  • scope-paged-config
  • scroll-indicator-arrow-position
  • scroll-indicator-nowrap
  • scrolled-blank-slate-impr
  • scrolled-capybara
  • scrolled-editor-texts
  • scrolled-editor-without-paged
  • scrolled-entry-state
  • scrolled-entry-type
  • scrolled-file-json-seeds
  • scrolled-first-chapter-link
  • scrolled-html
  • scrolled-i18n
  • scrolled-image-files-db-seeds
  • scrolled-metadata
  • scrolled-outline
  • scrolled-pageflow-editor-global
  • scrolled-structured-data
  • scrolled-title
  • scrolled-widget-scopes
  • searchable-select
  • section-defaults
  • section-motif
  • seed-loaded-event
  • select-input-default
  • select-input-view-ensure-value-defined
  • selection-rect
  • semmy-1-1
  • serialization-blacklist
  • server-side-widgets
  • setup-visited
  • share-url
  • sinons-2
  • skip-smil
  • slate-2
  • slate-5
  • slider-input-view-options
  • slim-control-bar-text-typography
  • slim-controls-text-track-positioning
  • slim-loading-spinner-svg
  • slim-player-shadow
  • sort-user-accounts-by-role
  • source-sans-pro-with-greek
  • split-entries-show
  • split-travis-jobs
  • sprockets-lt-4-backport
  • srt-tracks
  • ssr
  • state-machine-job-gem-1-x
  • storybook
  • storybook-svg
  • storyline-double-insert
  • storylines-seed
  • structured-data
  • structured-data-2
  • structured-data-improvements
  • subset-sort
  • subset-sort-buikld
  • support-dominos
  • tabs-resize-fix
  • teaspoon-fork
  • test-file-type
  • text-area-placeholder
  • text-embeds
  • text-max-width
  • text-max-width-2
  • text-position-center
  • text-track-improvements
  • text-track-menu
  • text-tracks-help
  • tf-entry-theme-selection
  • tf-try-comments
  • theme-first-page-padding
  • theme-logo-dimensions
  • themes
  • theming-defaults
  • thumbnail-candidate-conditions
  • title-loading-spinner-feature
  • top-navigation-height
  • transient-reference-lookup
  • transition-stories
  • travis-bundler
  • travis-chrome-81
  • travis-fix
  • travis-precompile-assets
  • travis-rubygems-2-7
  • ultra-style
  • unify-jshintrc
  • unknown-content-element-type
  • unmute-button
  • unmute-theme-image
  • unprepare-page
  • unprocessed-backdrop
  • unused-css
  • update-chrome-driver
  • update-guides-12
  • update-motif-area
  • update-rubocop
  • update-rubocop-hound
  • update-semmy
  • update-tracks-on-add-track
  • upload-rights-plus-signs
  • url-template-id-partition-fix
  • usage-touch-revision
  • use-content-element-editor-state
  • use-file
  • use-file-hook-in-content-element
  • use-strucuture
  • v-edge
  • v-video
  • v0.11.0
  • v0.11.1
  • v0.11.2
  • v0.11.3
  • v12.0.0
  • v12.0.0.rc1
  • v12.0.0.rc2
  • v12.0.0.rc7
  • v12.0.1
  • validate-file-attachments
  • vendor-app-javascript
  • versioning-policy
  • video-default
  • video-embed-fixes
  • video-fit
  • video-js-ready
  • video-motif
  • video-quality
  • video-stack-update-12
  • video-url-templates
  • videojs-6
  • videojs-update
  • visited-cookie-fix
  • vr-12
  • waveform-controls
  • waveform-text-tracks
  • wavesurfer-media-sek
  • widget-attributes-selector
  • widget-configuration
  • widget-configuration-2
  • widget-configuration-hosted
  • widget-scroll-indicators-fix
  • widget-scroll-indicators-fix-backbort
  • widget-theme-options-fix
  • widgets-update-event

pending completion
2218

push

travis-ci

tf
Support CDN that redirects to HTTPS

Previously, when using protocol relative URLs for paperclip and
zencoder attachments, HTTP was used as default protocol in social
share meta tag image URLs and when downloading thumbnails and posters
generated by Zencoder.

Also HTTPS URLs were actively rewritten to HTTP due to some cargo
culted workaround for a problem where Facebook had problems with HTTPS
urls.

In both cases a redirect to HTTPS served by the CDN caused problems:

* Facebook does not appear to follow redirects and instead complains
  about invalid content type.

* `open-uri` which is used by Paperclip to perform the image download
  also does not follow redirects. Video Files stay in `encoding` state
  forever since `PollZencoderJob` assumes thumbnails are not there
  yet.

It should be safe to assume that the CDN supports HTTPS if protocol
relative URLs were configured in the first place. We therefore use
HTTPS as default protocol to solve the issue.

There is a third place that supplies HTTP as default protocol: URLs in
SMIL files used to have Akamai generate HLS files (see
`ZencoderVideoOutputDefinition`). Since the known Akamai setups using
this option do not redirect to HTTPS, the default protocol was left
unchanged to prevent regressions.

REDMINE-16967

15998 of 16111 relevant lines covered (99.3%)

59.56 hits per line

Relevant lines Covered
Build:
Build:
16111 RELEVANT LINES 15998 COVERED LINES
59.56 HITS PER LINE
Source Files on cdn-https-redirect
  • List 0
  • Changed 12
  • Source Changed 0
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
2218 cdn-https-redirect Support CDN that redirects to HTTPS Previously, when using protocol relative URLs for paperclip and zencoder attachments, HTTP was used as default protocol in social share meta tag image URLs and when downloading thumbnails and posters generated ... push 23 Jul 2019 04:52PM UTC tf travis-ci pending completion  
2217 cdn-https-redirect Support CDN that redirects to HTTPS Previously, when using protocol relative URLs for paperclip and zencoder attachments, HTTP was used as default protocol in social share meta tag image URLs and when downloading thumbnails and posters generated ... push 23 Jul 2019 04:13PM UTC tf travis-ci pending completion  
See All Builds (1073)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc