Skip to content

Instantly share code, notes, and snippets.

View richardszalay's full-sized avatar

Richard Szalay richardszalay

View GitHub Profile
@richardszalay
richardszalay / WKCookieWebView.swift
Created January 11, 2021 01:29 — forked from novemberfiveco-gists/WKCookieWebView.swift
A WKWebView subclass that passes cookies after a 302 redirect response.
//
// WKCookieWebView.swift
//
// Created by Jens Reynders on 30/03/2018.
// Copyright (c) 2018 November Five
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@richardszalay
richardszalay / WKCookieWebView.swift
Created January 11, 2021 01:29 — forked from novemberfiveco-gists/WKCookieWebView.swift
A WKWebView subclass that passes cookies after a 302 redirect response.
//
// WKCookieWebView.swift
//
// Created by Jens Reynders on 30/03/2018.
// Copyright (c) 2018 November Five
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@richardszalay
richardszalay / ConvertFrom-SxaSearchUrl.ps1
Created August 12, 2019 01:55
Convert SXA search API URLs to raw queries
<#
Converts an SXA search results API URL into the raw query sent to the provider
Example:
ConvertFrom-SxaSearchUrl (Read-Host "URL (eg. http://localhost/sxa/search/results?q=...)") | Format-List
#>
function ConvertFrom-SxaSearchUrl
{
param(
@richardszalay
richardszalay / pipelinesPerRequest.js
Created July 5, 2019 06:49
Sitecore Pipelines admin tool :: Per Request Wall Time Summary
/*
Paste this into the dev tools console on sitecore/admin/pipelines.aspx for a summary of pipeline execution time per request
*/
(function() {
function pipelinesPerRequest() {
const pipelines = Array.from(document.querySelectorAll('.groupheader')).map(el => ({
pipeline: el.querySelector("*[pln-name]").innerText,
executions: parseInt(el.querySelector('*[title="#Executions"]').innerText, 10),
wallTime: parseInt(el.querySelector('*[title="Wall Time"]').innerText.replace(/[^\d\.]/g, ''), 10)
}))
@richardszalay
richardszalay / ConvertFrom-XdbIndexToken.ps1
Created June 19, 2019 23:36
ConvertFrom-XdbIndexToken
param(
[string]$Token = (Read-Host "Enter xdbtokenbytes_s value")
)
$bytes = [Convert]::FromBase64String($Token)
$ms = [System.IO.MemoryStream]::new($bytes, 0, $bytes.Length)
$bf = [System.Runtime.Serialization.Formatters.Binary.BinaryFormatter]::new()
$dict = $bf.Deserialize($ms);
Write-Output $dict
@richardszalay
richardszalay / IISAssemblyDebugging.psm1
Created June 14, 2019 02:56
Enable/Disable JIT optimizations for assemblies so they can be debugged with dnSpy
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
function Enable-IISAssemblyDebugging
{
param(
[string]$Path = ".",
[string]$Filter = "*.dll"
)
@richardszalay
richardszalay / Connect-AzureVmRDP.ps1
Created April 23, 2019 23:13
Connect-AzureVmRDP
<#
.SYNOPSIS
Connect to an Azure VM via RDP, starting it if it is not already running
.DESCRIPTION
VM credentials are cached to Credential Manager and won't be required after the first connect
.PARAMETER Subscription
The Azure Subscription that contains the VMS
.PARAMETER ResourceGroupName
@richardszalay
richardszalay / web-nfc.d.ts
Created April 8, 2019 10:51
Types for WebNFC as implemented by Chrome
/**
* Types for the version of Web NFC available in Chrome for Android
*
* The spec is similar to, but does not exactly match https://w3c.github.io/web-nfc/releases/20151112/
*/
declare global {
interface Navigator {
nfc: WebNFC
}
@richardszalay
richardszalay / ConvertToNewNuget-PackageReference.ps1
Created November 30, 2018 23:02 — forked from nickwesselman/ConvertToNewNuget-PackageReference.ps1
Assists in updating an existing Sitecore Visual Studio solution to the new nuget structure for 9.1, when using PackageReference style Nuget. This code is provided AS-IS, and is not supported by Sitecore.
## Nuget v2 URL for the target platform, and the target marketing version
$SitecoreNuget = "https://sitecore.myget.org/F/sc-platform-9-1/api/v2"
$TargetVersion = "9.1.0"
## Nuget URL to retrieve package metadata, including dependencies
$MetaPackage = "$SitecoreNuget/Packages(Id='Sitecore.Experience.Platform',Version='$TargetVersion')"
## Retrieve the package metadata from nuget (no nice way of doing this via CLI)
$PackageMetadata = [xml](Invoke-WebRequest $MetaPackage).Content
<#
**Prototype**
Updates the properties of one or more Sitecore Commerce policies in a policy set or environment json file.
# Patch all policies from another file
Patch-SitecoreCommercePolicySet -Path "path\to\policy.json" -SourcePath "path\to\source.json"
# Patch a specific policy from another file
Patch-SitecoreCommercePolicySet -Path "path\to\policy.json" -SourcePath "path\to\source.json" -PolicyType "Fully.Qualified.Type, With.Assembly.But.Spaces.Are.Ignored"