Angular7 compilation fail: npm run hmr

Bug Report or Feature Request (mark with an x)
- [X] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [ ] build
- [X] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Versions

node --version
v10.12.0
npm --version
6.4.1
ng --version
ngular CLI: 7.0.7
Node: 10.12.0
OS: darwin x64
Angular: 7.0.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
macOS (Mojave)
Repro steps

Follow all the steps as mentioned in the readme of this project.
Try to run 'npm run hmr'
you can see  the output as:

<EMAIL_ADDRESS>hmr /Users/varunsukheja/dev/my-memories
ng serve --configuration hmr

NOTICE: Hot Module Replacement (HMR) is enabled for the dev server.
The project will still live reload when HMR is enabled,
but to take advantage of HMR additional application code is required'
(not included in an Angular CLI project by default).'
See https://webpack.js.org/guides/hot-module-replacement
for information on working with HMR for Webpack.
To disable this warning use "hmrWarning: false" under "serve" options in "angular.json".
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
Date: 2018-12-20T20:26:03.215Z
Hash: 8619765c9a6338dfef26
Time: 6067ms
chunk {main} main.js, main.js.map (main) 2.02 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 92.4 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 31 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 17.9 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 321 kB [initial] [rendered]
ERROR in src/main.ts(16,7): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try npm i @types/node.
src/main.ts(17,18): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try npm i @types/node.
The log given by the failure

ERROR in src/main.ts(16,7): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try npm i @types/node.
src/main.ts(17,18): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try npm i @types/node.
Desired functionality

To run hmr on my Angular7 project
Mention any other details that might be useful

even tried npm i @types/node, but did not work

Doesn't look like a CLI issue. In src/tsconfig.app.json add "node" under types.

Can you kindly share your main.ts?

@mgechev Already added, here is my tsconfig.json
{   "compileOnSave": false,   "compilerOptions": {     "baseUrl": "./",     "outDir": "./dist/out-tsc",     "sourceMap": true,     "declaration": false,     "module": "es2015",     "moduleResolution": "node",     "emitDecoratorMetadata": true,     "experimentalDecorators": true,     "target": "es5",     "lib": [       "es2018",       "dom"     ],     "types": ["node"]   } }


enableES5 failed on iOS 9 / react-native

🙋♂ Question
I'm trying to fix es5 issue on iOS 9 (react-native). Which is not easy because I don't have any device or emulator on iOS 9 and apple removed the iOS 9 emulator on macOS...
I've enable es5 on all build and from what I've coded it should run before all reducer initialization, but still getting the error.
The error as repported by crashlytics is :
Fatal Exception: RCTFatalException: Unhandled JS Exception: Error: [Immer] minified error nr: 18 'ES5'. Find the full error at: https://bit.ly/3cXEKWf
Unhandled JS Exception: Error: [Immer] minified error nr: 18 'ES5'. Find the full error at: https://bit.ly/3cXEKWf, stack: t@428:131 A@428:1740 C@428:3405 produce@428:14094 <unknown>@(null):(null) <unknown>@428:13930 <unknown>@411:893 forEach@(null):(null) s@411:856 combineReducers@411:3734 <unknown>@603:273 v@2:1473 d@2:945 o@2:413 <unknown>@446:236 v@2:1473 d@2:945 o@2:413 <unknown>@427:183 v@2:1473 d@2:945 o@2:413 <unknown>@6:80 v@2:1473 d@2:875 o@2:413 global code@1618:3

Here is :
index.js:
import { ActivityIndicator, AppRegistry } from 'react-native'
import { Provider } from 'react-redux'
import React from 'react'
import configureStore from './src/redux/store'
import { PersistGate } from 'redux-persist/es/integration/react'
import App from './src/App'

const { persistor, store } = configureStore()

const AppRedux = () => (
    <Provider store={store}>
        <PersistGate loading={<ActivityIndicator />} persistor={persistor}>
            <App />
        </PersistGate>
    </Provider>
)

AppRegistry.registerComponent('PlantNet', () => AppRedux)

and configureStore:
import { enableES5 } from 'immer'
enableES5() // Prevent issue on iOS 9 before importing reducers (where immer is used)

import { createStore, compose, applyMiddleware } from 'redux'
import { persistStore, persistCombineReducers } from 'redux-persist'
import thunk from 'redux-thunk'
import AsyncStorage from '@react-native-community/async-storage'
import { persistReducer } from '../persistReducer'

const config = {
    key: 'root',
    storage: AsyncStorage,
    blacklist: ['volatile'],
}
const middleware = [thunk]

const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
const reducers = persistCombineReducers(config, persistReducer)
const enhancers = [applyMiddleware(...middleware)]
const persistConfig = { enhancers }
const store = createStore(reducers, undefined, composeEnhancers(...enhancers))
export const persistor = persistStore(store, persistConfig, () => {})

const configureStore = () => {
    return { persistor, store }
}

export default configureStore

Link to repro
iOS 9, PlantNet app
Environment
We only accept questions against the latest Immer version.

Immer version: 7.0.15
[ ] Occurs with setUseProxies(true)
[x] Occurs with setUseProxies(false) (ES5 only)
React-native 0.63.4

This means that either your configuration runs too late still, or one of
your libraries is using it's own copy of Immer that isn't configured to use
ES5 (probably the stack trace should reveal that). Without a minimal repro
we can't provide any help beyond that. Note that your immer version is a
major behind as well.
On Fri, Feb 26, 2021 at 10:32 AM Hugo Gresse<EMAIL_ADDRESS>wrote:

🙋♂ Question
I'm trying to fix es5 issue on iOS 9 (react-native). Which is not easy
because I don't have any device or emulator on iOS 9 and apple removed the
iOS 9 emulator on macOS...
I've enable es5 on all build and from what I've code it should be runned
before all reducer initialization, but still getting the error:
The error as repported by crashlytics is :
Fatal Exception: RCTFatalException: Unhandled JS Exception: Error: [Immer] minified error nr: 18 'ES5'. Find the full error at: https://bit.ly/3cXEKWf
Unhandled JS Exception: Error: [Immer] minified error nr: 18 'ES5'. Find the full error at: https://bit.ly/3cXEKWf, stack: t@428:131 A@428:1740 C@428:3405 produce@428:14094 @(null):(null) @428:13930 @411:893 forEach@(null):(null) s@411:856 combineReducers@411:3734 @603:273 v@2:1473 d@2:945 o@2:413 @446:236 v@2:1473 d@2:945 o@2:413 @427:183 v@2:1473 d@2:945 o@2:413 @6:80 v@2:1473 d@2:875 o@2:413 global code@1618:3
Here is :
index.js:
import { ActivityIndicator, AppRegistry } from 'react-native'
import { Provider } from 'react-redux'
import React from 'react'
import configureStore from './src/redux/store'
import { PersistGate } from 'redux-persist/es/integration/react'
import App from './src/App'
const { persistor, store } = configureStore()
const AppRedux = () => (
<Provider store={store}>

    <PersistGate loading={<ActivityIndicator />} persistor={persistor}>

        <App />

    </PersistGate>

</Provider>

)
AppRegistry.registerComponent('PlantNet', () => AppRedux)
and configureStore:
import { enableES5 } from 'immer'
enableES5() // Prevent issue on iOS 9 before importing reducers (where immer is used)
import { createStore, compose, applyMiddleware } from 'redux'
import { persistStore, persistCombineReducers } from 'redux-persist'
import thunk from 'redux-thunk'
import AsyncStorage from '@react-native-community/async-storage'
import { persistReducer } from '../persistReducer'
const config = {
key: 'root',

storage: AsyncStorage,

blacklist: ['volatile'],

}
const middleware = [thunk]
const composeEnhancers = window.REDUX_DEVTOOLS_EXTENSION_COMPOSE || compose
const reducers = persistCombineReducers(config, persistReducer)
const enhancers = [applyMiddleware(...middleware)]
const persistConfig = { enhancers }
const store = createStore(reducers, undefined, composeEnhancers(...enhancers))
export const persistor = persistStore(store, persistConfig, () => {})
const configureStore = () => {
return { persistor, store }

}
export default configureStore
Link to repro
iOS 9, PlantNet app http://apple.co/2cMtWgu
Environment
We only accept questions against the latest Immer version.

Immer version: 7.0.15
Occurs with setUseProxies(true)
Occurs with setUseProxies(false) (ES5 only)

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/immerjs/immer/issues/759, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBHMHOQQDIUKPAMKRS3TA52CFANCNFSM4YIGFTBQ
.

Thanks for the quick answer. Then I'll try to update to immer 8 :/
I've pasted the files from the app in the original question, I don't see how it should be done higher up.
Running npm ls did not reveal any more immerjs usage

There is a lot of subtility in module loading order in JS, and it is not as predicatable as it looks like. I'd follow your stacktrace and make sure enableES5 is called literally the line before one of the calls in the stacktrace

I've updated to immer 8.01, moved the es5 to the top of the index.js file, still crashing the same way:
import { enableES5 } from 'immer'
enableES5() // Prevent issue on iOS 9 before importing reducers (where immer is used)

import { ActivityIndicator, AppRegistry } from 'react-native'
import { Provider } from 'react-redux'
import React from 'react'
import configureStore from './src/redux/store'
import { PersistGate } from 'redux-persist/es/integration/react'
import App from './src/App'

const { persistor, store } = configureStore()

const AppRedux = () => (
    <Provider store={store}>
        <PersistGate loading={<ActivityIndicator />} persistor={persistor}>
            <App />
        </PersistGate>
    </Provider>
)

AppRegistry.registerComponent('PlantNet', () => AppRedux)

How can I help providing a reproduction for iOS 9?

Grab the stack trace of the crash, find the call to produce in there, and in that module, there is probably some top level initialization code. Make sure to call enableES5() there as well, just before running the initialization code.

The stack trace is too much obfuscated to be helpful :/
Fatal Exception: RCTFatalException: Unhandled JS Exception: Error: [Immer] minified error nr: 18 'ES5'. Find the full error at: https://bit.ly/3cXEKWf
Unhandled JS Exception: Error: [Immer] minified error nr: 18 'ES5'. Find the full error at: https://bit.ly/3cXEKWf,
stack:
t@428:131 A@428:1740 C@428:3405
produce@428:14094
<unknown>@(null):(null)
<unknown>@428:13930
<unknown>@411:893
forEach@(null):(null)
s@411:856
combineReducers@411:3734
 <unknown>@603:273
 v@2:1473
 d@2:945
 o@2:413
 <unknown>@446:236
 v@2:1473
 d@2:945
 o@2:413
 <unknown>@427:183
 v@2:1473
 d@2:945
 o@2:413
  <unknown>@6:80
  v@2:1473
  d@2:875
  o@2:413
  global
  code@1618:3

I'm closing this, I'm getting rid for iOS 9 compatibility as I don't have any solution.
Thanks for trying to help!

Not much experience with RN, but it might help to use named functions?

surely, I'm trying my best but the codebase is very big and is king of a mess for most parts :/
Did not help having 3600 ligne components 😂
Thanks anyway, immer is lightweight, easy to use and great, so much better than Immutable js


Add Test Retry using TestnNG

Since some of the tests are failing due to inconsistency and jobs needs to be triggered manually to rerun, it is good to have the retry mechanisms to retry tests for 3 times before marking them as failed.

This is not required as the flaky tests have been fixed.


Implement new Java push-parser for client/testing

Purposes:

Receive responses and make sense of them (even if they're wrong)
Analyze a command to ensure it's syntactically and semantically compliant
Link a response to its command to make sense of what happened, inc through addressing
Receive Notifications and match them to  a handler
Check a command matches a device's capabilities
Cucumber tests, verifying responses

So, the parser needs to know if it's parsing command-sequences or responses (incl notifications), but the syntax is broadly the same between those inputs.
CommandSequences and ResponseSequences:

Address (mode): sequence begins with '@', eg @123.1..6, conforming to<EMAIL_ADDRESS>A missing number is read as zero.
Debug (mode): sequence begins with '#', all chars until '\n' are ignorable.
Line-numbered (hex): eg _12ab

CommandSequences only:

Locks (hex-string): %a36b0 applies locks associated with the bits set in the hex-string.
ResponseSequences only:
Notification (hex): eg !3T5Pa - a normal sequence, but possibly without S statuses. Sent async, rather than in response to commands.

Roughly:

command-sequence :== ( address-seq | comment-seq | full-seq ) '\n'
address-seq :== '@' ( hex-value '.' )* hex-value ( comment-seq | full-seq )`
comment-seq :== '#' ( any-excl-nl )*
full-seq :== [ '%'  hex* | '_' hex-value ] or-seq
or-seq :== and-seq [ '|' and-seq ]
and-seq :== params [ '&' params ]
params :== ( (symbol hex-value) | quoted-string | ( '+' (hex hex)* ) ) +
quoted-string :==  '"' any-excl-nl '"'
symbol :== [A-Z]
hex-value :== hex{0-4}`
hex :== [0-9a-f]

Client side has a parser and structure surrounding it now, as of [#124].


Improve report footer

Currently, we have the following footer:
Generated using sv-tests, revision: fba2e1b.

It used to be enough, but now with daily builds, the sha of the revision is not an an ideal identification. Now the report can (and will) be deployed multiple time from a single commit.
We need to add more info to the footer, I think adding github actions job id and the date (or date and time) of the build would be nice.
Generated using sv-tests, revision: fba2e1b, build_id: 123456789, date: 2021-07-15 14:15:16.

The build ID should be available in the environment (https://docs.github.com/en/actions/reference/environment-variables). I think GITHUB_ACTION is what we need.
It would be nice to make the build id clickable, the URL could point to: https://github.com/chipsalliance/sv-tests/actions/runs/1030721027 (with the correct id at the end).
we also need to take local builds into account. If GITHUB_ACTION is not available in the environment, we could put static text instead, e.g.:
Generated using sv-tests, revision: fba2e1b, build_id: local, date: 2021-07-15 14:15:16.

In this case the build_id would not be clickable.

CC @Prahitha


ResizeAspect doesn't work on Android

When I play a video using ResizeAspect, it still is stretching/squeezing my video to fit the screen.

Duplicate of #3


Refresh fold symbol earlier

Hi! I was wondering whether fold signs should refresh earlier. Consider the following gif where I add a new line in a markdown file and the fold sign of the ## A header is not updated unless I write the file and press zx. Dunno if this is something the plugin should do automatically or if I need to add an autocommand as
vim.api.nvim_create_autocmd(
    ---- Refresh folds
    { 'BufEnter', 'BufWritePost', 'TextChanged', 'InsertLeave' },
    {
        group = vim.api.nvim_create_augroup('md_folds', { clear = true }),
        pattern = { '*.md' },
        callback = function()
            vim.cmd('normal! zx')
        end,
    }
)

Don't think it's an issue with this plugin, you can see the same problem with :set stc= and the default foldcolumn.
Are you using vim.treesitter.foldexpr()? I don't, so I couldn't reproduce at first. But I see the same problem in markdown files with vim.treesitter.foldexpr(). Perhaps the issue is with vim.treesitter.foldexpr() or the markdown parser? Not sure about the internals of that system so IDK.

I'm indeed using vim.treesiter.foldexpr(). Will look into that then. Thanks (and sorry for the noise)


Fix build

Fixed by #10613 :)

@stephenmichaelf can we close here?

Closing, feel free to reopen


Clicking on Kubernetes before adding Hosts causes a 503 page

Rancher versions: 6/5
Steps to Reproduce:

Create a kubernetes environment
Switch to kubernetes environment
Click on Kubernetes from top menu

Results:  503 error page.

Version - master 2.0 8/1
Verified fixed


Content Validation to check only Specific tag in Data,DataConnectors and CreateUiDefinition folder file

Required items, please complete
Change(s):

We will check only specific tag specified i.e. description and descriptionMarkdown tag text value which are visible to endusers. We will eventually grow this once we are sure on which tags we have to target.

Reason for Change(s):

Due to dependency of Azure Sentinel in many cases we cannot change the text from Azure Sentinel to Microsoft Sentinel in lot of cases so we have kept the scope limited.

Version Updated:

No

Testing Completed:

Yes

Checked that the validations are passing and have addressed any issues that are present:

Yes

Testing Screenshots
1. Failure Result:

2. Success Result:

It is in review


Flatten artifacts on load

This is a draft solution to #62, #45, #20 & #78.
Results are flattened on upload into three tables:

one for run result files (same granularity as artifacts)
one for the flattened results together
one for the flattened manifest elements (with sources, exposures compressed in with other nodes)

This upload is facilitated by a new V2 upload macro, and then the results of both this approach and the old V1 upload method are unioned together to give teams flexibility on which they use.
This should bypass field size limits (because we use insert into), and preloads the compute load of flattening large JSON blobs so allow larger projects to work well.

@NiallRees - Check out what I've tried with the integration suite.

I've added an optional replace argument for the create macro so we can get fresh artifact tables without duplicating the code.
I've made a separate integration suite for the V2 upload. In theory we should have the same result whether we use the V1 or V2 upload. I don't know if we have any data tests in place - but if we did then they should work in either case.

Ok I think this is ready for another review:

I removed the or replace option entirely. I think it's a dangerous feature unless we need it for CI testing.
I've added the prefix option into the new upload macro so we can test all the new artifacts.

I intentionally haven't added the sources file as one of the things we test - because none of the flatten code handles it. I don't know if this is an issue because I can't see any code in the rest of the package which actually handles a sources file. I assume that would be tackled as a totally separate issue?


Update Firefox Developer Edition US sha256

brew cask install firefoxdeveloperedition
==> Downloading https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-aurora/firefox-54.0a2.en-US.mac.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask firefoxdeveloperedition
==> Note: running "brew update" may fix sha256 checksum errors
Error: sha256 mismatch
Expected: 8b7ab33655e388607f71267198f0f03de576dcc43f232231873fd8c2c224c649
Actual: 910bde849efba3e0064997d357661ba6b71820533b095886521b770e30b09bbb
File: /Users/luis.duarte/Library/Caches/Homebrew/Cask/firefoxdeveloperedition--54.0a2.dmg

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

You need to update the sha256 for all the languages for this to be merged.

@miccal , just updated. Please give it a look.
I used:
shasum -a 256 firefox-54.0a2.ru.mac.dmg firefox-54.0a2.uk.mac.dmg firefox-54.0a2.zh-CN.mac.dmg firefox-54.0a2.zh-TW.mac.dmg firefox-54.0a2.ja-JP-mac.mac.dmg

Verified locally.


output console not showing process.stdout.write

I have this on my tasks.json
{
"version": "0.1.0",
"command": "cmd",
"options": {
"env": {
"NODE_ENV": "development"
}
},
"isShellCommand": true,
"args": ["/C"],
"tasks": [
{
"taskName": "Run node current file",
"args": ["node ", "${file}"],
"isBuildCommand": true,
"suppressTaskName": true
}
]
}
when running this script using the node task:
'use strict'
var os = require('os')
var eol = os.EOL
var nl = 'hola \r\n'
console.log(os.uptime() + nl)
console.log(os.type())
console.log('h', eol)
console.log(eol)
process.stdout.write('hello: x')
the output is:
185583.3875537hola
Windows_NT
h
but on the console running node filename.js
185603.0488328hola
Windows_NT
h
hello: x

@ricmed205 which version of node are you using. There is a know problem with node not flushing stdio before the process exits which results in loosing output. There is not much VSCode can do about it since we are reading childProcess.stdout and never get the text.

V4.2.3
On Dec 11, 2015 6:52 AM, "Dirk Bäumer"<EMAIL_ADDRESS>wrote:

@ricmed205 https://github.com/ricmed205 which version of node are you
using. There is a know problem with node not flushing stdio before the
process exits which results in loosing output. There is not much VSCode can
do about it since we are reading childProcess.stdout and never get the text.
—
Reply to this email directly or view it on GitHub
https://github.com/Microsoft/vscode/issues/1179#issuecomment-163914171.

When I run the debug process (F5) it prints everything alright. I could use this to run node scripts although it's kind of annoying the messages of debugging in the console and that I need to stop the debugging process every time the script completes. Is there a way to auto stop the debugging process if a script completes ok?

I have same issue that i explained in https://github.com/Microsoft/vscode/issues/28872 . :(

@saeedtabrizi are you seeing this with debug or tasks. #28872 is about the debug console.

I have same issue when launch my node file

This got addressed by the new terminal runner. To make use of the new terminal runner please see: https://code.visualstudio.com/docs/editor/tasks#_convert-from-010-to-200


Pre-check prompts against the content policy

https://beta.openai.com/docs/guides/moderation/quickstart

The Moderation API doesn't flag things that Dalle does, so the precheck is pointless.


Support case where issue reporter is blank for new issue creation event

An issue is occurring when no Reporter field is present on a newly created issue. According to the customer, the reporter field is hidden in the field setting scheme in JIRA. The issue is happening here:
https://github.com/mattermost/mattermost-plugin-jira/blob/d08f7f746aadebf079871f5611b03e62b16bd172/server/issue_parser.go#L28
We'll also want to make sure we are defensive with other instances of the Reporter field, as possibly look into other potential cases of missing fields in the codebase.
Issue created from a Mattermost message by @hanzei.

@hanzei @mickmister Just for clarification:

On what action the issue is being caused? Is the user trying to create an issue using the MM interface?

@raghavaggarwal2308 Yes, the bug happens when a user creates an issue via the MM UI.


Add animation for create file dialog

Specifically, the box should ease in from the top, and stay in the position it is in for the 1.0 release.

One more thing, it should be a CSS animation. No JS should be involved, if possible.

Also it should ease out to the top when cancel or create file is pressed.

Assigned to @SudoRmRfSlashNoPreserveRoot

Turns out that this is not easy or possible. An equivalent fade in animation has been created which is satisfactory enough.


[2.3.1] Instant timeouts

I'm switching back and forth between 2.3.1 and 3 in order to get gatling to follow my orders.
Back in 2.3.1 I experience instant timeouts. When I take a look at the gatling.conf there's no timeout below 10 seconds. Yet gatling is throwing timeouts at me just 2-3 seconds after start.
Also, when I take a look at the report the mean and max reponse times are way below the 20 seconds I set in the config. How can that be?

The error message is lying. I see traffic hitting my server and it's not overwhelmed in terms of load (CPU/MEM/IO).
gatling.conf - rest of the file is unmodified
requestTimeout = 20000                          # Timeout of the requests

The number of users I inject seems to matter - no errors for one or a handful of users.
    final val httpProtocol = http
        .baseURL("http://xyz")
        .inferHtmlResources(WhiteList("""XXX"""), BlackList(""".*\.google\.de.*""", """.*\.google\.com.*""", """.*maps\.googleapis\.com.*"""))
        .acceptHeader("*/*")
        .acceptEncodingHeader("gzip, deflate")
        .acceptLanguageHeader("de,en-US;q=0.7,en;q=0.3")
        .userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0 - Gatling")
        .disableCaching

    // feeders
    final val userFeeder = csv("users_tokens.csv").circular

    val scenarioLogin = scenario("Login Only")
        .during(1 minute) {
            exec(flushHttpCache)
            .exec(Home.home)
            .feed(userFeeder)
            .exec(Home.doLogin)
    }

    setUp(
        scenarioLogin.inject(
            atOnceUsers(50),
        )
    )
    .protocols(httpProtocol)

Home.home etc. just look like this:
val home = http("Home")
    .get("/")
    .headers(Headers.html)
    .check(regex(""".*;jsessionid=([A-Za-z0-9]+).*""").saveAs("jsessionid"))
    .resources(
        http("request_1")
        .get("/xyz"),
        ...

My client machine has a recent i5, enough memory and a gigabit ethernet connection to the system under test.

Please try again with 3.0.0-RC3 next week. I don't think we'll investigate on Gatling 2.

This code is perfectly working on 2.3.1:
package test

import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._

class TestSimulation extends Simulation {
  val httpConf = http.baseURL("https://httpbin.org")

  val httpMethods = exec(
    http("Request GET")
      .get("/get")
  ).exec(
    http("Request POST")
      .post("/post")
      .body(StringBody("""{"test":1}""")).asJSON
  ).exec(
    http("Request PUT")
      .put("/put")
      .body(StringBody("""{"test":1}""")).asJSON
  ).exec(
    http("Request PATCH")
      .patch("/patch")
      .body(StringBody("""{"test":1}""")).asJSON
  ).exec(
    http("Request DELETE")
      .delete("/delete")
  )

  val scn = scenario("BasicSimulation")
    .exec(
      httpMethods
    )

  setUp(
    scn.inject(atOnceUsers(1))
  ).protocols(httpConf)
}

And on 3.0.0-RC2, with changes in asJson and baseUrl almost fails on requsting not first request - every next request produces a timeout exception. Every child request performs a parent request - so if I run this code - it makes not 5 requests, it made 15 requests, where 10 of them will be failed

Could be correlated.
@slandelle So 2.x has reached its EoL?

@black-snow We might release a 2.3.2 for our of our customers with the fix he needs (waiting for his feedback), but aside for this special case, 2.x is indeed reaching EOL.

Back in 2.3.1 I experience instant timeouts.

Impossible to investigate without a reproducer. Also, as explained above, we won't be spending time investigating on 2.X as it's reaching EOL.
Could you please upgrade to RC3 (to be released tomorrow) and report again if you can still reproduce there (and provide a way for us to reproduce)?

And on 3.0.0-RC2, with changes in asJson and baseUrl almost fails on requsting not first request - every next request produces a timeout exception.

@zeburek I suspect you have an Exception somewhere and you hit #3546. Anyway, your problem is not related to @black-snow 's original issue. Please also upgrade to RC3 and then open a dedicated issue if you can still reproduce and provide a reproducer.


Hangs on OSX

After launching, ipfs-desktop just hangs after loading in the menubar. If I drop down the GUI I see the pulsing circle loader but nothing happens and nothing shows up in the log. I can kill it by clicking the "Pin" tab which loads the "Something wrong happened" error message.
Node: v9.3.0
NPM: v5.6.0
OSX: 10.13.3
$ npm start

><EMAIL_ADDRESS>start /Users/stevenrecio/Projects/ipfs/ipfs-desktop
> electron-forge start

✔ Checking your system
✔ Locating Application
✔ Preparing native dependencies: 3 / 3
✔ Launching Application
2018-03-27 18:23:57.272 Electron[833:19193] *** WARNING: Textured window <AtomNSWindow: 0x7fed2acf16b0> is getting an implicitly transparent titlebar. This will break when linking against newer SDKs. Use NSWindow's -titlebarAppearsTransparent=YES instead.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `electron-forge start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/stevenrecio/.npm/_logs/2018-03-27T22_26_07_215Z-debug.log
$ cat /Users/stevenrecio/Library/Application\ Support/ipfs-desktop/logs/error.log
cat: /Users/stevenrecio/Library/Application Support/ipfs-desktop/logs/error.log: No such file or directory
$ cat /Users/stevenrecio/.npm/_logs/2018-03-27T22_26_07_215Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/9.3.0_1/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/stevenrecio/Projects/ipfs/ipfs-desktop/node_modules/.bin:/Users/stevenrecio/.npm-packages/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /Users/stevenrecio/Projects/ipfs/ipfs-desktop
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'electron-forge start' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec start script
13 verbose stack Error<EMAIL_ADDRESS>start: `electron-forge start`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
13 verbose stack     at EventEmitter.emit (events.js:159:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:159:13)
13 verbose stack     at maybeClose (internal/child_process.js:943:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /Users/stevenrecio/Projects/ipfs/ipfs-desktop
16 verbose Darwin 17.4.0
17 verbose argv "/usr/local/Cellar/node/9.3.0_1/bin/node" "/usr/local/bin/npm" "start"
18 verbose node v9.3.0
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>start: `electron-forge start`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Not sure if its related, but i had a problem today too:

cat Library/Application\ Support/ipfs-desktop/logs/error.log

{"message":"Error: 36:68: execution error: System Events got an error:
Can’t get login item \"IPFS Desktop\". (-1728)\n\n    at ChildProcess.
<anonymous>
(/Applications/IPFS Desktop.app/Contents/Resources/app/node_modules/applescript/lib/applescript.js:49:13)\n
at emitTwo (events.js:125:13)\n
at ChildProcess.emit (events.js:213:7)\n
at Process.ChildProcess._handle.onexit
(internal/child_process.js:200:12)",
"level":"error"}
{"message":"Uncaught Exception: TypeError: Cannot read property 'pin' of null
\n at EventEmitter.

<anonymous> (/Applications/IPFS Desktop.app/Contents/Resources/app/src/controls/main/pinned-files.js:71:11)\n
 at emitTwo (events.js:125:13)\n
at EventEmitter.emit (events.js:213:7)\n
at WebContents.<anonymous>
 (/Applications/IPFS Desktop.app/Contents/Resources/electron.asar/browser/api/web-contents.js:249:13)\n    at emitTwo (events.js:125:13)\n    at WebContents.emit (events.js:213:7)","level":"error"}

P.S. "Something wrong happened" is pretty shoddy English. Just saying...

Have a very similar outcome trying to run the current master (v0.4.2) on ArchLinux with node v9.11.1 and npm 5.8.0
$ cat /home/greg/.npm/_logs/2018-04-13T15_34_35_042Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>7 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
8 verbose lifecycle<EMAIL_ADDRESS>PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/greg/prog/ipfs-desktop/node_modules/.bin:/home/greg/bin:/home/greg/go/bin/:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
9 verbose lifecycle<EMAIL_ADDRESS>CWD: /home/greg/prog/ipfs-desktop
10 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'electron-forge start' ]
11 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>Failed to exec start script
13 verbose stack Error<EMAIL_ADDRESS>start: `electron-forge start`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:283:16)
13 verbose stack     at EventEmitter.emit (events.js:180:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:180:13)
13 verbose stack     at maybeClose (internal/child_process.js:936:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /home/greg/prog/ipfs-desktop
16 verbose Linux 4.15.15-1-ARCH
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v9.11.1
19 verbose npm  v5.8.0
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>start: `electron-forge start`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Could you add desktop to the DEBUG variable and send me the output? I can't reproduce that here.

@hacdias with some experimentation, I think the issue is, that there's a local ipfs service running in the background (a regular go-ipfs node that I have running on my machine) when ipfs-desktop is started, and the two of them clash...
$ DEBUG=electron-forge:*,desktop npm start

><EMAIL_ADDRESS>start /home/greg/prog/ipfs-desktop
> electron-forge start

WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:lifecycle Process Started: Checking your system +0ms
  electron-forge:lifecycle Process Succeeded: Checking your system +674ms
  electron-forge:runtime-config setting key: verbose to value: false +0ms
WARNING: DEBUG environment variable detected.  Progress indicators will be sent over electron-forge:lifecycle
  electron-forge:lifecycle Process Started: Locating Application +0ms
  electron-forge:project-resolver searching for project in: /home/greg/prog/ipfs-desktop +0ms
  electron-forge:project-resolver electron-forge compatible package.json found in /home/greg/prog/ipfs-desktop/package.json +4ms
  electron-forge:lifecycle Process Succeeded: Locating Application +4ms
  electron-forge:lifecycle Process Started: Preparing native dependencies +5ms
  electron-forge:lifecycle Process Succeeded: Preparing native dependencies +522ms
  electron-forge:hook could not find hook: generateAssets +0ms
  electron-forge:lifecycle Process Started: Launching Application +1ms
  electron-forge:lifecycle Process Succeeded: Launching Application +4ms
  desktop Application is ready +0ms
  desktop Starting daemon +6ms
  desktop Uncaught Exception: Error: non-zero exit code 1
  desktop
  desktop             while running: /home/greg/prog/ipfs-desktop/node_modules/go-ipfs-dep/go-ipfs/ipfs daemon --routing=dhtclient
  desktop
  desktop
  desktop             Error: resource temporarily unavailable
  desktop
  desktop     at Stream.listeners.done.once (/home/greg/prog/ipfs-desktop/node_modules/ipfsd-ctl/src/utils/exec.js:42:11)
  desktop     at Stream.f (/home/greg/prog/ipfs-desktop/node_modules/once/once.js:25:25)
  desktop     at emitTwo (events.js:125:13)
  desktop     at Stream.emit (events.js:213:7)
  desktop     at emitTwo (events.js:125:13)
  desktop     at ChildProcess.emit (events.js:213:7)
  desktop     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) +203ms
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>start: `electron-forge start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!
I'm guessing then it's more of an issue of highlighting that clash when found?

@hacdias

IPFS Desktop should automatically connect to an already running daemon. I'll check that out better to see if I can find the issue.

I'm not sure whether it is the case in this situation, but we've noticed that ipfsd-ctl would not shutdown properly on some environment because it would simply run out of time and the ipfs daemon would be killed, leaving the lock and api file behind. This is an issue with the timeout to shutdown the daemon, so I've increased it for non disposable repos in https://github.com/ipfs/js-ipfsd-ctl/pull/228, in hopes that it would prevent issues with user facing applications.
Just leaving it here, in case it happens to be the case with this issue.

@dryajov I actually take that in account:
https://github.com/ipfs-shipyard/ipfs-desktop/blob/8d8c4d128d35f331d7068a63e38330a4c0b9f468/src/index.js#L83-L104
So I'm not sure what might be happening here.
@steverecio @nothingismagick @imrehg @jeffd could you try running the latest version from master with the newest dependency versions?

Nice! It works for me now. Was able to upload files via the GUI! 🤓

Tried getting a clean checkout running on 10.12.6 Sierra (node v.8.11.4 and npm v.5.6.0), with a correct packages install and first run (npm start), Electron shows up but on the install (node) properties menu, the directory fields fails to display and either lets edit it.

Obvsly when trying to install without it, retrieves:
  [message]: 'Path must be a string. Received null' }
I haven't been able to find any good leads as to why it's not executing properly. The debug.log file does not have much more additional information. Any tips on how to go about figuring out what might be causing this?

@nrpalao sorry for that. Could you check the combined.log file? I just pushed a commit and now you'll be able to see the path where the logs are when you get the error message.
I can't reproduce that error on Windows though. With the last version of IPFS Desktop it was already filled?
On the logs path, please also check config.json and show us your config, please.

@nrpalao could you show me the config.json? Let's keep the conversation on #656


Add pod-selector input to limit reporting

The pod-selector input is applied as --selector=<pod-selector> whenever kubectl get pod is used.
Motivation
mybinder.org-deploy has a deployment script that can benefit from this, but currently this action emit info on all pods with trouble (restarts, pending, non-ready) in the namespace. This is too much information and would be a privacy concern for the user pods.
By providing this selector, it can be more feasible to use in such settings.
Fixes #2
Off topic ideas

[ ] A selector for all non-pods resources could be relevant.

There are currently namespace and podselector arguments being passed to kubectl. Do you envisage additional parameters in future and if so, would we be better off having <additional args to pass to kubectl> instead of individual parameters?

This is to be applied only on pods, so not to all kubectl commands, while namespace made sense for all kubectl commands.
I don't see an escalation that merits a general configuration parameter at this point, but I understand why you raise the question. What do you think is sensible?

I dunno.... how about keep this, but if the need for an additional parameter arises in future then provide a generic parameter instead?

:+1: !

Thanks a lot, @consideRatio!


Unit tests

Unit tests would really help speed the development by making sure things don't break.

I'll write unit testing with PyUnit if you give me the requirements of what you want tested.


More customisation options

Nice card!
It would be nice to be able to also show/hide:

Upload Speed
Download Speed
Card Title
Percentage

And also be able to customize these colors to fit the card in any lovelace-theme:

Progress bar background
Progress bar fill
Progress bar text

Cheers!

Would also be nice to have the card expand to show everything on the transmission window instead of just the first few?

Instead of listing everything, perhaps the option to show a given number of torrents.  So if you are maybe seeding 20 different Linux distros and only want to see the last five active.

@spr0k3t  newly released version 0.18.0 adds support for limiting number of torrents displayed.


Exam 5 - Question 36

Which of the following services can be used to monitor the HTTP and HTTPS requests that are forwarded to Amazon CloudFront?
A. AWS WAF.
B. Amazon CloudWatch.
C. AWS Cloud9.
D. AWS CloudTrail.
The given answer is:
B. Amazon CloudWatch
The correct answer is:
A. AWS WAF (AWS Web Application Firewall)
AWS WAF can be used to monitor the HTTP and HTTPS requests that are forwarded to Amazon CloudFront. It allows you to create rules to filter web traffic and also provides logging capabilities to monitor and track requests.

@syedHasnain0099 AWS WAF is used for controlling traffic and protecting against web exploits
So correct answer is B. Amazon CloudWatch
Reference: https://docs.amazonaws.cn/en_us/AmazonCloudFront/latest/DeveloperGuide/reports-and-monitoring.html


Implement list tasks API method using Akka.HTTP

Summary:
It implements first part of TasksController - method that lists the tasks. (for now, it handles output only in json, text/plain output will be in one of the following PRs)
I had to add few tests because some part of code were not covered in previous implementation.
JIRA issues: MARATHON-7308

@jeschkies @meln1k and others - this PR is ready for your re-review. Thanks :)


Graal: remove reflective header parsers

Based on @noelwelsh's fine work, this commit shows a problem with modeled headers:
$ curl http://localhost:8080/raw
Some(Accept: */*)
$ curl http://localhost:8080/model
None

It works on the JVM:
$ curl http://localhost:8080/raw
Some(Accept: */*)
$ curl http://localhost:8080/model
Some(Accept: */*)

This is almost certainly a result of bootstrapping the header parsers with runtime reflection.  It's been a hidden implementation detail for years, but fails in the world beyond the JVM.

I'm seeing this same problem on jvm. I had to switch to using .ci as well.

Sorry, can you be more specific?  Is this using the example service linked above?

And this should have been closed by #3190, but I'll leave it open while we resolve this question.

I spoke too soon. I have a completely different issue that looked similar to this one: An Authorization header with a single token, that is, not containing the "type" specifier. The compliant parser of http4s doesn't let that one slide. Please excuse the noise!

This is a common pitfall.  Maybe we should consider a version that returns either the raw header or the modeled header so things don't just "disappear" like this.


Does not seem to work with Vue 3 + Vite (rollup) in production

I'm using your vue 3 version and it works great on my dev, but when I build for prod, with Vite, which uses rollup, I then get bombarded with many dozen of these:

ReferenceError: require is not defined
    at Proxy.beforeCreate (index.f32d143e.js:92:2693)
    at hs (index.f32d143e.js:1:13359)
    at Ir (index.f32d143e.js:1:13430)
    at Jv (index.f32d143e.js:1:26666)
    at TR (index.f32d143e.js:1:24979)
    at Yb (index.f32d143e.js:1:52131)
    at n$ (index.f32d143e.js:1:51714)
    at t$ (index.f32d143e.js:1:51353)
    at ye (index.f32d143e.js:1:37769)
    at ve (index.f32d143e.js:1:37648)

I've isolated the error to vue-ray, so now I only use it on dev.
If you have any idea on how to resolve this, I did enjoy using it on prod occasionally.
Many thanks!

Vite does not work in development either, there are TS and connection errors.

I'm using Vite and Vue3 and I can't get vue-ray or node-ray to work on a development environment.
vue-ray console error

node-ray console error

Closed due to inactivity. Please open a new issue if you're still experiencing an issue. Thanks!


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Codecov Report

Merging #369 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #369   +/-   ##
=======================================
  Coverage   85.04%   85.04%
=======================================
  Files           1        1
  Lines         214      214
=======================================
  Hits          182      182
  Misses         32       32

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 6ec84b3...df5734c. Read the comment docs.

Coverage remained the same at 85.654% when pulling df5734cbd9d3c409121392ab281797532b0cc245 on template-sync-1 into 6ec84b327e2bf84f82dacac316ddce518bd93137 on master.

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG] crumbles HiddenService lines when using restore-torrc

Describe the bug

after running onionjuggler-cli restore-torrc it does restore the latest torrc but put all the HiddenService lines together, it does not break anything but I want order, blocks separated by empty lines

it was working fine on previous versions but I was using GNU sed

now it is simple, only move the latest torrc.bak tor torrc


Minor chnages for Swan account.

we don't want a red dot here if there is no new transaction.

@antuz123
As discussed with Summi we are not showing Register tag on Swan, so we are using red dot as indicator for that.
Need clarity on this

Verified this issue on dev app v1.9.5(338)


Export all enums

Fix https://github.com/openlayers/openlayers/issues/11482
It's always good to export enums to avoid typo errors. I've exported all of them tell me if it does not make sense for some.
This PR also add an enum for the vertexFeature_ properties in modify control.

@oterral Thanks for your effort. Our goal is to get rid of enums, and replace them with union types. Help with that would be welcome of course.


Bug with Per_Page attribute using Hooks.getAll

Hi,
it is not possible to obtain more than 10 elements?? (api version 1.8.0 -> npmjs)
Here is my code:
let arrayHooks = await apiMangopay.Hooks.getAll({
        Page: 1,
        Per_Page: 25,
        Sort: "CreationDate:DESC"
});

Thanks for your solution
Regards

Need update on this, I can acces more than 10 Per_Page

There's a problem actually, I'm facing the same. Nevertheless, I found a workaround that works :
let options = {
    parameters: {
         page: 1,
         per_page: 25
    }
};
let arrayHooks = await apiMangopay.Hooks.getAll(options);

Hope it helps !

Documentations should be updated here with pagination parameters
https://github.com/Mangopay/mangopay2-nodejs-sdk


Alternative characteristic read/write callbacks

As mentioned in #83, I added extended read/write callbacks which pass the connection description information. Now I am able to retrieve the peer address at the write event.

Looks good to me! Thanks.


⚠ Exoticaz has degraded performance

In 49be5f9, Exoticaz ($EZ) experienced degraded performance:

HTTP code: 200
Response time: 1742 ms

Resolved: Exoticaz performance has improved in a0ac85e.


fix: issue where ape test --showinternal would cause crash [APE-782]

What I did
regression from #1360  causing --showinternal to crash pytest terminal output
How I did it
correct type
How to verify it
can use --showinternal now
added a test
Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

the 1 test that failed randomly was so flukey, am super unsure how that scenario could have possibly happened. In order to "fix", I renamed a global variable. Really have no idea though.


Renaming functions and light reorganization

[x] the file benchmark_mediation is renamed mediation
[x] created treatment_effect.py file
[x] plain_IPW moved to treatment_effect.py
[x] AIPW : same
[x] huber_IPW -> mediation_IPW
[x] ols_mediation -> mediation_coefficient_product
[x] g_computation -> mediation_g_formula
[ ] alternative_estimator : not used, looks like the mediate function in the mediation package in R : DID NOT KNOW WHAT TO DO WITH IT
[x] multiply_robust_efficient -> mediation_multiply_robust
[x] g_estimator -> r_g_estimation
[x] bart : moved to treatment_effect.py
[x] medDML : r_medDML
[x] med_dml : mediation_DML
[x] created a utils/utils.py file
[x] _convert_array_to_R and get_interactions : moved to a utils module

files test_get_estimation.py and test_get_simulated_data.py moved to src/med_bench directly to avoid import errors
Then :

[x] changed the name in the src/med_bench/get_estimation.py file accordingly
[x] modifications tested with pytest

about where the tests should be, I am not sure, they should be in a dedicated folder?

Yes, they have to be in a tests folder.

latest commit contains the following modifications:
1) uniformize all the notations so that every estimator starts with mediation and all R estimators have exactly the same name except that it starts with r
a) mediation.py file

[ ]  mediation_g_formula -> mediation_g_computation
[ ]  multiply_robust_efficient -> mediation_multiply_robust
[ ]  r_g_estimation -> r_mediation_g_computation
[ ] r_medDML : r_mediation_DML
[ ] med_dml : mediation_DML

b) changed as well the names in get_estimation.py file and test_get_estimation.py file so that every names also follow the same convention as above.
2) put back the tests files test_get_estimation.py and test_get_simulated_data.py to the src/tests/ folders
Then :

[ ]  strictly all modifications tested with pytest

latest commit contains the following modifications:
1) uniformize all the notations so that every estimator starts with mediation and all R estimators have exactly the same name except that it starts with r
a) mediation.py file

[x]   mediation_g_formula -> mediation_g_computation
[x]   multiply_robust_efficient -> mediation_multiply_robust
[x]   r_g_estimation -> r_mediation_g_computation
[x]  r_medDML : r_mediation_DML
[x]  med_dml : mediation_DML

b) changed as well the names in get_estimation.py file and test_get_estimation.py file so that every names also follow the same convention as above.
2) put back the tests files test_get_estimation.py and test_get_simulated_data.py to the src/tests/ folders
Then :

[x]   strictly all modifications tested with pytest

what do you mean by " strictly all modifications tested with pytest"?

what do you mean by " strictly all modifications tested with pytest"?
-> modifications of the name of the functions, so that test_get_estimation still works.
I corrected coefficient_product and as for the treatment_effect.py file, it was not tested before neither, so either we put it back in the original mediation.py file and do a test for those functions later, or let it as it is in the new treatment_effect.py and still do a new test later as well.

I corrected coefficient_product and as for the treatment_effect.py file, it was not tested before neither, so either we put it back in the original mediation.py file and do a test for those functions later, or let it as it is in the new treatment_effect.py and still do a new test later as well.

for the treatment_effect.py, I agree the functions were not tested before, but as I spotted two potential issues by just diagonally read, and the separation into another file creates new issues that would not exist before, my suggestion would be to remove the functions from mediation.py, and just make a separate PR for the addition of treatment_effect.py, with more careful writing, and adding some quick tests - at least checking that the import and a basic run work. I can do it if you want, just put the treatment_effect.py in a separate PR and I take it from there? (my mess to clean somehow). wdyt?

I removed the treatment_effect.py file and opened issue #61 , let me know when we can close this PR and we will open a new PR for that issue #61

Sorry, why do you remove the treatment_effect module ?

We remove it so that we can create a separate PR with tests for the functions in that module; and because there are other minor issues related to this module

I think we need to proceed fast. Can you start the next PR to proceed more quickly with all these changes ?


ActiveMQArtemisAddress does not persist after a restart on AMQ operator pods and the broker pods

In v1.0.7, when "persistenceEnabled: false" and create a broker pod and a address, it works (verified at the webconsole). However, when the operator pod and broker pod restarted, the address is gone (oc get activemqartemisaddress shows the address existed, but the webconsole does not).

Resolved in 1.0.8


Store meetings locally

What?
Added the ability to store all meetings into a meeting list which does not get lost when the app is closed
Why?
Right now there isn't a way to store meetings.
How?
Follows closely with the current implementation of how persons are stored in the app
Additional
Passed all test cases 250/250

Codecov Report
Base: 58.71% // Head: 57.14% // Decreases project coverage by -1.57% :warning:

Coverage data is based on head (93840e7) compared to base (4053a66).
Patch coverage: 36.95% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #39      +/-   ##
============================================
- Coverage     58.71%   57.14%   -1.58%
- Complexity      406      434      +28
============================================
  Files            92       96       +4
  Lines          1606     1743     +137
  Branches        163      176      +13
============================================
+ Hits            943      996      +53
- Misses          626      698      +72
- Partials         37       49      +12

Impacted Files
Coverage Δ

src/main/java/seedu/address/MainApp.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/model/AddressBook.java
91.66% <ø> (+24.01%)
:arrow_up:

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

...va/seedu/address/model/util/DateTimeConverter.java
0.00% <0.00%> (ø)

...va/seedu/address/model/util/DateTimeProcessor.java
51.51% <ø> (-15.16%)
:arrow_down:

...java/seedu/address/storage/JsonAdaptedMeeting.java
0.00% <0.00%> (ø)

...main/java/seedu/address/model/meeting/Meeting.java
26.53% <20.00%> (+0.44%)
:arrow_up:

...u/address/storage/JsonSerializableMeetingList.java
26.66% <26.66%> (ø)

...rc/main/java/seedu/address/logic/LogicManager.java
62.96% <28.57%> (-12.04%)
:arrow_down:

.../seedu/address/storage/JsonMeetingListStorage.java
41.66% <41.66%> (ø)

... and 9 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Translations lost after merge

Hi guys,
I have Product which has some translations. The issue is that after merging I lost translations for some reason, I explain:

Cart is in session

var_dump($cart->getCartItems()->first()->getProductVariant()->getProduct()->getTitle()); // Translation returned.

$orderCheckout = new OrderCheckout();
$orderCheckout->setCart($cart);

$orderCheckout = $em->merge($orderCheckout);
$em->flush();

var_dump($orderCheckout->getCart()->getCartItems()->first()->getProductVariant()->getProduct()->getTitle()); // NULL, translation not returned.

Thank you very much in advance.
EDIT: It's not related to my OrderCheckout entity because if I am simply merging the cart from the session in database (everything is ok on this side), I have the same result:
$cart = $request->getSession()->get('cart');

var_dump($cart->getCartItems()->first()->getProductVariant()->getProduct()->getTitle()); // Translation returned.

$em = $this->getDoctrine()->getManager();
$cart = $em->merge($cart);
$em->flush();

var_dump($cart->getCartItems()->first()->getProductVariant()->getProduct()->getTitle()); // NULL, translation not returned.

Could you try with persist? merge is a deprecated method and should not be used.

Deprecated as stated


Training with Resnet50

Thank you for your great work and the code release, I've learned a lot from your work.
I just wonder if you tried BiAM with different backbone networks such as Resnet or VIT?
I try to train BiAM with features extracted from Resnet50, but it is very easy to get 'nan' loss value after several training epochs. Do you have any suggestions to fix this?

@SonDaoDuy Please check the data augmentations you are using while extracting the features. You can also check if the features are normalized or not. Lastly, please try to change the hyper-parameters of BiAM while using different backbone features.


SetResponseOnHttpContext can throw - Improper use of content.Length

Expected Behavior
Proxying should work with a custom IHttpRequester
Actual Behavior
Proxying fails if the custom IHttpRequester returns a response whose content isn't wrapping a MemoryStream. Things work by default because HttpClient.SendAsync's default is to buffer the entire response into an internal MemoryStream, which supports Stream.Length.
However, if a custom IHttpRequester uses HttpClient.SendAsync(..., HttpCompletionOption.ResponseHeadersRead), the resulting content will wrap a non-seekable stream. This will throw if trying to read Stream.Length.
Culprit is HttpContextResponder.SetResponseOnHttpContext:
AddHeaderIfDoesntExist(context, new Header("Content-Length", new []{ content.Length.ToString() }) );

Steps to Reproduce the Problem

Implement a custom IHttpRequester that calls HttpClient.SendAsync(..., HttpCompletionOption.ResponseHeadersRead)
Make a request to a target that returns a response body

Specifications

Version: 10.0.2
Platform: Windows 10, .NET Framework 4.6.2

@davidni what do you think the best fix is here? I guess I need a failing test first! But was thinking...
 if(response.Content.Headers.ContentLength != null)
            {
                AddHeaderIfDoesntExist(context, new Header("Content-Length", new []{ response.Content.Headers.ContentLength.ToString() }) );
            }


🐛 [firebase_messaging] Customizing onBackgroundMessage default notification

What feature would you like to see?
I'm creating an app which have different courses users can choose from and chosen course is stored in shared preference.
When app is in foreground I'm using this code to check if data has this course or not then push notification.
  FirebaseMessaging.onMessage.listen((message) async {
    debugPrint("Handling a foreground message: ${message.data}");
    SharedPreferences prefs = await SharedPreferences.getInstance();
    String? userCourseValue = prefs.getString('userCourse');
    if (userCourseValue!=null) {
      if(message.data['userCourse']==userCourseValue){
        AwesomeNotifications().createNotification(
          content: NotificationContent(
            id: 1,
            channelKey: message.notification!.android!.channelId ?? 'basic',
            title: message.notification!.title,
            body: message.notification!.body,
            bigPicture: message.notification!.android!.imageUrl,
            notificationLayout: NotificationLayout.BigPicture
          )
        );
      }
    }
  });

I want to do the same in background but it is showing the default as well as the one I have created (if conditions meet).

Hi @abhinavsinghring

I want to do the same in background but it is showing the default as well as the one I have created (if conditions meet).

Could you be more specific? Do you mean the notification in background case is not changed after you updated the prefs data?
Please share a minimal and complete sample code along with a recorded video/screenshot will help to make this more clear. Thank you!

@huycozy I think you don't understand. Let me explain it more simpler way.
So I have this app for students of different courses and students can select their course from listed courses. So when user selects any course it get updated to both users database in firestore as well as in shared preference.
Now I'm trying to setup notifications in my app to notify users about updates of their respective courses.
The behaviour I want that the notifications I send from FCM don't pushed to every user but only to those users with specific course which I'm specifying in data section of FCM with key as "userCourse" and value as whatever course I want to send notification to.
For example, let's say I have two courses named "Class 10" and "Class 11" and User's of "Group A" have selected Class 10 and "Group B" have selected Class 11. Now I'm sending a notification from Firebase with with key as "userCourse" and value as "Class 10" and want that only Group A user's receive that notification. So to check that "userCourse" from FCM and "userSelectedCourse" from shared preference matches or not then popup a notification.
Now like I told before that this behaviour is working as expected when app is in foreground. When broadcast message is received, it first checks the condition and then if user course match it shows notification and if doesn't match it won't show.
Here is the code for the foreground one with condition:
FirebaseMessaging.onMessage.listen((message) async {
    debugPrint("Handling a foreground message: ${message.data}");
    SharedPreferences prefs = await SharedPreferences.getInstance();
    String? userCourseValue = prefs.getString('userCourse');
    if (userCourseValue!=null) {
      if(message.data['userCourse']==userCourseValue){
        AwesomeNotifications().createNotification(
          content: NotificationContent(
            id: 1,
            channelKey: message.notification!.android!.channelId ?? 'basic',
            title: message.notification!.title,
            body: message.notification!.body,
            bigPicture: message.notification!.android!.imageUrl,
            notificationLayout: NotificationLayout.BigPicture
          )
        );
      }
    }
  });

But when I'm setting this thing for the background or terminated state it doesn't working as expected and shows notification anyway. During background there are three conditions:

When I don't have any code to setup push notification like the one for foreground it still shows notification by default. (And I don't want this default behaviour and this will solve my problem)

FirebaseMessaging.onBackgroundMessage(_firebasePushHandler);

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message)async{

}

When I setup this code with condition for background it is showing the default one everytime and if condition is true it is showing two notification

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message)async{
  debugPrint("Handling a background message: ${message.data}");
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String? userCourseValue = prefs.getString('userCourse');
  print(message.data['userCourse']);
  print(userCourseValue);
  if(userCourseValue==message.data['userCourse']){
    AwesomeNotifications().createNotification(
          content: NotificationContent(
            id: 1,
            channelKey: message.notification!.android!.channelId ?? 'basic',
            title: message.notification!.title,
            body: message.notification!.body,
            bigPicture: message.notification!.android!.imageUrl,
            notificationLayout: NotificationLayout.BigPicture
          )
        );
  }
}

This is data I'm sending from FCM

This is the screenshot when condition is true

and this when condition is not true

When I use this code which is provided by awesome_notification plugin to create notification by messages.data, I get only one notifcation but everytime, no matter if condition is met or not. Here is the code:

@pragma('vm:entry-point')
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message)async{
  debugPrint("Handling a background message: ${message.data}");
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String? userCourseValue = prefs.getString('userCourse');
  debugPrint(message.data['userCourse']);
  debugPrint(userCourseValue);
  if (userCourseValue!=null) {
    if(message.data['userCourse']==userCourseValue){
      AwesomeNotifications().createNotificationFromJsonData(message.data);
    }
  }
}

I've used awesome_notification for demo purpose to show in more simpler way but I'll be not using this for my app as it is increasing app size by almost 1.5 to 2mb when I build apk splits with this in my pubspec.yaml. So If you can provide solution to this background behaviour guide me with flutter_local_notification plugin.
I'm sharing whole main.dart code here:

main.dart

// ignore_for_file: unused_field

import 'dart:async';
import 'package:awesome_notifications/awesome_notifications.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:paperbook/Constants/color_constant.dart';
import 'package:paperbook/Services/Authentication/auth_repository.dart';
import 'package:paperbook/Theme/theme_share_prefs.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'Services/Authentication/auth_page.dart';
import 'Theme/theme_file.dart';

@pragma('vm:entry-point')
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message)async{
  debugPrint("Handling a background message: ${message.data}");
  SharedPreferences prefs = await SharedPreferences.getInstance();
  String? userCourseValue = prefs.getString('userCourse');
  debugPrint(message.data['userCourse']);
  debugPrint(userCourseValue);
  if (userCourseValue!=null) {
    if(message.data['userCourse']==userCourseValue){
      AwesomeNotifications().createNotification(
        content: NotificationContent(
          id: 2,
          channelKey: message.notification!.android!.channelId ?? 'basic',
          title: message.notification!.title,
          body: message.notification!.body,
          bigPicture: message.notification!.android!.imageUrl,
          notificationLayout: NotificationLayout.BigPicture
        )
      );
    }
  }
}

Future<void> main() async {

  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp().then((value) => Get.put(AuthenticationRepository()));

  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);

  FirebaseMessaging.onMessage.listen((message) async {
    debugPrint("Handling a foreground message: ${message.data}");
    SharedPreferences prefs = await SharedPreferences.getInstance();
    String? userCourseValue = prefs.getString('userCourse');
    if (userCourseValue!=null) {
      if(message.data['userCourse']==userCourseValue){
        AwesomeNotifications().createNotification(
          content: NotificationContent(
            id: 1,
            channelKey: message.notification!.android!.channelId ?? 'basic',
            title: message.notification!.title,
            body: message.notification!.body,
            bigPicture: message.notification!.android!.imageUrl,
            notificationLayout: NotificationLayout.BigPicture
          )
        );
      }
    }
  });

  AwesomeNotifications().initialize(
    null,
    [
      NotificationChannel(
        channelKey: 'updates',
        channelName: 'Course Updates',
        channelDescription: 'Receive Course updates notifications',
        defaultColor: primary,
        channelShowBadge: true,
        importance: NotificationImportance.Max,
        playSound: true,
        enableVibration: true
      ),
      NotificationChannel(
        channelKey: 'basic',
        channelName: 'Basic',
        channelDescription: 'Basic notifications',
        defaultColor: primary,
        channelShowBadge: true,
        importance: NotificationImportance.High,
        playSound: true,
        enableVibration: true
      )
    ]
  );

  AwesomeNotifications().isNotificationAllowed().then((isAllowed) {
    if (!isAllowed) {
      AwesomeNotifications().requestPermissionToSendNotifications();
    }
  });

  // Initialize ThemeNotifier and load the theme preference
  ThemeNotifier themeNotifier = ThemeNotifier();
  await themeNotifier.loadThemePreference();

  SystemChrome.setPreferredOrientations(
    [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]
  );

  runApp(
    ChangeNotifierProvider(
      create: (_)=> themeNotifier,
      child: const MyApp()
    )
  );

    // Register a callback to handle incoming intents
  // ReceiveSharingIntent.receiveStream().listen((intent) {
  //   if (intent.hasData) {
  //     final sharedText = intent.text;
  //     if (sharedText != null && sharedText.endsWith('.pdf')) {
  //       // Handle the PDF file here, e.g., open it in your PDF viewer activity.
  //     }
  //   }
  // });
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context){
      return GetMaterialApp(
        debugShowCheckedModeBanner: false,
        title: "Paperbook",
        darkTheme: AppTheme.darkTheme,
        theme: AppTheme.lightTheme,
        themeMode: Provider.of<ThemeNotifier>(context).currentThemeMode,
        home: const MainAuthPage(),
      );
  }
}

i can just solve one thing, if the app in background mode and if you got mutliple notifications then you need to collect the data from RemoteMessage, and then show the notification. also restrict to send the notifcation object from backend

@Avijaygovinda

i can just solve one thing,

I have only one problem to solve, i.e. Disable default notification which shows after receiving broadcast message in background and terminated state.

i can just solve one thing, if the app in background mode and if you got mutliple notifications then you need to collect the data from RemoteMessage, and then show the notification. also restrict to send the notifcation object from backend

Please share here so I can check if that solves my problem or not.

check this and see if it helps to resolve the issue in your case.

sending data notification works but requires device tokens to send to. you can't send to everyone at once. Correct me if I'm wrong.

@abhinavsinghring

When I use this code which is provided by awesome_notification plugin to create notification by messages.data, I get only one notifcation but everytime, no matter if condition is met or not.

Is there a mechanism to check duplicate data inside awesome_notification plugin? You can read it source to check this but I think we shouldn't go too far from the main issue.
Can you set a debug point at the check condition message.data['userCourse']==userCourseValue to see how many notifications are fired if it's true?
Please also check the output console to see if there are these logs (related issue https://github.com/firebase/flutterfire/issues/9964):
FlutterJNI.loadLibrary called more than once
FlutterJNI.prefetchDefaultFontManager called more than once

@huycozy

Can you set a debug point at the check condition message.data['userCourse']==userCourseValue to see how many notifications are fired if it's true?

If message.data['userCourse']==userCourseValue is true, two notifications are fired.

Please also check the output console to see if there are these logs (related issue https://github.com/firebase/flutterfire/issues/9964):

FlutterJNI.loadLibrary called more than once
FlutterJNI.prefetchDefaultFontManager called more than once

I'm getting this in my console. I've been to #9964 before but didn't find anything.
When I remove FirebaseMessaging.onBackgroundMessage(_firebasePushHandler); from main.dart it won't show in logs and

this also removed but with FirebaseMessaging.onBackgroundMessage(_firebasePushHandler); it is showing.

I think notifications send via firebase console sends notification message and in background it is handled automatically

I think it is intentional behavior, please check https://github.com/firebase/flutterfire/issues/10137#issuecomment-1359065385. And looks like FlutterJNI.loadLibrary called more than once (https://github.com/firebase/flutterfire/issues/9964) is the issue under the hood. So I would suggest you follow that issue and leave there your comment about this case.


Loading the pre-trained weights

Hi, I have got the network instance by running:
api = create('/path/to/NATS-sss-v1_0-50262-simple', 'sss', fast_mode=True, verbose=True)
config = api.get_net_config(12, 'cifar10')
network = get_cell_based_tiny_net(config)
everything works until here, but when I want to load the pretrained weights on the network like below:
params = api.get_net_param(12, 'cifar10', None)
network.load_state_dict(next(iter(params.values())))
I get the error below:

AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_23823/187443033.py in
----> 1 network.load_state_dict(next(iter(params.values())))
/anaconda/envs/py38_pytorch/lib/python3.8/site-packages/torch/nn/modules/module.py in load_state_dict(self, state_dict, strict)
1377         # copy state_dict so _load_from_state_dict can modify it
1378         metadata = getattr(state_dict, '_metadata', None)
-> 1379         state_dict = state_dict.copy()
1380         if metadata is not None:
1381             # mypy isn't aware that "_metadata" exists in state_dict
AttributeError: 'NoneType' object has no attribute 'copy'
Can you please help me how can I have a pretrained network?

It was because you are loading the benchmark folder NATS-sss-v1_0-50262-simple instead of NATS-sss-v1_0-50262-full. The NATS-sss-v1_0-50262-simple does not contain the pre-trained weights as they are too large. If you want to load the pre-trained weights, please download NATS-sss-v1_0-50262-full and feed into the create function~


Improve text color

Texts color blends with background color, which doesn't look good.
I want to Fixed this issue properly.
@ANSHIKA-26  please assign me this task.
https://github.com/user-attachments/assets/a09c03ce-9cf0-4a57-96fa-4f27550db458

i wish to remove this faq from the footer , would you like to do that ?

@ANSHIKA-26 @hiteashgupta1

from the footer of the website , just this one , not the one on homepage

do NOT remove this
remove the

from all footers

from the footer of the website , just this one , not the one on homepage ![image](https://private-user-
do NOT remove this remove the ![image](https://private-user-images.githubusercontent.com/114569262/377096051-
from all footers

I didn't understand, are you saying that I just remove "FAQ" section from all footers?

@ANSHIKA-26


unable to join hosted server

idk if this is a problem on my end or with me or the server but i cant join cause i go to direct connection, ive tried many variations of localhost but it just says this

also it doesnt help that i dont know if im on the right version or not

Uhm... not 100% sure. But I can think of two possible problems:

Are you using a 1.19.3 minecraft client?
Are you connecting to the server via the ip <IP_ADDRESS>:25565? (I had put the wrong address in the docs, my bad)


Refactor scope selection menu

-Add flexibility to menu creation and feature customization
-Colorize menu error messages on supported platforms
-Add 'email' as a required scope for increased transparency to the user
-Improve readability of menu creation and operation

In this code:
  def select(self, restriction=None):
    """Selects/enables the ScopeMenuOption with an optional restriction."""
    if restriction is not None:
      self.restrict_to(restriction)
    self.is_selected = True

  def unselect(self):
    """Unselects/disables the ScopeMenuOption."""
    self.is_selected = False

  @property
  def is_selected(self):
    return self._is_selected

  @is_selected.setter
  def is_selected(self, is_selected):
    if self.is_required and not is_selected:
      raise ValueError('Required scope cannot be unselected')
    if not is_selected:
      # Disable all applied restrictions
      self.unrestrict()
    self._is_selected = is_selected

what is the relationship between self.is_selected and self._is_selected?
pylint complains:
W:12755, 4: Attribute '_is_selected' defined outside __init__ (attribute-defined-outside-init)

The linter is right. I should have initialized those private members in
init as a best practice. I'll send a followup to do that.
As far as the difference between _is_selected and is_selected:
_is_selected is the private member and its job is strictly to hold the
final boolean value of whether the item is currently selected or not; while
is_selected is the public property that exposes the value. Making it a
property allows us to add some logic and enforcement to how the raw value
gets set, whereas just assigning a value to the member does not. We could
use actual methods like setIsSelected() and getIsSelected(), but the
property functionality is more multipurpose in this application.
I didn't read it too closely, but it looks like this page has a decent
explanation: https://www.python-course.eu/python3_properties.php
On Fri, Apr 12, 2019 at 8:40 PM Ross Scroggs<EMAIL_ADDRESS>wrote:

In this code:
def select(self, restriction=None):
"""Selects/enables the ScopeMenuOption with an optional restriction."""
if restriction is not None:
self.restrict_to(restriction)
self.is_selected = True
def unselect(self):
"""Unselects/disables the ScopeMenuOption."""
self.is_selected = False
@property
def is_selected(self):
return self._is_selected
@is_selected.setter
def is_selected(self, is_selected):
if self.is_required and not is_selected:
raise ValueError('Required scope cannot be unselected')
if not is_selected:
# Disable all applied restrictions
self.unrestrict()
self._is_selected = is_selected
what is the relationship between self.is_selected and self._is_selected?
pylint complains:
W:12755, 4: Attribute '_is_selected' defined outside init (attribute-defined-outside-init)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/pull/882#issuecomment-482772792, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AgkCtUUeJXUbtKbQsDdMM1pTdYY3xrSzks5vgVGYgaJpZM4cq8w-
.

I deleted my comment after reading up on @property and @x.setter. The examples I saw looked like yours, they used the setter self.is_selected = True in __init__. Does pylint want you to say self._is_selected = True in __init--?

I think it's just complaining that I didn't declare _is_selected on the
class during init, but rather it was declared and initialized in the
is_selected setter which was called from init. It's a readability
thing, more than anything. It's a lot easier for readers to parse through
your init to understand all the private members that will be available
within the class, rather than having to read through and understand the
entire internal class code to get that same context
On Mon, Apr 15, 2019 at 8:15 AM Ross Scroggs<EMAIL_ADDRESS>wrote:

I deleted my comment after reading up on @property and @x.setter. The
examples I saw looked like yours, they used the setter self.is_selected =
True in init. Does pylint want you to say self._is_selected = True in
__init--?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/pull/882#issuecomment-483294825, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AgkCtUb0nyU1IuHuFuMfs8bfG1tGB5UAks5vhJevgaJpZM4cq8w-
.


GPP/GEP: version_min → min_version

Problem
Right now the latest versions of GPP, GPPSecondary, and GEP conflict with all versions of Scatterer. That's very wrong.
Cause
In #8880, I tried to add a version-specific conflict to these mods. However, since I very frequently use the ksp_version_min property and almost never the min_version property, I typed version_min instead, which is not a relationship property. The client interprets this as a conflict with no version limits.
Changes
Now the version_min properties are changed to min_version.

Should this be an inflation warning, or should we treat the alternate spelling as an alias and support it?

Should this be an inflation warning, or should we treat the alternate spelling as an alias and support it?

I'd vote for not introducing synonyms and showing a warning. It's a potential source of complexity and confusion with no real benefit, correcting the typo is easy enough (once you know it happened...)


Preparation for LIBXSMM 1.8

Take new translation units into account, which will be introduced in LIBXSMM 1.8 (Winograd). Account for adjusted header dependency in LIBXSMM (TODO: API to avoid incl. header from LIBXSMM's src, or move related code in xsmm_conv2d.cc into LIBXSMM). Trigger a rebuild if a LIBXSMM template file changed.

I recommend to squash the changeset into a single commit.

merged


Lavalink doesn't send sound on java 8

Description
It appears as though the latest Lavalink off master does not work with java 8. I've tried both a self compiled version and the latest off the CI (all logs below are from the CI version). I've personally ran it on a windows 10 64 bit machine and a raspberry pi (with appropriately compiled natives) and experienced no sound with java 8. I've ran the same file on a Debian server with java 11 and it works fine.
I've had a friend test on Windows 7 with java 8 and had it fail, and and another person running Ubuntu 18.04 on the discord said they fixed it by installing java 11.
Sample log me attempting to play music from the windows 10 machine: https://hastebin.com/ekudidowes.coffeescript
Note that I've updated java since then, but it hasn't changed the output. Log hangs like that forever (well past the end of the song). Stats reports the song is at 0 seconds.
I've traced it back through git, it appears as though the first commit that fails is this one: https://github.com/Frederikam/Lavalink/commit/a6f836afe9d946cd6d71d265fe281ef9749c173b
It's highly possible that its something to do with the updated Magma or Jda-nas libraries.
The commit before that one does not exhibit this issue. I haven't been able to pin it down further than that.
Version info
Output of java -jar Lavalink.jar --version:
PS C:\Users\NIN3\Documents\Git\Spyder\cogs\Audio> java -jar .\Lavalink.jar --version

Version:        c314f4db6018a2984c94091aaaf6b72d6652d9e3-SNAPSHOT
Build:          900
Build time:     19.10.2019 20:50:43 UTC
Branch          master
Commit:         c314f4d
Commit time:    19.10.2019 20:47:04 UTC
JVM:            1.8.0_231
Lavaplayer      1.3.22

Output of java -version:
PS C:\Users\NIN3\Documents\Git\Spyder\cogs\Audio> java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

Indeed the latest version of Lavalink does not work with Java 8!
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)

One thing I noticed is that magma is being built with Java 11. That's not necessary an issue as the targetted Java version is 8, but there were some trouble with the produced bytecode between 8/11 when it comes to ByteBuffers, which are being used here. While the report does not mention any related exceptions, trying this out might still be worth a shot: https://github.com/napstr/Magma/pull/27

Sorry for the slow response on this: I've tried using both jitpack and manually replacing magma with a version compiled on my java8 machine from that branch. I don't see any change nor improvement sadly.

Thanks for trying this out, @NIXC. I don't have any other ideas or suggestions for this issue at this moment.


[Feature Request] Support microk8s in a docker image.

(updated to make a proper feature request)
It would be really great if we can use microk8s for CI.  Since it's by far the fastest local Kubernetes solution, I think there will be a great value in that space.  I was using https://github.com/kubernetes-sigs/kubeadm-dind-cluster for my project, but that adds ~10min setup time to each CI build.
For that, it microk8s should be able to run inside a Docker image, though I'm not sure what it takes to get there.  Few issues I can see:

Performing Snap install
Running systemd

https://developers.redhat.com/blog/2014/05/05/running-systemd-within-docker-container/
https://developers.redhat.com/blog/2016/09/13/running-systemd-in-a-non-privileged-container/

Snaps in docker are possible I'd try that route and report back!

@marcoceppi Oh nice, thank you! It would be really useful if I can run microk8s as a docker, and I believe that other people will find useful too!
FYI, There is a couple of projects https://github.com/kubernetes-sigs/kind https://github.com/kubernetes-sigs/kubeadm-dind-cluster can be used to build Kubernetes running in docker, but it's not fast, less mature yet, and then also I had an issue with kubeadm-dind-cluster recently so had to disable.  If possible, I think microk8s can be a preferred alternative in that space.

Now I think about it, for the snap issue, maybe a better way is having a way to install and run microk8s without snap.  Thr main benefit of Snap is sandboxing, but we're disabling on Docker anyways(from the link you provided).   Also, not all environment has Snap support like Alpine linux or Windows wsl.

Hi @kkimdev ,
+1 to using MicroK8s on the CI for the reasons you mention (light, fast install, isolation).
I can see how we could implement this feature. At the time we release the snap to the store we also create a docker image and push it to a repository. With proper tagging we could have matching docker images versions and snaps.
@kkimdev, I would like your help in making a stronger case for this feature. How would you use the MicroK8s docker image? The counter argument to your request is: how is the isolation offered by a docker image better than the isolation of a snap? Snaps are using the same linux kernel features as docker (namespaces, cgroups). As soon as you sudo snap remove microk8s MicroK8s is completely removed, nothing is left behind. Why should we put an extra layer around MicroK8s, but most importantly what stops you from using MicroK8s without the docker wrapping?
For reference,

we deploy and test MicroK8s on travis on every PR. For this we have to set --conntrack-max-per-core=0 for kube-proxy. See https://github.com/ubuntu/microk8s/blob/master/tests/patch-kube-proxy.sh
I am aware of https://github.com/spring-cloud/spring-cloud-kubernetes that run their tests on CircleCI with https://github.com/spring-cloud/spring-cloud-kubernetes/tree/master/spring-cloud-kubernetes-integration-tests

Thank you for using MicroK8s.

@ktsakalozos Yay, that's exciting ! =D
Many open source CI solutions are very Docker centric.  Often, running everything on Docker images is a standard, preferred method if not it's the only way. Examples:

Drone IO -This is what I'm using - runs everything on Docker images. So for example, building a Docker image inside a job is done by Docker-in-Docker(DIND) https://discourse.drone.io/t/build-and-test-docker-images-with-dind/1808 https://github.com/drone-plugins/drone-docker/blob/6207bb9d8518d1d988731d0ae89abaa33abded50/docker/Dockerfile#L3
Gitlab CI runner is also very Docker centric.  Likewise, DIND is a recommended way of building a Docker image https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-in-docker-executor "Docker-in-Docker works well, and is the recommended configuration"

Perhaps a stronger usecase: to run microk8s on Kubernetes.  So if CI runs on Kubernetes, or it's a Kubernetes native CI https://engineering.opsgenie.com/cloud-native-continuous-integration-and-delivery-tools-for-kubernetes-e6ea34d308c that launches Kubernetes pod for each job, then we need a Docker support.  To my understanding that's one of the reasons why Kubernetes testing sig's project https://github.com/kubernetes-sigs/kind builds a Kubernetes Docker image.

I'm also looking for a lightweight way to run kubernetes integration tests in a CI system that only supports docker container build agents. I think microk8s would be an attractive solution if it were possible to run it in a docker container.

For reference some links related to the issue:

https://forum.snapcraft.io/t/snapd-in-docker/177
https://forum.snapcraft.io/t/running-snaps-inside-docker-containers/869
https://bugs.launchpad.net/snappy/+bug/1841327
https://github.com/ogra1/snapd-docker

I took a look at the links posted by @ktsakalozos and spend some days on this. My summary: There're scripted workarounds that allow to run snaps inside a container, but they're not a containerized solution. I don't think this path will lead a real microk8s container.
Approaches like https://github.com/ogra1/snapd-docker are a practical idea, however it's hard to port it to up-to-date Ubuntu base images, systemd and snap versions and I don't think the time is well spent. The maintenance effort will always be enormous in comparison to a sheer image. I tried to come up with my own script similar to https://github.com/ogra1/snapd-docker, I however couldn't get systemd to run inside Docker using an up-to-date Ubuntu, however managed to make it work using CentOS 7. However, I then had a ton of other trouble because I needed to imitate expertise in systemd, snap and Docker. There's probably a huge impact on performance and resource requirements as well.
It'd be awesome if the snap devs could provide a container which allows to run and maybe even install snaps. It needs to be well maintained solution because it involves a lot of troublesome combinations of complex software, such as systemd. According to https://bugs.launchpad.net/snappy/+bug/1841327 there's no such plan, maybe you can knock on their door again.
Imo, the most promising and sustainable approach is to provide microk8s as container without involvement of snap for execution. I'd be interested in supporting the development, however I have no clue where to start.

I'm also looking for a lightweight way to run kubernetes integration tests in a CI system that only supports docker container build agents.

For what it is worth, I have been using Kind for this and it works well. (I generally use Microk8s for local development.)

I've developed a CI tool which runs on/in MicroK8s, uses the Kubernetes API and builds Containers with a tool called Kaniko (from Google).
Kaniko is the magic part, because of that I don't need Docker (or Docker in Docker) kind of solutions, so all the problems you get with GitLab/Travis and other things ... are gone.

@trulede I'm interested to know more.
Also +1 for support microk8s in a docker image.

couldn't get systemd to run inside Docker using an up-to-date Ubuntu

Mind having another try using x11docker https://github.com/mviereck/x11docker ?
See also

https://dev.to/brickpop/my-dream-come-true-launching-gui-docker-sessions-with-dx11-in-seconds-1a53
https://medium.com/@techupbusiness/running-gui-apps-securely-in-docker-sandbox-5d945288929b
https://github.com/mviereck/x11docker/wiki/Remote-access-with-SSH
https://www.cbtechinc.com/desktop-docker-1-linux-graphical-containers/ (3 posts)

I am seriously considering x11docker to ease development in a cluster and this might fit nicely with microk8s development.


No ingestion program

A sample submission made in https://www.codabench.org/competitions/197/ yesterday and re-uploaded non longer works:
python3: can't open file '/app/program/ingestion.py': [Errno 2] No such file or directory

should be fixed!


Fix PDB selector for istiod

Fixes https://github.com/istio/istio/issues/22267

In response to a cherrypick label: #22273 failed to apply on top of branch "release-1.5":
Using index info to reconstruct a base tree...

Auto-merging operator/pkg/vfs/assets.gen.go
CONFLICT (content): Merge conflict in operator/pkg/vfs/assets.gen.go
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/pilot_override_values.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/pilot_override_kubernetes.yaml
CONFLICT (modify/delete): operator/cmd/mesh/testdata/manifest-generate/output/pilot_k8s_settings.golden.yaml deleted in HEAD and modified in Fix PDB selector for istiod. Version Fix PDB selector for istiod of operator/cmd/mesh/testdata/manifest-generate/output/pilot_k8s_settings.golden.yaml left in tree.
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/pilot_default.yaml
CONFLICT (modify/delete): operator/cmd/mesh/testdata/manifest-generate/output/flag_override_values.golden.yaml deleted in HEAD and modified in Fix PDB selector for istiod. Version Fix PDB selector for istiod of operator/cmd/mesh/testdata/manifest-generate/output/flag_override_values.golden.yaml left in tree.
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_output_set_profile.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_output.yaml
CONFLICT (content): Merge conflict in operator/cmd/mesh/testdata/manifest-generate/output/flag_output.yaml
CONFLICT (modify/delete): operator/cmd/mesh/testdata/manifest-generate/output/flag_output.golden.yaml deleted in HEAD and modified in Fix PDB selector for istiod. Version Fix PDB selector for istiod of operator/cmd/mesh/testdata/manifest-generate/output/flag_output.golden.yaml left in tree.
CONFLICT (modify/delete): operator/cmd/mesh/testdata/manifest-generate/output/component_hub_tag.golden.yaml deleted in HEAD and modified in Fix PDB selector for istiod. Version Fix PDB selector for istiod of operator/cmd/mesh/testdata/manifest-generate/output/component_hub_tag.golden.yaml left in tree.
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/all_on.yaml
CONFLICT (content): Merge conflict in operator/cmd/mesh/testdata/manifest-generate/output/all_on.yaml
Auto-merging manifests/istio-control/istio-discovery/templates/poddisruptionbudget.yaml
Auto-merging manifests/istio-control/istio-discovery/templates/deployment.yaml
error: Failed to merge in the changes.
Patch failed at 0001 Fix PDB selector for istiod


iframe with HTML (not XHTML) fail to load

See:
https://github.com/readium/readium-js-viewer/issues/723#issuecomment-467067038
Instead of loading, a popup download is displayed. This looks like an overzealous / badly-configured security rule in the Electron webview setup. To be verified.

I cannot see anything suspicious in https://github.com/readium/r2-navigator-js/blob/develop/src/electron/main/sessions.ts


PF5: Follow-up UI fixes

Towards #2209
Description

Fixes issue numbers 1, 2, and 4 as listed in #2209 cc @DaoDaoNoCode
Regarding number 3:

The filter toggle text on Notebook image settings page and global model serving page is truncated

This is part of the larger component deprecation/cleanup effort and will be addressed with the PR for https://github.com/opendatahub-io/odh-dashboard/issues/1931
How Has This Been Tested?

Tested in UI
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[x] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

Before:

After:

Before:

After:

Before:

After:

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

@jenny-s51 can you squash your commits?

@jenny-s51 I imagine you rebased and picked up one of the eslint changes going into main... you'll need to address those in your PR to get it to merge.


feat(recurringjob): add RecurringJobMaxRetention setting

Add the recurringJobMaxRetention default setting and update the README.md file.
ref: longhorn/longhorn#5713

@jillian-maroket Please help review the description of the newly added setting.

@mantissahz Please help update longhorn/longhorn to make the description sync.