Timeouts after 10 mins with error code 1006

I have a flask-sock app deployed using gunicorn and nginx.  I get disconnected after 10 minutes (sometimes sooner) with the following error: Disconnected (code: 1006, reason: "")
Is there a way to configure the timeout length?
I'm running it with: gunicorn --bind <IP_ADDRESS>:5655 --workers 4 --threads 20 wsgi:app

This could be the browser closing the socket due to inactivity. The WebSocket protocol has a ping/ping mechanism, but most browsers do not implement it and this server does not either (though I've been considering adding it).
What most people do is just send a dummy message  every 50 seconds or so to keep them from timing out (I believe some browsers timeout sockets at one minute).

Thanks for the suggestion.  As it happens I managed to fix the issue with this: https://stackoverflow.com/questions/19304157/getting-the-reason-why-websockets-closed-with-close-code-1006/57706152#57706152

@imrankhan17 I'm not sure that's the best solution, because making the nginx timeouts longer will (I think) affect your non-websocket routes as well. As I said above, the best to beat timeouts is to have a little interval function in the browser that sends a dummy package regularly.

I have a separate nginx config for this websocket route so that shouldn't be an issue.  With your suggestion, do you mean it's the client's responsibility to send dummy messages or can I do the same from the server too?

It does not matter who sends the package, the only purpose is to keep some traffic in the line to prevent the timeouts. I suggested you do it from the client because it is easier. I was considering adding pings in the server as a definitive solution to this problem.

Ok great, I'll look into adding in the pings but it'd be great if you added it into the package too.

Yes, keeping this issue open so that I don't forget!

@miguelgrinberg Is this something that you are working on ?
Would this be a change in simple-websockets code base ?
I was thinking adding an option in initialization for enabling the ping and then checking on time in this code to send a ping.

@sanhardik I haven't had time to look at this yet, but yes, doing this in the thread may be the best solution.

It does not matter who sends the packet, the only purpose is to keep some traffic in the line to prevent the timeouts. I suggested you do it from the client because it is easier. I was considering adding pings in the server as a definitive solution to this problem.

Does the current websocket Server instantiation support adding ping_interval from the config?
                ws = Server(request.environ, **current_app.config.get(
                    'SOCK_SERVER_OPTIONS', {}))

Am I reading the code correctly that I just add something like SOCK_SERVER_OPTIONS = {"ping_interval": 50} to my app config to enable server ping?


[#169647021] added registration page 3

added translations for page 3
moved token setting and user profile api call to DefaultContainer (as token and profile info are used in every child component of DefaultContainer)
added registration step 3
added integration with get documents api
moved loading page to default container (as it is used only after login)
added new env variable to api env file

Warnings

:warning:
This PR changes a total of 4473 LOCs, that is more than a reasonable size of 250. Consider splitting the pull request into smaller ones.

Affected stories

🌟 #169647021: Aggiungere pagina caricamento creazione documenti

New dependencies added: file-saver, react-cookie and @types/file-saver.
file-saver
Author: Eli Grey
Description: An HTML5 saveAs() FileSaver implementation
Homepage: https://github.com/eligrey/FileSaver.js#readme

Createdover 3 years agoLast Updated5 months agoLicenseMITMaintainers2Releases16Keywordsfilesaver, saveas and blob

README
If you need to save really large files bigger then the blob's size limitation or don't have
enough RAM, then have a look at the more advanced StreamSaver.js
that can save data directly to the hard drive asynchronously with the power of the new streams API. That will have
support for progress, cancelation and knowing when it's done writing
FileSaver.js
FileSaver.js is the solution to saving files on the client-side, and is perfect for
web apps that generates files on the client, However if the file is coming from the
server we recommend you to first try to use Content-Disposition attachment response header as it has more cross-browser compatiblity.
Looking for canvas.toBlob() for saving canvases? Check out
canvas-toBlob.js for a cross-browser implementation.
Supported Browsers

Browser
Constructs as
Filenames
Max Blob Size
Dependencies

Firefox 20+
Blob
Yes
800 MiB
None

Firefox < 20
data: URI
No
n/a
Blob.js

Chrome
Blob
Yes
2GB
None

Chrome for Android
Blob
Yes
RAM/5
None

Edge
Blob
Yes
?
None

IE 10+
Blob
Yes
600 MiB
None

Opera 15+
Blob
Yes
500 MiB
None

Opera < 15
data: URI
No
n/a
Blob.js

Safari 6.1+*
Blob
No
?
None

Safari < 6
data: URI
No
n/a
Blob.js

Safari 10.1+
Blob
Yes
n/a
None

Feature detection is possible:
try {
    var isFileSaverSupported = !!new Blob;
} catch (e) {}

IE < 10
It is possible to save text files in IE < 10 without Flash-based polyfills.
See ChenWenBrian and koffsyrup's saveTextAs() for more details.
Safari 6.1+
Blobs may be opened instead of saved sometimes—you may have to direct your Safari users to manually
press ⌘+S to save the file after it is opened. Using the application/octet-stream MIME type to force downloads can cause issues in Safari.
iOS
saveAs must be run within a user interaction event such as onTouchDown or onClick; setTimeout will prevent saveAs from triggering. Due to restrictions in iOS saveAs opens in a new window instead of downloading, if you want this fixed please tell Apple how this WebKit bug is affecting you.
Syntax
Import saveAs() from file-saver
import { saveAs } from 'file-saver';

FileSaver saveAs(Blob/File/Url, optional DOMString filename, optional Object { autoBom })

Pass { autoBom: true } if you want FileSaver.js to automatically provide Unicode text encoding hints (see: byte order mark). Note that this is only done if your blob type has charset=utf-8 set.
Examples
Saving text using require()
var FileSaver = require('file-saver');
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");

Saving text
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");

Saving URLs
FileSaver.saveAs("https://httpbin.org/image", "image.jpg");

Using URLs within the same origin will just use a[download].
Otherwise, it will first check if it supports cors header with a synchronous head request.
If it does, it will download the data and save using blob URLs.
If not, it will try to download it using a[download].
The standard W3C File API Blob interface is not available in all browsers.
Blob.js is a cross-browser Blob implementation that solves this.
Saving a canvas
var canvas = document.getElementById("my-canvas");
canvas.toBlob(function(blob) {
    saveAs(blob, "pretty image.png");
});

Note: The standard HTML5 canvas.toBlob() method is not available in all browsers.
canvas-toBlob.js is a cross-browser canvas.toBlob() that polyfills this.
Saving File
You can save a File constructor without specifying a filename. If the
file itself already contains a name, there is a hand full of ways to get a file
instance (from storage, file input, new constructor, clipboard event).
If you still want to change the name, then you can change it in the 2nd argument.
// Note: Ie and Edge don't support the new File constructor,
// so it's better to construct blobs and use saveAs(blob, filename)
var file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(file);

Installation
# Basic Node.JS installation
npm install file-saver --save
bower install file-saver

Additionally, TypeScript definitions can be installed via:
# Additional typescript definitions
npm install @types/file-saver --save-dev

react-cookie
Author: Benoit Tremblay
Description: Universal cookies for React
Homepage: https://github.com/reactivestack/cookies/tree/master/packages/react-cookie/#readme

Createdover 4 years agoLast Updated4 months agoLicenseMITMaintainers1Releases63Direct Dependencies@types/hoist-non-react-statics, hoist-non-react-statics and universal-cookieKeywordsuniversal, isomophic, cookie and react

README

react-cookie

  Universal cookies for React

Integrations

universal-cookie - Universal cookies for JavaScript
universal-cookie-express - Hook cookies get/set on Express for server-rendering

Minimum requirement
react-cookie @ v3.0+

React.js >= 16.3.0 (new context API + forward ref)

react-cookie @ v0.0-v2.2

React.js >= 15

Getting started
npm install react-cookie
or in the browser (global variable ReactCookie):

<CookiesProvider />
Set the user cookies
On the server, the cookies props must be set using req.universalCookies or new Cookie(cookieHeader)
useCookies([dependencies])
Access and modify cookies using React hooks.
const [cookies, setCookie, removeCookie] = useCookies(['cookie-name']);

React hooks are available starting from React 16.8
dependencies (optional)
Let you optionally specify a list of cookie names your component depend on or that should trigger a re-render. If unspecified, it will render on every cookie change.
cookies
Javascript object with all your cookies. The key is the cookie name.
setCookie(name, value, [options])
Set a cookie value

name (string): cookie name
value (string|object): save the value and stringify the object if needed
options (object): Support all the cookie options from RFC 6265

path (string): cookie path, use / as the path if you want your cookie to be accessible on all pages
expires (Date): absolute expiration date for the cookie
maxAge (number): relative max age of the cookie from when the client receives it in second
domain (string): domain for the cookie (sub.domain.com or .allsubdomains.com)
secure (boolean): Is only accessible through HTTPS?
httpOnly (boolean): Is only the server can access the cookie?
sameSite (boolean|lax|strict): Strict or Lax enforcement

removeCookie(name, [options])
Remove a cookie

name (string): cookie name
options (object): Support all the cookie options from RFC 6265

path (string): cookie path, use / as the path if you want your cookie to be accessible on all pages
expires (Date): absolute expiration date for the cookie
maxAge (number): relative max age of the cookie from when the client receives it in second
domain (string): domain for the cookie (sub.domain.com or .allsubdomains.com)
secure (boolean): Is only accessible through HTTPS?
httpOnly (boolean): Is only the server can access the cookie?
sameSite (boolean|lax|strict): Strict or Lax enforcement

withCookies(Component)
Give access to your cookies anywhere. Add the following props to your component:

cookies: Cookies instance allowing you to get, set and remove cookies.
allCookies: All your current cookies in an object.

Your original static properties will be hoisted on the returned component. You can also access the original component by using the WrappedComponent static property. Example:
function MyComponent() {
  return null;
}
const NewComponent = withCookies(MyComponent);
NewComponent.WrappedComponent === MyComponent;

Cookies
get(name, [options])
Get a cookie value

name (string): cookie name
options (object):

doNotParse (boolean): do not convert the cookie into an object no matter what

getAll([options])
Get all cookies

options (object):

doNotParse (boolean): do not convert the cookie into an object no matter what

set(name, value, [options])
Set a cookie value

name (string): cookie name
value (string|object): save the value and stringify the object if needed
options (object): Support all the cookie options from RFC 6265

path (string): cookie path, use / as the path if you want your cookie to be accessible on all pages
expires (Date): absolute expiration date for the cookie
maxAge (number): relative max age of the cookie from when the client receives it in second
domain (string): domain for the cookie (sub.domain.com or .allsubdomains.com)
secure (boolean): Is only accessible through HTTPS?
httpOnly (boolean): Is only the server can access the cookie?
sameSite (boolean|lax|strict): Strict or Lax enforcement

remove(name, [options])
Remove a cookie

name (string): cookie name
options (object): Support all the cookie options from RFC 6265

path (string): cookie path, use / as the path if you want your cookie to be accessible on all pages
expires (Date): absolute expiration date for the cookie
maxAge (number): relative max age of the cookie from when the client receives it in second
domain (string): domain for the cookie (sub.domain.com or .allsubdomains.com)
secure (boolean): Is only accessible through HTTPS?
httpOnly (boolean): Is only the server can access the cookie?
sameSite (boolean|lax|strict): Strict or Lax enforcement

Simple Example with React hooks
// Root.jsx
import React from 'react';
import App from './App';
import { CookiesProvider } from 'react-cookie';

export default function Root() {
  return (
    <CookiesProvider>
      <App />
    </CookiesProvider>
  );
}

// App.jsx
import React from 'react';
import { useCookies } from 'react-cookie';

import NameForm from './NameForm';

function App() {
  const [cookies, setCookie] = useCookies(['name']);

  function onChange(newName) {
    setCookie('name', newName, { path: '/' });
  }

  return (

      <NameForm name={cookies.name} onChange={onChange} />
      {cookies.name &&
Hello {cookies.name}!
}

  );
}

export default App;

Simple Example with Higher-Order Component
// Root.jsx
import React from 'react';
import App from './App';
import { CookiesProvider } from 'react-cookie';

export default function Root() {
  return (
    <CookiesProvider>
      <App />
    </CookiesProvider>
  );
}

// App.jsx
import React, { Component } from 'react';
import { instanceOf } from 'prop-types';
import { withCookies, Cookies } from 'react-cookie';

import NameForm from './NameForm';

class App extends Component {
  static propTypes = {
    cookies: instanceOf(Cookies).isRequired
  };

  constructor(props) {
    super(props);

    const { cookies } = props;
    this.state = {
      name: cookies.get('name') || 'Ben'
    };
  }

  handleNameChange(name) {
    const { cookies } = this.props;

    cookies.set('name', name, { path: '/' });
    this.setState({ name });
  }

  render() {
    const { name } = this.state;

    return (

        <NameForm name={name} onChange={this.handleNameChange.bind(this)} />
        {this.state.name &&
Hello {this.state.name}!
}

    );
  }
}

export default withCookies(App);

Server-Rendering Example
// src/components/App.js
import React from 'react';
import { useCookies } from 'react-cookie';

import NameForm from './NameForm';

function App() {
  const [cookies, setCookie] = useCookies(['name']);

  function onChange(newName) {
    setCookie('name', newName, { path: '/' });
  }

  return (

      <NameForm name={cookies.name} onChange={onChange} />
      {cookies.name &&
Hello {cookies.name}!
}

  );
}

export default App;

// src/server.js
import React from 'react';
import ReactDOMServer from 'react-dom/server';
import { CookiesProvider } from 'react-cookie';

import Html from './components/Html';
import App from './components/App';

export default function middleware(req, res) {
  const markup = ReactDOMServer.renderToString(
    <CookiesProvider cookies={req.universalCookies}>
      <App />
    </CookiesProvider>
  );

  const html = ReactDOMServer.renderToStaticMarkup();

  res.send('<!DOCTYPE html>' + html);
}

// src/client.js
import React from 'react';
import ReactDOM from 'react-dom';
import { CookiesProvider } from 'react-cookie';

import App from './components/App';

const appEl = document.getElementById('main-app');

ReactDOM.render(
  <CookiesProvider>
    <App />
  </CookiesProvider>,
  appEl
);

// server.js
require('@babel/register');

const express = require('express');
const serverMiddleware = require('./src/server').default;
const cookiesMiddleware = require('universal-cookie-express');

const app = express();

app
  .use('/assets', express.static('dist'))
  .use(cookiesMiddleware())
  .use(serverMiddleware);

app.listen(8080, function() {
  console.log('Listening on 8080...');
});

@types/file-saver
Author: Unknown
Description: TypeScript definitions for FileSaver.js
Homepage: http://npmjs.com/package/@types/file-saver

Createdabout 3 years agoLast Updated9 days agoLicenseMITMaintainers1Releases6Direct Dependencies

README
Installation

npm install --save @types/file-saver

Summary
This package contains type definitions for FileSaver.js ( https://github.com/eligrey/FileSaver.js/ ).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/file-saver
Additional Details

Last updated: Tue, 21 May 2019 19:56:14 GMT
Dependencies: none
Global values: none

Credits
These definitions were written by Cyril Schumacher https://github.com/cyrilschumacher, Daniel Roth https://github.com/DaIgeb, Chris Barr https://github.com/chrismbarr, HitkoDev https://github.com/HitkoDev.

  Generated by :no_entry_sign: dangerJS against 5069460b09d861ae0cfc06325437d26ac92f53f7


Saved state issue

Hi,
First of all, great plugin. Works like a charm and looks nice.
I have one problem which i cannot seem to get fixed. I use the bootstrap grid to split the screen in half and display an amount of panels in there, like so:

As you can see, i have a little NaN action going on. But this doesn't seem to affect anything.
My problem is that i cant seem to save the position of panels that are moved from the left to the right (or the other way around). It does save the top to bottom arrangement. If i look at the html using firebug i do see the id of the panel added to the child-inner-id element but after a refresh it just places it back in the col where it started in the first place.
Am i doing something wrong or is this some sort of bug?

Can you please make a pull request? It helps me to compare code and merge easily.
Thank you

This wasn't a commit that i did, just found a fork that worked... So can't really help you with that.
I wanted to add that this fork has a annoying side effect that it reloads the page every time you drag a panel... So this is far from perfect.


Run functional tests on STDCI

Run check-patch.sh in STDCI on each PR.
check-patch.sh will create a cluster and run the functional tests.
stdci.yaml indicates that the automation should run on a bare-metal
server.
Signed-off-by: gbenhaim<EMAIL_ADDRESS>

@phoracek If you'll rebase https://github.com/kubevirt/kubernetes-device-plugins/pull/47 on this PR, the functional tests will be checked on STDCI.

The automation will use golang-1.9.4 (this is the latest 1.9.x version available in Centos repos).
I've added make build

Once the hook is ready, I'll update Jenkins and then we can test this PR.

@gbenhaim  thanks, I created those two hooks:
http://jenkins.ovirt.org/ghprbhook/ (issue_comment and pull_request)
http://jenkins.ovirt.org/generic-webhook-trigger/invoke (push)

Some tests failed

@phoracek Can you please give write permissions to ovirt-infra ?

ci test please

@gbenhaim I think we need python-devel package in dependencies

I've added python-devel.
Any idea what should be the GOPATH?

@phoracek ping

@gbenhaim sorry, I'm changing it, so it will be built in containers, will post a patch for it today and we can rebase this on top of it. Should be easier.

@phoracek any update? we've love to get it in for Sprint 13 until Wed,
Do you think it'll be possible?

@eedri @gbenhaim I'm not sure whether I will have time to debug it until Wednesday, could we make it so it is just here with echo hello world and I would debug it and add tests execution later?


v22.1 upgrade docs

(WIP; not ready to merge)
Fixes DOC-3355.
Fixes DOC 3356.

Updated the version callouts in the v22.1 upgrade docs (incl. Kubernetes docs), using new liquid variables and conditional url syntax from @nickvigilante
Added a provisional list of "upgrade finalization" features. Final verbiage will be taken from the GA release notes.
Also still need to add an include for "breaking changes" list in the GA release notes.

cc @mikeCRL for visibility.
@trestman do you have availability to review this PR before next Monday, the 24th? It needs to be merged before then, ideally Friday. The PR is a WIP (see above) but the other contents to be included will be coming directly from @mikeCRL, so I think it is safe to review now.

Thanks @nickvigilante @MichaelTrestman for the help!


hyprwayland-scanner is outdated in flake.lock

@fufexan Hyprland doesn't build because hyprwayland-scanner in flake.lock is 0.3.4 but 0.3.5 is needed to build.

correct

bumped


Inline styles cause override, let's get rid of them

Hi
I added some custom styles to this CSS file C:\Users\babak\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.css. In the CSS file, I changed the font family of the editor for the places where the editor.fontFamily config doesn't help.
The problem is some input fields contain inline CSS styles that override the font family. For example the "Search Extensions in Marketplace" field. (To be specific, the element that holds the input value cases the issue, not the element that holds the placeholder text).

https://user-images.githubusercontent.com/44144724/234106321-156d8bce-8860-4901-ae79-dde95474043a.mp4
There are some other input fields that do not contain this inline CSS font-family override:
https://user-images.githubusercontent.com/44144724/234106491-bbe7bc34-e2b5-4558-a72a-7622c983cd06.mp4
My suggestion is, let's remove the inline CSS that overrides the font family.
Thanks

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

I have updated the issue description.

Thanks for your feedback. However right now we have no plans to address this - supporting custom modified CSS is not on our roadmap. Though let's keep this issue open to gather more feedback.

Hi
Apologies for any confusion caused earlier. To clarify, I am not seeking a feature for custom CSS. Rather, I wish to remove the inline font-family property. As far as my understanding goes, it isn't necessary to have it as the font-family property is already applied to the body element.
VIDEO 1
I remove the font-family property but it messed things up.
https://user-images.githubusercontent.com/44144724/234466290-f7ada0fe-fe9f-49c6-ab0b-b0a3449840c3.mp4
VIDEO 2
I removed the font-family property from the input and added its value to the body and things work fine now:
https://user-images.githubusercontent.com/44144724/234466623-e9fee403-a68d-423b-85eb-ba347806e999.mp4
VIDEO 3
It seems like using some fonts messes things up but some don't!
https://user-images.githubusercontent.com/44144724/234466882-fe60d07a-80ed-4827-81a8-b6ff171d0fd5.mp4
So, what is going on? Please let me know if things weren't clear in those videos. Also, why do we have those inline styles?
Thanks


Unrecognized font family 'sans-serif'

I keep encountering errors while using this component library, but they can be closed. However, they keep reappearing after being closed. The packaged app works fine, but in the development environment, this error keeps popping up, affecting my development workflow. How can I avoid this issue?
Thank you for taking the time to look into this issue. I look forward to your response.🫡🫡
This is my system and libraries information:
System:
OS: macOS 14.4.1
CPU: (8) arm64 Apple M3
Memory: 100.72 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.2.0 - ~/.nvm/versions/node/v22.2.0/bin/node
Yarn: 1.22.22 - /opt/homebrew/bin/yarn
npm: 10.7.0 - ~/.nvm/versions/node/v22.2.0/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.15.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.4, iOS 17.4, macOS 14.4, tvOS 17.4, visionOS 1.1, watchOS 10.4
Android SDK:
API Levels: 30, 31, 33, 34
Build Tools: 30.0.3, 31.0.0, 33.0.0, 34.0.0
System Images: android-34 | Google APIs ARM 64 v8a, android-34 | Google Play ARM 64 v8a
Android NDK: 26.1.10909125
IDEs:
Android Studio: 2023.2 AI-232.10300.40.2321.11567975
Xcode: 15.3/15E204a - /usr/bin/xcodebuild
Languages:
Java: 17.0.11 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: 0.71.11 => 0.71.11
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
This is a video showing the issue.
https://github.com/user-attachments/assets/38b29f59-5b05-4aab-a9f3-1258469e8317

https://github.com/wuba/react-native-echarts/commit/e40f28fc4b0c12e1850da651cde2a86d78e7c527
Problems that may be related

try 2.0.2

try 2.0.2

可以了，谢谢🙏！


Switch to markdown files for data sources

POC for https://github.com/thetronjohnson/remotekochi/issues/1#issuecomment-1643441303
Fixes: #1
@thetronjohnson Let me know your thoughts.

@abrahamparayil could you please add the markdown files for the coworking spaces too with the recent commits on main
ps: https://remotekochi.netlify.app/

@thetronjohnson Done.

thanks :)


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/networking-wg-leads
/assign knative-sandbox/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/networking 52fb6ee...ec78554:
  > ec78554 Add transport option (# 606)
  > c7164d4 upgrade to latest dependencies (# 604)
  > 37ab2ef upgrade to latest dependencies (# 603)
  > 075f9b9 Update community files (# 602)

/lgtm
/approve


DO NOT APPROVE, security testing.  dktkob

DO NOT APPROVE, security testing.  dktkob

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Bump to Netty 4.1.95.Final

Motivation:
Netty 4.1.95.Final is out and we should upgrade to it.
Modifications:
Upgraded Netty to 4.1.95.Final
Result:
Latest Netty version

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@hyperxpro Hey :wave: Thanks for the PR!

Ayyo @trustin
Just getting started with Armeria. My next major project will be on it. Thanks for the great framework once again! :)

Just getting started with Armeria. My next major project will be on it. Thanks for the great framework once again! :)

Looking forward to this, @hyperxpro! Once it goes to production, please consider adding it here: https://github.com/line/armeria/discussions/4626 :wink:


Value-level generic type names

This is a supplementing proposal to go with my constraint types proposal: #13257, but it also could be very powerful for working with the typeof proposal in #6066.
In that proposal, there is the ability to dispatch type based on value is Whatever, and it would be useful to also generically pass bindings (not just raw types).
Proposal
// Declaration
interface Foo<expr value> {}
type Foo<expr value> = ...

// Declaration with constraints
interface Foo<expr value is Bar> {}
type Foo<expr value is Bar> = ...

// Usage
const foo: Foo<foo>;
declare function bar(item: any): Foo<item>
interface Bar { self: Foo<this>; }

In declarations, you simply prefix expr to make it a value-level binding rather than a type.
You may constrain these with the same value is T syntax currently available in return values.
Using them is as simple as passing a variable name as a parameter.
Any typeof operand supported is also supported here as a generic parameter.
this is a valid binding.

Are you sure 6066 is the right issue number here? It appears to be a PR related to the language service.

@masaeedu Nope. Fixed to the right issue (#6606).

I don't understand at all what this is proposing. What is a value-level binding? Is value a special name here? What is this for?

I'm not fully sure either at this point, so I'll close it for now.


Add support for custom dependency extractors

Summary
Adds a new dependencyExtractor option to use a custom function to extract dependencies from the code. It will allow users to implement support for custom functions loading modules (which will be taken into account to determine which tests to run):
package.json:
{
  ...
  "jest": {
    "dependencyExtractor": "<rootDir>/dependencyExtractor.js"
  }
}

dependencyExtractor:
const blockCommentRe = /\/\*[^]*?\*\//g;
const lineCommentRe = /\/\/.*/g;
const LOAD_MODULE_RE = /(?:^|[^.]\\s*)(\\bloadModule\\s*?\\(\\s*?)([\`'"])([^\`'"]+)(\\2\\s*?\\))/g;

module.exports = function dependencyExtractor(code, defaultExtractor) {
  const dependencies = defaultExtractor(code);
  const addDependency = (match, pre, quot, dep, post) => {
    dependencies.add(dep);
    return match;
  };

  code
    .replace(blockCommentRe, '')
    .replace(lineCommentRe, '')
    .replace(LOAD_MODULE_RE, addDependency);

  return dependencies;
};

sample-test.js:
const module = loadModule('./foo');

it('should reload when `foo` changes!', () => {
  // ...
});

Test plan
Updated unit tests for the jest-haste-map and added an E2E test for this feature.

Codecov Report

Merging #7313 into master will decrease coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #7313      +/-   ##
==========================================
- Coverage   66.64%   66.63%   -0.02%
==========================================
  Files         241      241
  Lines        9337     9334       -3
  Branches        5        6       +1
==========================================
- Hits         6223     6220       -3
  Misses       3111     3111
  Partials        3        3

Impacted Files
Coverage Δ

packages/jest-config/src/ValidConfig.js
100% <ø> (ø)
:arrow_up:

packages/jest-config/src/index.js
19.35% <ø> (ø)
:arrow_up:

packages/jest-runtime/src/index.js
76.99% <ø> (ø)
:arrow_up:

packages/jest-haste-map/src/index.js
92.05% <ø> (ø)
:arrow_up:

packages/jest-config/src/normalize.js
85.53% <ø> (ø)
:arrow_up:

packages/jest-config/src/Defaults.js
100% <ø> (ø)
:arrow_up:

packages/jest-haste-map/src/worker.js
94.44% <100%> (+0.15%)
:arrow_up:

packages/jest-haste-map/src/lib/extractRequires.js
100% <100%> (ø)
:arrow_up:

packages/jest-mock/src/index.js
85.41% <0%> (-0.14%)
:arrow_down:

packages/expect/src/spyMatchers.js
97.43% <0%> (-0.02%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bb9efac...f5c65f9. Read the comment docs.

Oh, awesome! I actually started a branch with this stuff months ago, but never was able to finish it


Code Gen and Config Gen: using api list from service yaml

This is in preparation for mixin support.
Before this change, any interface discovered in the proto path will have
a corresponding VKit wrapper generated. After this change, only
interfaces in the api list of the service config will have wrappers generated.

LGTM


Add e2e gh action; add temp e2e make target

Also fixed some whitespace issues and missing PHONY
Signed-off-by: jesus m. rodriguez<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
11 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-2.5%) to 70.901%

Files with Coverage Reduction
New Missed Lines
%

controllers/scopeinstance_controller.go
11
66.0%

Totals

Change from base Build<PHONE_NUMBER>:
-2.5%

Covered Lines:
307

Relevant Lines:
433

💛  - Coveralls


[FLOC-3613] Log discovery as its own action.

Thanks.  Build results look about as good as can be expected right now.  Just the few minor inline comments.  I would like to understand the DeferredContext(succeed(None)) thing so please explain that wherever you think is appropriate, address other points to your satisfaction, and then merge.

I think that was actually unnecessary, I can probably simplify it.


[ Refactor ] Tensor has TensorDim

Currently Tensor class handles the dimension with it's own data
structure.
It is better to use TensorDim for this for consistency with other
classes of NNTrainer.
Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #118. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @jijoongmoon, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/118-202006012123490.7731990814209-bb6e4833d8cbd7a22485b8555109e470f46fc9ad/.

:octocat: cibot: @jijoongmoon, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/118-202006050900000.86630988121033-80a5d1cc2d847749c448f867d0ca0b867e95a25b/.


feat: hard-code list of managed policies and use that by default

This was the only AWS Service call in SAM. By removing this it allows for the SAM transformer to be run offline.
Maintained the initial code with an option so that in the future we an expose a way to grab the authoritative list from IAM. This also allows us to easily grab an updated list periodically.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Since both SAM CLI and cfn-lint already implement the same feature, this is a really nice change from a consumer point of view

This seemed to be shelved in Aug 2018 and not update since. Closing as this is stale.


Fix #128 : List files for commit instead of compare

Fixes #128
Changes

In lib/util.js when determining the modified files from a push event, now uses octokit's getCommit method instead of compareCommitsWithBasehead to avoid errors when the push event does not include a "before" commit and only an "after" commit.
The getCommit method only includes files that were part of the commit, so it naturally identifies the files that would be part of the diff when compared to the immediately prior commit.


Grid "Collapse/Uncollapse Rows" Doc Issue

In the documentation for Grid Collapse/Uncollapse Rows the example explanation does not match the example html.
The explanation states:

Example shows no gutter at small media size and then adds the gutter to columns at medium.

However, the html shows:
`

Removes gutter at large media query

Removes gutter at large media query

`
the correct html would be:
`

Removes gutter at large media query

Removes gutter at large media query

`

i have problems understanding collapse/uncollapse and i am unable to understand the concept from the docs in grid section can someone explain it more briefly ???

These classes allow you to collapse (remove column padding) based on screen size breakpoint. large-collapse means no column padding at the large breakpoint.

Updated this description!


check_urls=free-programming-books.md free-programming-books-en.md

What does this PR do?
Add Resource
For resources
Free Programming English Courses
Description
Sass Tutorial for Beginners - CSS With Superpowers
Why is this valuable (or not)?
Sass is a valuable tool that enhances CSS code readability, maintainability, modularity, and extensibility.
How do we know it's really free?
This course is free
For book lists, is it a book? For course lists, is it a course? etc.
It is a course
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Thanks, and welcome to free-programming-books!


Fix Disabling in PiC

Choice Scarf:

Assault Vest:

@urkerab ?

I take it those are "after" pictures? Also, I think it's just a visual issue, you just have to remember not to choose a move you're not allowed to use? How are you tracking PP use for ally moves?

Yeah those are after pictures
It may be just a visual issue, but people may still click moves which they aren't supposed to since they appear available. Oh and it also increases the chances of misclicks.
About PP, I don't get what you're trying to say? What should be done?


Weird resizing issue with element_prod

I've noticed unexpected resizing when I'm doing element wise multiplication
When I run the following code
import pyviennacl as pv
import numpy as np
a = pv.Matrix(np.array([ [1,2,3], [4,5,6] ], dtype=np.float32))
a.element_prod(a)

This is the output
array([[  1.,   4.,   9.],
       [ 16.,  25.,  36.],
       [  0.,   0.,   0.]], dtype=float32)

The workaround I'm going to use for now is to subset the result matrix.  However, from previous experience, I know that this subsetting operation is costly
Note: I am running into this issue with the pip installable version.  Has this been fixed in a more recent update?  If not, is there are preferred work around solution?

Ah, yes, that does look like a bug. I'll make sure it is fixed in the git repo.
I have been saying this for a while, but I really do intend to get a new release out soon. I've had to do a lot of travelling over the last few weeks, but once I settle down again, the new release is my top priority (after my day job..).

As for an easy workaround, I will try and think of one at the same time as investigating the status of this in git master in the next couple of days.

Hey, same issue. Any updates on this?

@tsmithe Any chance you can have a look at this? It's probably easy for you to fix. ;-)


Static route data is not enforced

Describe the bug
When using createFileRoute, the option staticData is always optional.
Your Example Website or App
https://stackblitz.com/edit/github-vnv6ze?file=src%2Froutes%2Findex.tsx
Steps to Reproduce the Bug or Issue

Declare interface StaticDataRouteOption in main.tsx

Expected behavior
The property staticData should be required when StaticDataRouteOption has any required properties.
Screenshots or Videos
No response
Platform

OS: Windows
Browser: Edge
Version: 126.0.2592.102

Additional context
No response

This looks to only be on createFileRoute function.
Using the following route creation methods, the staticData type is correctly enforced.

new Route
createRoute
new FileRoute().createRoute

I fixed that by adding an explicit output type for createFileRoute. Would you have a look @SeanCassiere? 🙏


CASMTRIAGE-6271 1.6 : DOCS: CSM upgrade to 1.4 prep step has flawed Nexus size estimation script

Description
Fixes Nexus size estimation script
Verified on

rocket (CSM 1.3.5)

>       awk '{print "Amount of space the Nexus export will take up on cluster: "(($3 * 3)/1048576)" GiB";}' &&
>  ceph df | grep 'TOTAL' | awk '{ print "Currently used: " $6" "$7 ", Max Available " $4" "$5;}'
Amount of space the Nexus export will take up on cluster: 3424.23 GiB
Currently used: 36 TiB, Max Available 48 TiB

loki (CSM CSM 1.4.3)

>        awk '{print "Amount of space the Nexus export will take up on cluster: "(($3 * 3)/1048576)" GiB";}' &&
>   ceph df | grep 'TOTAL' | awk '{ print "Currently used: " $6" "$7 ", Max Available " $4" "$5;}'
Amount of space the Nexus export will take up on cluster: 2023.05 GiB
Currently used: 10 TiB, Max Available 32 TiB

drax (CSM 1.5)

ncn-m001:~ # kubectl exec -n nexus deploy/nexus -c nexus -- df -P /nexus-data | grep '/nexus-data' |
>      awk '{print "Amount of space the Nexus export will take up on cluster: "(($3 * 3)/1048576)" GiB";}' &&
> ceph df | grep 'TOTAL' | awk '{ print "Currently used: " $6" "$7 ", Max Available " $4" "$5;}'
Amount of space the Nexus export will take up on cluster: 1226.55 GiB
Currently used: 9.5 TiB, Max Available 53 TiB

Checklist
Resolves CASMTRIAGE-6271
Backporting to release/1.5, 1.4, 1.3

[ ] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[ ] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport release/1.5

/backport release/1.4

/backport release/1.3


SCP-277 untyped evaluation

Tests that pass:

[x] succInteger
[x] unitval
[x] true
[x] false
[x] churchZero
[x] churchSucc
[x] overapplication
[x] factorial
[x] fibonacci
[x] NatRoundTrip
[x] ListSum
[x] IfIntegers
[x] ApplyAdd1
[x] ApplyAdd2

Currently, this doesn't work with If-then-else as it is not erasing type args to builtins properly. It throws away type args in builtins. Typed if-then-else takes a type arg and three term args. Right now the untyped version takes three term args. It should instead take 4 term args, the first being unit.
This accounts for several test failures I think. However

I think I fixed the other problem so now it's just if-then-else.

All tests pass (locally) but I have broken erasure from intrinsically typed terms/reduction steps etc.

Erasure of intrinsic reduction steps is restored.

The remaining missing pieces are:

[ ] erasure of extrinsically typed renamings, substitutions
[ ] erasure of extrinsically typed reductions steps
[ ] proof that erasure from declarative/algorithmic syntax agree (i.e. the represent the same untyped terms).

This doesn't seem to have got any attention from CI after about 24 hours.


"No video stream for react tag" on IOS simulator

When I try "GetUserMedia API Test" and make a "call" nothing is happening. Debug console says "No video stream for react tag: (Random string)"
I am pretty new at WebRTC so I may be missing something? Or maybe it is a bug? Can provide more data if needed.

Ahh that makes sense... Thanks for the quick answer!

i got this error on real device?
No video stream for react tag