This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useState, useEffect, useCallback } from "react"; | |
import { withWebPerformance } from "./withWebPerformance"; | |
import Loader from "./components/Loader"; | |
export default function SomeComponent() { | |
const LoaderWithPerformance = withWebPerformance(Loader, "web-perf"); | |
const [loading, setLoading] = useState(true); | |
// ... | |
// TODO: load something and update the loading state |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { ComponentType, useEffect, useRef } from "react"; | |
const withWebPerformance = < | |
T extends object & { onLoaded?: (measure: PerformanceMeasure) => void } | |
>( | |
Component: ComponentType<T>, | |
name: string | |
) => { | |
return (props: T) => { | |
const { onLoaded } = props; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"id": "master", | |
"realm": "master", | |
"displayName": "Keycloak", | |
"displayNameHtml": "<div class=\"kc-logo-text\"><span>Keycloak</span></div>", | |
"notBefore": 0, | |
"revokeRefreshToken": false, | |
"refreshTokenMaxReuse": 0, | |
"accessTokenLifespan": 60, | |
"accessTokenLifespanForImplicitFlow": 900, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<VirtualHost *:80> | |
DocumentRoot "/etc/openpaas/isiboard" | |
ServerName isiboard.local | |
<Directory /etc/openpaas/isiboard/> | |
Options Indexes FollowSymLinks MultiViews | |
AllowOverride all | |
Require all granted | |
Order allow,deny | |
allow from all |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<gpx creator="StravaGPX" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd" version="1.1" xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"> | |
<metadata> | |
<time>2020-01-15T07:10:09Z</time> | |
</metadata> | |
<trk> | |
<name>Morning Run</name> | |
<type>9</type> | |
<trkseg> | |
<trkpt lat="43.4843740" lon="3.6764020"> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '2' | |
volumes: | |
esn_james_conf: | |
services: | |
esn: | |
container_name: esn | |
image: linagora/esn:1.4.3 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Login into OP as admin, open the browser console and copy/paste this script after having updated the domainId value | |
// define it from your instance | |
const domainId = '5bacec0db1a8481f6b30e806'; | |
function getBody(i, domainId) { | |
return `{"accounts":[{"type":"email","emails":["user-${i}@open-paas.org"]}],"domains":[{"domain_id":"${domainId}"}],"password":"secret"}`; | |
} | |
for(var i = 0; i < 1000; i++) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# install | |
npm install -g merginator-gitlab | |
# Use it | |
merginator-gitlab --upvotes 2 --gitlab https://YOUR_GITLAB_INSTANCE --token 1234567890 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const axios = require('axios'); | |
const { from, interval, combineLatest } = require('rxjs'); | |
const { switchMap, pluck, flatMap, distinct, skipWhile, share } = require('rxjs/operators'); | |
const baseURL = process.env.GITLAB_ENDPOINT || 'https://gitlab.com'; | |
const privateToken = process.env.GITLAB_TOKEN; | |
const pollingInterval = 2000; | |
const UPVOTES = 2; | |
const client = axios.create({ baseURL, headers: { 'Private-Token': privateToken }}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const axios = require('axios'); | |
const { from, interval } = require('rxjs'); | |
const { switchMap, pluck, flatMap, distinct, skip, share } = require('rxjs/operators'); | |
const baseURL = process.env.GITLAB_ENDPOINT || 'https://gitlab.com'; | |
const privateToken = process.env.GITLAB_TOKEN; | |
const pollingInterval = 2000; | |
const client = axios.create({ baseURL, headers: { 'Private-Token': privateToken }}); | |
function fetchMergeRequests() { |
NewerOlder