fix(transform): only match semantic version tags

conventional-changelog-writer expects that the version property of a
commit object is a semantically valid version.
The previous version of the transform function would match against any
tag associated with the commit, and assign the first matched tag as the
commit's version.
If the matched tag is not a semantically valid version number,
conventional-changelog-writer will ignore the version property of
the commit object, and not successfully generate a changelog (since it
has no version on which to generate the changelog).
Therefore we update the transform function to only match against
semantically valid version tags when assigning the version property of
a commit object.

Coverage increased (+0.1%) to 96.721% when pulling bc2e6dcaa15cf645fb93c1932f36bdf2bd207ba0 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling bc2e6dcaa15cf645fb93c1932f36bdf2bd207ba0 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling bc2e6dcaa15cf645fb93c1932f36bdf2bd207ba0 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling bc2e6dcaa15cf645fb93c1932f36bdf2bd207ba0 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling bc2e6dcaa15cf645fb93c1932f36bdf2bd207ba0 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling 453b537e70c5706cd7648da2d598cc3ab54c2ae7 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling 453b537e70c5706cd7648da2d598cc3ab54c2ae7 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling 453b537e70c5706cd7648da2d598cc3ab54c2ae7 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling 453b537e70c5706cd7648da2d598cc3ab54c2ae7 on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.

Coverage increased (+0.1%) to 96.721% when pulling b92b06463cff161ae54c1df99b22774703303c7d on fix/transform/semver into 36b97f39c4521254f126bae7ee70fa19fa230431 on master.


⚠ ClamAV has degraded performance

In 69c5ceb, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 70 ms

Resolved: ClamAV performance has improved in ff91f65 after 5 minutes.


[Feature-10983] [refactor] ResourcesController

refactor for api ResourcesController
fix #10983

I have reactor the code and supplement UnitTest。but when i mvn package in my compute ,there has some stylecheck error  like ImportOrder in java where i haven't edit.

I‘m sorry to forget to add license text for new class， so I repush the code

I have fix all check-style error with  incremental code @SbloodyS

I had approved to run CI.

I had approved to run CI.

it is confusing to me that i have checked by check-style plugin in my local , it also has no problem  .Do you have any suggestions?

OK, it seems that check-style plugin skip the Test package

I had approved to run CI.

it is confusing to me that i have checked by check-style plugin in my local , it also has no problem .Do you have any suggestions?

The current CI is incremental detection. Please check all files you have modified.

I try to fix check-style error ,please help to approve it

@SbloodyS  e2e MysqlDataSource module error ,  I haven't change it ，is it because  I pull the lastest commit ?

@SbloodyS e2e MysqlDataSource module error , I haven't change it ，is it because I pull the lastest commit ?

Please merge the latest dev branch again. This problem was just fixed this afternoon.

Done

@SbloodyS  i have modified  the code ,please review

@SbloodyS i have modified the code ,please review

I have fetch latest conflict commit and  fix checkstyle ,please  approval  again 。 @SbloodyS

@SbloodyS i have modified the code ,please review

I have fetch latest conflict commit and fix checkstyle ,please approval again 。 @SbloodyS

Done.

@SbloodyS  sorry  ,i made a UT error when fix PR conf conflict, now I fix ,please  approval

It‘s better to create a new branch e.g. api-refactor, and don't merge this kind of pr to dev, otherwise, we may need to solve many conflicts before 4.0 @SbloodyS @caishunfeng @liguotian

OK , please let me know when branch api-refactor is checked ,then i will create a new PR. @ruanwenjun @SbloodyS @caishunfeng

It‘s better to create a new branch e.g. api-refactor, and don't merge this kind of pr to dev, otherwise, we may need to solve many conflicts before 4.0 @SbloodyS @caishunfeng @liguotian

I'm not quite sure about it. But one thing to be considered is that if a new branch is created, its contribution will not be directly displayed in https://github.com/apache/dolphinscheduler/graphs/contributors when the contributor's code is merged into the new branch. cc @caishunfeng @zhongjiajie

It‘s better to create a new branch e.g. api-refactor, and don't merge this kind of pr to dev, otherwise, we may need to solve many conflicts before 4.0 @SbloodyS @caishunfeng @liguotian

I find this patch almost adds new files and only changes the existing file ResourcesController, so it can be cherry-picked without not to many conflicts, So I think we can be merge into dev branch, I think I think the one need to create a new branch to keep code it significant change not compatible with the current code/function(maybe part of DSIP or foundation), and we didn't want to release it int the next released

It‘s better to create a new branch e.g. api-refactor, and don't merge this kind of pr to dev, otherwise, we may need to solve many conflicts before 4.0 @SbloodyS @caishunfeng @liguotian

I find this patch almost adds new files and only changes the existing file ResourcesController, so it can be cherry-picked without not to many conflicts, So I think we can be merge into dev branch, I think I think the one need to create a new branch to keep code it significant change not compatible with the current code/function(maybe part of DSIP or foundation), and we didn't want to release it int the next released

AFAIK, the PR related to this issue #10257 will be released at 4.0 :), and most of these might be incompatible.

It‘s better to create a new branch e.g. api-refactor, and don't merge this kind of pr to dev, otherwise, we may need to solve many conflicts before 4.0 @SbloodyS @caishunfeng @liguotian

I find this patch almost adds new files and only changes the existing file ResourcesController, so it can be cherry-picked without not to many conflicts, So I think we can be merge into dev branch, I think I think the one need to create a new branch to keep code it significant change not compatible with the current code/function(maybe part of DSIP or foundation), and we didn't want to release it int the next released

AFAIK, the PR related to this issue #10257 will be released at 4.0 :), and most of these might be incompatible.

In my opinion, it should be merged in dev, which is always the latest branch. The question is to reduce the cherry-pick cost with less conflicts, what about spliting the pr into two parts, one is the service logic,another is the v2 controller and dto? When cherry-pick, we just cp the first one part without v2 controller logic. WDYT?

Codecov Report

Merging #10998 (b32d016) into dev (d9516e2) will increase coverage by 0.09%.
The diff coverage is 69.16%.

@@             Coverage Diff              @@
##                dev   #10998      +/-   ##
============================================
+ Coverage     40.24%   40.33%   +0.09%
- Complexity     4839     4872      +33
============================================
  Files           973      983      +10
  Lines         37302    37440     +138
  Branches       4141     4129      -12
============================================
+ Hits          15012    15103      +91
- Misses        20749    20790      +41
- Partials       1541     1547       +6

Impacted Files
Coverage Δ

...nscheduler/api/dto/resources/ResourceResponse.java
0.00% <0.00%> (ø)

...uler/api/dto/resources/UpdateResourceResponse.java
0.00% <0.00%> (ø)

...hinscheduler/api/service/impl/BaseServiceImpl.java
89.79% <0.00%> (ø)

...che/dolphinscheduler/api/python/PythonGateway.java
19.81% <50.00%> (ø)

...cheduler/api/controller/ResourcesV2Controller.java
59.30% <59.30%> (ø)

...heduler/api/service/impl/ResourcesServiceImpl.java
51.12% <71.87%> (-0.17%)
:arrow_down:

...nscheduler/api/controller/ResourcesController.java
53.19% <75.00%> (-2.58%)
:arrow_down:

...olphinscheduler/api/controller/BaseController.java
53.52% <100.00%> (ø)

...uler/api/dto/resources/CreateResourceResponse.java
100.00% <100.00%> (ø)

...ler/api/dto/resources/ResourceContentResponse.java
100.00% <100.00%> (ø)

... and 11 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

It‘s better to create a new branch e.g. api-refactor, and don't merge this kind of pr to dev, otherwise, we may need to solve many conflicts before 4.0 @SbloodyS @caishunfeng @liguotian

I find this patch almost adds new files and only changes the existing file ResourcesController, so it can be cherry-picked without not to many conflicts, So I think we can be merge into dev branch, I think I think the one need to create a new branch to keep code it significant change not compatible with the current code/function(maybe part of DSIP or foundation), and we didn't want to release it int the next released

AFAIK, the PR related to this issue #10257 will be released at 4.0 :), and most of these might be incompatible.

In my opinion, it should be merged in dev, which is always the latest branch. The question is to reduce the cherry-pick cost with less conflicts, what about spliting the pr into two parts, one is the service logic,another is the v2 controller and dto? When cherry-pick, we just cp the first one part without v2 controller logic. WDYT?

LGTM, the change about service can be released in 3.x.

@liguotian please split the service part and the v2 controller/entity part into two PR based on the above conclusions.

@liguotian please split the service part and the v2 controller/entity part into two PR based on the above conclusions. Thanks.
OK ,I will reset this branch and pick this code which only contain DTO and ResourceV2Controller 。

@liguotian please split the service part and the v2 controller/entity part into two PR based on the above conclusions. Thanks.

@liguotian please split the service part and the v2 controller/entity part into two PR based on the above conclusions. Thanks.

@SbloodyS  this PR is just  the v2 controller/entity with UT , please  review  。

@SbloodyS  it seem  error in e2e Unit Test module,and  there exists TaskTimeoutStateEventHandler whice has no edit in this RP

@SbloodyS I have rebase the latest commits from dev ,please help to approval .

@SbloodyS  Can you help to approval 。it seems this RP will outdate

@SbloodyS  Can you help to approval 。it seems this PR will outdate

@SbloodyS Can you help to approval 。it seems this PR will outdate

I had approved to run CI.

@SbloodyS Can you help to approval 。it seems this PR will outdate

I had approved to run CI.

@SbloodyS  Sorry ,I had e a mistake in code. now i had fix it .i find i can run action in my repo to check ALL UNIT Test  , now
i had run action in my own  forked repo and they all success, please  approved again . I'm sorry for the trouble

@SbloodyS Can you help to approval 。it seems this PR will outdate

I had approved to run CI.

@SbloodyS Sorry ,I had e a mistake in code. now i had fix it .i find i can run action in my repo to check ALL UNIT Test , now i had run action in my own forked repo and they all success, please approved again . I'm sorry for the trouble

It's alright. I had rerun the CI.

@SbloodyS Can you help to approval 。it seems this PR will outdate

I had approved to run CI.

@SbloodyS Sorry ,I had e a mistake in code. now i had fix it .i find i can run action in my repo to check ALL UNIT Test , now i had run action in my own forked repo and they all success, please approved again . I'm sorry for the trouble

It's alright. I had rerun the CI.

Thanks!

@SbloodyS  I can see that there is still a check failed, but the status of the RP is "review required". Is this check important? How do I do it? Can you help me

@SbloodyS  Can you help to review code for PR ？

@SbloodyS  Excuse me ，but can you help approving

@SbloodyS Excuse me ，but can you help approving

Sorry for late reply. I had approved to run CI.

@SbloodyS Excuse me ，but can you help approving

Sorry for late reply. I had approved to run CI.

It’s no matter。can you help CR。

@SbloodyS  can you please review code  ?

@SbloodyS can you please review code ?

Sorry for late reply. I can't spare time these days. Do you have time to take a look at this PR? Thanks. @EricGao888 @caishunfeng @zhongjiajie @ruanwenjun @zhuangchong

@SbloodyS can you please review code ?

Sorry for late reply. I can't spare time these days. Do you have time to take a look at this PR? Thanks. @EricGao888 @caishunfeng @zhongjiajie @ruanwenjun @zhuangchong

Sure, I will help with the review : )

@EricGao888  Excuse me， Can this PR still be review 。

@EricGao888 Excuse me， Can this PR still be review 。

Of course.


Why the breakout enviroment is the same with different seed?[BUG]

import envpool, numpy, sys
print(envpool.__version__, numpy.__version__, sys.version, sys.platform)

0.8.2 1.21.6 3.7.10 | packaged by conda-forge | (default, Feb 19 2021, 16:07:37)
[GCC 9.3.0] linux

I tried the bellowing code and found out the initial state of breakout enviroment is the same with different seed. I wonder why?
import envpool
import numpy as np
for s in [0,1,2,3,4]:
    env = envpool.make_gymnasium(
                'Breakout-v5',
                num_envs=1,
                seed=s*1000,
                episodic_life=False,
                reward_clip=False,
                stack_num=4,
            )
    observation, info = env.reset()
    print(observation)
    print(s, np.sum(observation))

It's the same behavior if you try gym or atari-py


ansible dictionary conversion replaces dash "-" with underscore "_"

I have an ansible role (using ansible operator), which uses a dictionary to loop thru variables:
volumes:
  customapps-storage: 1G
  config-storage: 1G
  userdata-storage: 2G
  webdata-storage: 1G

this are defined in role defaults/main.yml
They are decoded like this:
loop: "{{ volumes | dict2items(key_name='volume', value_name='size')}}"
all ok, (item.volume = config-storage) but when I create the manifest,
 apiVersion: storage.cloud/v1
kind: CloudStorage
metadata:
  name: cloudstorage
  namespace: cloud
spec:
  volumes:
    customapps-storage: 1G
    config-storage: 1G
    userdata-storage: 2G
    webdata-storage: 1G

this variables are decoded as config_storage, userdata_storage etc, replacing "-" with "_".
(item.volume = config_storage)
(tested thoroughly )
Of course, may be an ansible python/jinja issue only and it manifests as side effect in operator, but it works from defaults and not from deployment file.
To be clear, when I run with an empty manifest, like this, the values taken from defaults are correct:
 apiVersion: storage.cloud/v1
kind: CloudStorage
metadata:
  name: cloudstorage
  namespace: cloud
spec:

any value with dash in dictionary, is converted to underscore. If I dont use dashes, all works ok.

in your watches.yaml you can disable all case conversion by setting snakeCaseParameters to false, see https://sdk.operatorframework.io/docs/building-operators/ansible/reference/watches/


Final Project Code Review: DB

I think there are 2 general issues in the db module.

In some methods, the client connects to the db again in the promise callback of MongoClient connect method.
Mongo cursor's toArray method returns a promise object. So you should await when calling toArray.

Mongo cursor's toArray method returns a promise object. So you should await when calling toArray.

Right now I see that you await when you call the method. It's okay technically. Maybe my suggestion is a little more readable to others.


Bootstrap Grid is broken for iPad

Hello,
The examples provided in https://getbootstrap.com/docs/4.0/examples/carousel/ not seems to be working in iPad Mini 2.

Could you please provide a solution for this?

I've also bumped up to this problem. Looks like ios 8 and smaller are not supported. None of this utilites works on ios 8: https://getbootstrap.com/docs/4.0/utilities/flex/

iOS8 was released 3 years ago. we're up to iOS11 now. as per https://getbootstrap.com/docs/4.0/getting-started/browsers-devices/#mobile-devices we're really only targetting primarily the latest common version of browser/OS.


Propagate error messages when multiple on BadRequest

Fix https://github.com/huggingface/huggingface_hub/issues/1114.
@Narsil exception will now be raised as such:
huggingface_hub.utils._errors.BadRequestError:  (Request ID: A83RPh8Orl5DA0S92qTVX)

Bad request for commit endpoint:
You can't have a key with a "." or "$" character in your YAML metadata

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Discussion: Improve Typings

I want to help improve the typings for redux-starter-kit and get some documentation written up around TS usage.
I have an ideal usage/API in mind, based on typesafe-actions.
Creating actions with createTypesafeAction and creating reducers with createReducer:
import { createTypesafeAction, createReducer, ActionType } from 'redux-starter-kit'

// createTypesafeAction is an optional API addition,
// but gives a cleaner way to do this than `createAction`
const actions = {
  login: createTypesafeAction('LOGIN')<ILogin>(),
  loginSuccess: createTypesafeAction('LOGIN_SUCCESS')<IUser>(),
}

interface IState {
  isLoading: boolean;
  user?: IUser;
}

const initialState: IState = {
  isLoading: false,
}

// borrowed from typesafe-actions,
// lets us get types from a map of action creators and keep type literals intact
type Action = ActionType<typeof actions>

export const reducer = createReducer<IState, Action>(initialState, {
  [actions.login.type]: (state, action) => {
    // since we have type literals in tact,
    // action should be inferred to PayloadAction<"LOGIN", ILogin>
    state.isLoading = true
  },
  [actions.loginSuccess.type]: (state, action) => {
    // action inferred to PayloadAction<"LOGIN_SUCCESS", IUser>
    state.isLoading = false
    state.user = action.payload
  },
})

I have everything working down to actually being able to infer action based on the caseReducer key.  I'm hitting a bit of a limit to my skills with Typescript to infer type based on key.
createSlice
I use redux-saga.  With typesafe-actions, I'm able to type the action parameter in my sagas by doing:
const actions = { login: createStandardAction('LOGIN')<ILogin>() }

function* loginSaga(action: ActionType<typeof actions.login>) {}

I'm not sure how you'd go about doing something like this with createSlice.  I'm trying to think of some way that you could type the action param in your case reducers, and also come out with actions that have the correct literals for type and the correct payload shapes.
Would love to hear other people's thoughts on how we could improve the typings.

Obligatory paging of the TS Experts:  @denisw, @Dudeonyx , @jessidhia

I've been trying to find the optimal way here as well .... What follows is my current approach which works well bc I get type checking on actions, state, and effects (thunks). I would love to have someone tell me a better way! However, I don't think we can reduce the boilerplate much compromising somewhere else.  A few preliminaries to my setup:
a. For each slice I follow the duck folder pattern.
b. Every folder in my project has an index.ts file whose reason d'etre is to export/import stuff or as the applications entry point.
c. For every view I have a file named as the component home.tsx, an index.ts which exports it, and if it needs any higher order stuff (i.e., access to the store) then a connect.ts so my view remains decoupled (pure), and easy to test.
… So a slice then:
index.ts:
export * from "./my-slice"

my-slice.ts:
import { createSlice } from "redux-starter-kit"
import * as reducers from "./reducers"
import * as effects from "./effects"
import { INITIAL_STATE } from "./constants"

const slice = createSlice({
  initialState: INITIAL_STATE,
  reducers,
  slice: "foo",
})

export const foo = {
  ...slice,
  effects, // Effects to me are thunks, but i keep them with this slice to everything is neatly packaged together for consumption elsewhere in my app
}

constants.ts
import { IFooState } from "src/typings" // IRootState and ISliceStates in here

export const INITIAL_STATE: IFooState = {
  foo: "bar"
}

reducers.ts
import { IFooState, IAction } from "src/typings" // IAction only has type: string and payload: any in it

interface ISetFooAction extends IAction {
  payload: string
}

export const setFoo = (state: IFooState, action: ISetFooAction) => {
  _.set(state, "foo", action.payload)
}

… Somewhere else in my view logic
index.ts
export * from "Foo"

foo.tsx
...
interface IProps {
  foo: string
  setFoo(value: string): void
}

export const Foo: React.FC<IProps> => ({ foo, setFoo }) => (

  	<button onClick={() => setFoo("no more bar!")} />

{foo}

)

connect.ts
import { connect } from "react-redux"
import { IRootState, IFooState } from "src/store/typings"
import { foo } from "src/store"
import { Foo } from "./foo"

const mapState = (state: IRootState) => {
  const { foo } = state.foo
  return {
    foo,
  }
}

const { setFoo } = foo.actions

const mapDispatch = {
  setFoo: (value: string) => setFoo(value),
}

const Connected = connect(
  mapState,
  mapDispatch
)(Foo)
export { Connected as Foo }

Apologies for mistakes above (from memory). Let me know your thoughts.

Yeah, I'm wondering if that's about as clean as we're gonna get with createSlice.
The thing that typesafe-actions does that redux-starter-kit currently doesn't is preserve the literal type of type on each action.  So your ISetFooAction interface is shaped { type: string, payload: string } instead of { type: 'SET_FOO', payload: string }.  When you have your actions more strongly typed like that, Typescript can start making inferences about the shape of your payload that are pretty handy if it recognizes the type.
Regardless, I think we should try to figure out the best implementation we can and start writing some docs around it.

When you have your actions more strongly typed like that, Typescript can start making inferences about the shape of your payload that are pretty handy if it recognizes the type.

Could you elaborate on this? I don't follow on why the literally typed type field makes a difference  when its shape is explicitly declared by ISetFooAction. Or are you saying that it removes the need for ISetFooAction altogether?

Take a look at how I do ducks with typesafe-actions
import { call, put, takeLatest } from 'redux-saga/effects'
import { createStandardAction, ActionType, getType } from 'typesafe-actions'
import client from '../httpClient'

// TYPES
interface ILogin {
  email: string;
  password: string;
}

interface IUser {
  id: number;
  username: string;
}

// HTTP
const http = {
  login: (credentials: ILogin) => client.post('/login', credentials),
}

// ACTION CREATORS
const actions = {
  login: createStandardAction('LOGIN')<ILogin>(),
  loginSuccess: createStandardAction('LOGIN_SUCCESS')<IUser>(),
  loginError: createStandardAction('LOGIN_ERROR')<string>(),
}

type LoginAction = ActionType<typeof actions.login>

// SAGAS
function* loginSaga(action: LoginAction) {
  try {
    const user: IUser = yield call(http.login, action.payload)
    yield put(actions.loginSuccess(user))
  } catch (e) {
    yield put(actions.loginError('Uh oh'))
  }
}

export function* authSagas() {
  yield takeLatest('LOGIN', loginSaga)
}

// STATE
interface IState {
  isLoading: boolean;
  user?: IUser;
}

const initialState: IState = {
  isLoading: false,
}

type Action = ActionType<typeof actions>

// REDUCER
export default function reducer(state: IState, action: Action) {
  switch (action.type) {
    case actions.login):
      return { ...state, isLoading: true }
    case getType(actions.loginSuccess):
      return { ...state, user: action.payload }
    case getType(actions.loginError):
      return { ...state, isLoading: false }
  }
  return state
}

so when I create my actions:
// ACTION CREATORS
const actions = {
  login: createStandardAction('LOGIN')<ILogin>(),
  loginSuccess: createStandardAction('LOGIN_SUCCESS')<IUser>(),
  loginError: createStandardAction('LOGIN_ERROR')<string>(),
}

my action end up with this kind of type: PayloadAC<"LOGIN", ILogin> for the my login one.  they all retain their literal action type, instead of just string.
I can then do this:
type Action = ActionType<typeof actions>
// PayloadAction<"LOGIN", ILogin> | PayloadAction<"LOGIN_SUCCESS", IUser> | PayloadAction<"LOGIN_ERROR", string>

Now, in my reducer, within each case statement, Typescript knows exactly which action it is because it compares the action.type, so I get the correct type completions and type safety scoped within each of my case statements.  Make sense?
// REDUCER
export default function reducer(state: IState, action: Action) {
  switch (action.type) {
    case actions.login.type:
      return { ...state, isLoading: true }
    case actions.loginSuccess.type:
      return { ...state, user: action.payload } // it knows `action.payload` is type `IUser` here
    case actions.loginError.type:
      return { ...state, isLoading: false }
  }
  return state
}

Makes sense!  I can see that we're structuring our slices slightly differently. You need the literal type for inference to work in your reducers. But since I'm using createSlice and I'm explicitly declaring the action type for each reducer function, I don't need that step or type Action = .... I prefer separating reducer cases because I find them easier to test and read and then let RSK take care of wiring it up ... otherwise whats the point of using RSK? Additionally, I don't need to use anything from the typesafe-actions to get the same level of typing because each reducer case is explicitly. Typed.
I don't see an advantage to one approach or the other but it would be nice if RSK had a preferred and documented/supported approach.

To be clear, I'm not using RSK at all in my code above, if you didn't realize.  I don't know if there are too many other ways to type the createSlice() approach, at this point.  the only thing would be if you defined all of your case reducers when you are calling createSlice, you could probably pass it a generic argument to type all of your state params, maybe?  createSlice<State>(...)
I wanna see if anyone else chimes in, but then I'd like to start documenting.

I prefer separating types from logic bc it feels cleaner and more explicit vs. using <T> and type to extract type information. I also think it leads to friendlier syntax ... or perhaps I'm just scared of generic typings! Even if the option was there to go createSlice<State>(...) I'd still prefer defining the root state and individual slice structure centrally bc I think it better achieves high cohesion and low coupling.

@hedgerh I was working on a prototype of sorts that might be what you're looking for, at least for createSlice.
But bear in mind that due to the limitations of typescript regarding concatenated strings there is no way to do this automatically since our action types in createSlice are namespaced, so due to the manual typing by the end user the possibility of user mistakes exists.
Before that I should point out that you can use the included createAction utility to create type safe actions already in case you didn't know, i.e
import { IDetials } from './types';

const actions ={
     updateDetails: createAction<IDetials, 'UPDATE_DETAILS'>('UPDATE_DETAILS')
};

const bla = createReducer({
    reducers: {
        [actions.updateDetails.type]: (state, action: typeof actions.updateDetails)=>{
        // ....
        }
    }
})

Anyway back to the createSlice stuff
it would work like this
  const { actions: { setName, setSurname, setMiddlename, reset } } = createSlice({
    slice: 'form',
    cases: {
      setName: (state, action: PayloadAction<string, 'form/setName'>) => {
        state.name = action.payload;
      },
      setSurname: (state, action: PayloadAction<string,'form/setSurname'>) => {
        state.surname = action.payload;
      },
      setMiddlename: (state, action: PayloadAction<string,'form/setMiddlename'>) => {
        state.middlename = action.payload;
      },
      resetForm: (state, _: PayloadAction<undefined, 'form/resetForm'>) => formInitialState,
    },
    initialState: formInitialState,
  });

This creates fully typed action creators whose type and toString() properties return string literals.

Awesome! This is very close to my dream syntax.  This lets me type the action my saga takes as an argument the way that I'd prefer, where it's directly tied to the actual action.
Any possible solves to make the end user not have to manually type?  Is getting typescript to play nice with concatenation a complete no go, or should we explore it more?  Otherwise, are there other workaround? Also, suppose concatenation weren't an issue, what could it look like then?  How would the end user type the payload shape?
I'd love to see your work on this, btw!  Do you have a fork/branch up somewhere?
And yeah, I knew you could get literal typed actions with createAction.  I was thinking about proposing something like createTypedAction that would use typesafe-action's approach that lets you type the payload without double passing the action type: createTypedAction('LOGIN')<ILogin>().
Any idea how we could get createReducer to infer the shape of the action argument in each case reducer?  Like this:
const actions = {
  login: createAction<ILogin, 'LOGIN'>('LOGIN'),
  loginSuccess: createAction<IUser, 'LOGIN_SUCCESS'>('LOGIN_SUCCESS'),
}

type Action = ActionType<typeof actions> // approach borrowed from typesafe-actions

const reducer = createReducer<State, Action>({
  [actions.login.type]: (state, action) => {
    state.user = action.payload // would blowup bc payload shape isn't IUser
  },
  [actions.loginSuccess.type]: (state, action) => {
    state.user = action.payload // good! typescript infers that action.payload is IUser
  }
})

Is getting typescript to play nice with concatenation a complete no go, or should we explore it more?

I think it is impossible. It would require some kind of string concatenation operator in the TypeScript type system, which doesn't exist as far as I know. Therefore, the current design of createSlice doesn't let us infer any action type that is more specific than string.

Any idea how we could get createReducer to infer the shape of the action argument in each case reducer?

Below is the best I've come up with so far:
export type Actions<T extends keyof any = string> = {
  [K in T]: PayloadAction<any>
}

export type CaseReducers<S, AS extends Actions> = {
  [T in keyof AS]: CaseReducer<S, AS[T]>
}

export function createReducer<S, AS extends Actions<any> = Actions<any>>(
  initialState: S,
  actionsMap: CaseReducers<S, AS>
): Reducer<S> {
  // ...
}

That kinda works as in the example snippet, but is limited to the kinds of payload actions generated by createAction. If I change PayloadAction<any> to Action<any>, code like this:
type CounterAction =
  | { type: 'increment'; payload: number }
  | { type: 'decrement'; payload: number }

const incrementHandler = (state: number, action: CounterAction) => state + 1
const decrementHandler = (state: number, action: CounterAction) => state - 1

const reducer = createReducer(0 as number, {
  increment: (state, action) => state + action.payload,
  decrement: (state, action) => state + action.payload
})

gives me errors like:
Type '(state: number, action: CounterAction) => number' is not assignable to type 'CaseReducer<number, AnyShapeAction<string>>'.
  Types of parameters 'action' and 'action' are incompatible.
    Type 'AnyShapeAction<string>' is not assignable to type 'CounterAction'.
      Type 'AnyShapeAction<string>' is not assignable to type '{ type: "decrement"; payload: number; }'.

P.S.: In the Redux Preboiled library I recently released, I chose a somewhat different API design which makes typing much easier, and might serve as inspiration for RSK.
const increment = createAction('increment')
const multiply = createAction('multiply').withPayload<number>()

const counterReducer = chainReducers(
  withInitialState(0),
  onAction(increment, state => state + 1),
  onAction(multiply, (state, action) => state * action.payload)
)

Each onAction call creates a case reducer whose action parameter type is automatically inferred from the action creator passed as the first argument. Becaue each onAction call is type-inferred separately, the complexity around type inference from object keys. Perhaps such a design is also a good fit for Starter Kit.

FWIW, I do particularly like the current "object keys" definition approach.  I'm certainly interested in any reasonable ways that the RSK TS typings can be improved, but if it comes down to reworking the API to get "perfect" TS behavior, vs keeping the same API and only getting "adequate" TS behavior, I'm going to opt for the latter.

I agree with @markerikson .  Hopefully we can figure out how to get things to where it's a win-win for both JS and TS users.
@denisw I like the withPayload api you came up with, but that method would be meaningless to non-Typescript users, so it could create some confusion about what it does, exactly.
Mark, where do you stand as far as, rather than reworking the API, potentially making additions to the API to support Typescript users?
For example, adding something like createTypedAction that gives Typescript users a good API for creating actions the way they'd like?
PS. My motivation for wanting to use RSK:  I am generally anti-abstracting Redux code, but I'd be very interested in adopting RSK, since the abstractions would have a more official "blessing."  My reason being that new developers on my project shouldn't have to learn some abstractions that I either wrote or pulled in from some library that isn't ubiquitous in the community.
Abstractions aside, I currently need to pull in a library that doesn't have official support to get really great type safety around my normal Redux code.  It'd be great if redux-starter-kit or something else official could be the solve for this.

I'm a bit hesitant to add an API that only supports TS usage.  Also, how would using that look with createSlice(), if at all?

I just wanted to see where you stood on potentially adding stuff that was geared towards TS usage, if it became necessary.
The one place where it may make sense is with doing something like the API from Redux Preboiled:
const multiply = createAction('multiply').withPayloadType<number>()
It's possible to get the job done with createAction, but that looks like:
const multiply = createAction<number, 'multiply'>('multiply')
Not ideal, as you need to write the actual type string twice.  You could create a constant and re-use it in both spots, but the point of all of this is to cut down on boilerplate, right?
Alternative would be to have something like createTypedAction that had the API
const multiply = createTypedAction('multiply')<number>()
Either way, it wouldn't be unusable by a non-typescript user, but there'd be no point.  From a JS perspective,
createAction().withPayloadType() or createTypedAction()() should return an action creator to a non-ts user just the same.

@denisw I like the withPayload api you came up with, but that method would be meaningless to non-Typescript users, so it could create some confusion about what it does, exactly.

To clarify, in Preboiled the withPayload() part is meaningful in JavaScript as well. This is because in Preboiled, the withPayload() call is required  if you want the action creator to take a payload. Plain createAction() creates an parameter-less action creator instead.

Mark, where do you stand as far as, rather than reworking the API, potentially making additions to the API to support Typescript users?
For example, adding something like createTypedAction that gives Typescript users a good API for creating actions the way they'd like?

I agree with @markerikson that API which makes only sense for TypeScript is a bit awkward.

PS. My motivation for wanting to use RSK: I am generally anti-abstracting Redux code, but I'd be very interested in adopting RSK, since the abstractions would have a more official "blessing."

To add to that, the nice thing about most of Redux Starter Kit's helpers is that they don't add new abstractions, but just provide boilerplate for existing ones (action creators and reducers). createSlice is the one exception here, and one you don't have to use if it's not your cup of tea (it's not for me, for instance).

Is there anything reasonably actionable that can be done based on this discussion?
As I said, I'm open to further typings tweaks if they improve things, but I'm not looking to meaningfully change the existing APIs.

Without significant API changes, there is nothing major that could be done. I think it would make most sense to close this and open more specific issues as they arise.

I'm interested in @Dudeonyx's work on adding better type safety around createSlice.  Other than that, adding a usage guide for typescript users would be a nice action item to come from this.

@hedgerh Sorry, I actually finished working on it a while ago but I forgot to adapt to redux-starter-kit and make a pull request, doing so now

PR is up

Aside from the createSlice PR that's currently open, what do we recommend as far as typescript usage, so we can start to work on some kind of documentation?
I still think it'd be great if we found some way to infer the types of actions inside of createReducer.  I may mess around with this a bit and see if I can come up with anything.  Not sure if @Dudeonyx has any ideas there.

I'll defer to y'alls expertise on that topic.  If you can come up with recommendations, I will gladly accept a "Usage with TS" docs page PR.

Adding to the discussion. There are some soundness problems when using actions from a slice outside of its reducers.
Here are some examples to show what's working as expected and what's not.
import { createSlice, PayloadAction } from 'redux-starter-kit';

const a = createSlice({
  initialState: { message: '' },
  reducers: {
    saySomething: (state, action: PayloadAction<string>) => {
      // OK: This works because payload type matches state.
      state.message = action.payload;

      // OK: Type mistmatch
      const x: number = action.payload;
    }
  }
});

// OK: Type mistmatch
a.actions.saySomething(1);

// Use the a's action in extra reducer
const b = createSlice({
  initialState: {},
  reducers: {},
  extraReducers: {
    [a.actions.saySomething.type]: (state, action) => {
      // PROBLEM: Passes but is incorrect because the payload is a `string`
      const x: number = action.payload;
    }
  }
});

// Use the a's action in extra reducer
const c = createSlice({
  initialState: {},
  reducers: {},
  extraReducers: {
    [a.actions.saySomething.type]: (state, action: ReturnType<typeof a.actions.saySomething>) => {
      // OK: Type mismatch
      const x: number = action.payload;
    }
  }
});

@jaysoo : yeah, given the disconnect in declarations, I'm not particularly sure how that would be fixable.

I'm going to call this one resolved thanks to the recent changes in 0.7 and 0.8.  Thanks for all the tweaks and suggestions!


Failed to pipe file into gist

cat stuff.txt | gist -t txt -p

This works for me. Keep in mind that gist-cli silently fails if the auth is not configured correctly, see #14.


update next js to latest and update httpsError

due to nextjs move the folder 1 level above on the server. that's why errors are
I updated the next js to the latest as of the moment and updated the import link.
I've test it and working on my end.

Any news about this PR? I think this PR can fix this error in Nextjs 11+ ---> Error: Cannot find module 'next/dist/next-server/server/api-utils'

Thanks for the fix!


csl-daily dataset training

Thank you for your research.
I found that there exist experiments of PHOENIX-2014T and CSL-daily and the model architecture is based on Sign2(Gloss+Text).
The sign2 (Gloss+Text) model uses features generated by pretrained spatial embeddings, but there is no feature pickle in the csl-daily dataset. It would be appreciated if you could tell us how the features created by csl-daily were obtained.

We use the features from the file Extracted_Features_with_BN-TIN-Transformer.zip in the CSL-Dailydataset.

Thank you for your research.
I found that there exist experiments of PHOENIX-2014T and CSL-daily and the model architecture is based on Sign2(Gloss+Text). The sign2 (Gloss+Text) model uses features generated by pretrained spatial embeddings, but there is no feature pickle in the csl-daily dataset. It would be appreciated if you could tell us how the features created by csl-daily were obtained.

We use the features from the file Extracted_Features_with_BN-TIN-Transformer.zip in the CSL-Daily dataset.


Packit SRPM builds fails due to unexpected argument client_configuration

Trying to build https://github.com/oamg/convert2rhel/pull/138 gives us errors on builds:

SRPM build logs
11:37:26.660 local_project.py  DEBUG  Arguments received in the init method of the LocalProject class:
git_repo: None
working_dir: /sandcastle
ref: None
git_project: GithubProject(namespace="oamg", repo="convert2rhel")
git_service: None
git_url:
full_name:
namespace:
repo_name:
offline: False
refresh True
remote:
pr_id: 138

11:37:26.661 local_project.py  DEBUG  `working_dir` is set and `git_repo` is not: let's discover...
11:37:26.661 local_project.py  DEBUG  Parsed service GithubService(github_authentication=Tokman(instance_url='http://tokman')) from the project GithubProject(namespace="oamg", repo="convert2rhel").
11:37:26.661 local_project.py  DEBUG  `working_dir` is set and `git_repo` is not: let's discover...
11:37:26.661 local_project.py  DEBUG  Parsed remote url 'https://github.com/oamg/convert2rhel.git' from the project GithubProject(namespace="oamg", repo="convert2rhel").
11:37:26.661 local_project.py  DEBUG  `working_dir` is set and `git_repo` is not: let's discover...
11:37:26.661 repo.py           DEBUG  Cloning repo https://github.com/oamg/convert2rhel.git -> /sandcastle
11:37:28.125 local_project.py  DEBUG  We just cloned git repo https://github.com/oamg/convert2rhel.git to /sandcastle.
11:37:28.126 local_project.py  DEBUG  Parsed ref 'main' from the repo <git.repo.base.Repo '/sandcastle/.git'>.
11:37:28.126 local_project.py  DEBUG  Parsed repo name 'convert2rhel' from the git project GithubProject(namespace="oamg", repo="convert2rhel").
11:37:28.126 local_project.py  DEBUG  Parsed namespace 'oamg' from the project GithubProject(namespace="oamg", repo="convert2rhel").
11:37:28.126 local_project.py  DEBUG  Parsed full repo name 'oamg/convert2rhel'.
Checking out PR 138.
11:37:29.252 base_git.py       DEBUG  Running ActionName.post_upstream_clone hook.
11:37:29.252 base_git.py       DEBUG  Running ActionName.post_upstream_clone.
11:37:29.253 base_git.py       DEBUG  Running default implementation for ActionName.post_upstream_clone.
Using user-defined script for ActionName.get_current_version: [['grep', '-oP', '^Version:\\s+\\K\\S+', 'packaging/convert2rhel.spec']]
11:37:29.253 base_git.py       DEBUG  Command handler: RunCommandType.sandcastle

Message: Preparing of the upstream to the SRPM build failed: load_incluster_config() got an unexpected keyword argument 'client_configuration'
Exception: PackitSRPMException("Preparing of the upstream to the SRPM build failed: load_incluster_config() got an unexpected keyword argument 'client_configuration'")
You can retrigger the build by adding a comment (`/packit copr-build`) into this pull request.
Please join the freenode IRC channel #packit for the latest info.

On a sidenote, can we get datetime printed on the SRPM builds and not just time? I can't tell if these logs are old or not without looking at the commits

@SpyTec thanks for letting us know, we hit some problems with our dependencies. The was deployed a few minutes ago. I hope another /packit build should fix that.
Sorry about that.

@SpyTec thanks for letting us know, we hit some problems with our dependencies. The was deployed a few minutes ago. I hope another /packit build should fix that.
Sorry about that.

On a sidenote, can we get datetime printed on the SRPM builds and not just time? I can't tell if these logs are old or not without looking at the commits

A really good point. I'll create an issue for that.

On a sidenote, can we get datetime printed on the SRPM builds and not just time? I can't tell if these logs are old or not without looking at the commits

A really good point. I'll create an issue for that.

Seems to work. Thanks!

Seems to work. Thanks!

Seems to work. Thanks!

No problem.

Seems to work. Thanks!

No problem.


remove heart and comparison icons from top-car-card

See - https://app.asana.com/0/1202525679663009/1202912514217817/f

You can show how the card looks now?


Stronger type-level guarantee for Summary

We knew the summary must always be non-empty, but this wasn't clear from
the types. It wasn't hard to fix that, and this will be helpful in the
hardfork BlockchainTime instance.

bors merge


BYN for Belarus?

Hi,
thanks for such great package.
It seems to BYN currency should be added to Belarus https://en.wikipedia.org/wiki/Belarusian_ruble
Is the currencies referrers to some ISO?
I'll check for BYN then

You are correct. Thank you for spotting this. I will merge your PR and tag a new release :-)

Hmm I also have a lot of other changes.. think I will need to do some trickery here to create both a patch version and a new major version.

1.0.2 has been released.


Mention oneOf, anyOf & allOf in the README

These combinators were introduced in #82.

Yeah, I was thinking of asking about this in #82 but figured it could come later :smile:


can't view the file in summary hub

Thank you for conducting the test. We are now connected to Firebase.
However, the file cannot be opened because it is saved in a local project. Once the file is deleted, it cannot be reopened.


Random Password generator using HTML, CSS and JavaScript

Describe the project you want to add with tech stack
I want to add the project named "Random Password generator".
It is based on HTML, CSS and Javascript.
Please assign this issue to me, I am willing to work on it!
Screenshots (optional)

Additional context (optional )
This project will create a strong password for the user by combining uppercase characters, lowercase characters, numbers and symbols. The user will give password length.

Already present


testing

trying to get react hot reload working in vscode's yarn watch itself.

whats this himanshu?


Either warn or allow for IDs to contain : characters

I was recently building a toy project with Relay and GraphQL where I needed to encode extra information in my global ID. To do this, I decided to add an idFetcher argument to my globalIdField call that returned a string that was delimited by a :. However, this did not work because of how globalIds are deconstructed in fromGlobalId, so instead of getting my encoded ID (e.g. 123:test) I just got the ID part (e.g. 123).
To prevent this confusion, it might be nice to either warn when this happens or use a different strategy in fromGlobalId than split. Here's a performant version that satisfies this use-case:
export function fromGlobalId(globalId: string): ResolvedGlobalId {
  var unbasedGlobalId = unbase64(globalId);
  var delimiterPos = unbasedGlobalId.indexOf(':');
  return {
    type: unbasedGlobalId.substring(0, delimiterPos),
    id: unbasedGlobalId.substring(delimiterPos + 1)
  };
}

Of course, you could also use a regex if you prefer (but I think I like the substring solution):
export function fromGlobalId(globalId: string): ResolvedGlobalId {
  var tokens = unbase64(globalId).match(/(.+?):(.+)/);
  return {
    type: tokens[1],
    id: tokens[2]
  };
}

Let me know what you think. I'll probably just submit a PR for this change for your convenience.

Thanks for the report and patch!


Progress - Story and Guidance

The ProgressBar and ProgressRing controls provide visual indicators to users that something is happening. To quote from the Progress Controls Guide:

The ProgressBar determinate state shows the percentage completed of a task. This should be used during an operation whose duration is known, but it's progress should not block the user's interaction with the app.
The ProgressBar indeterminate state shows that an operation is underway, does not block user interaction with the app, and its completion time is unknown.
The ProgressRing only has an indeterminate state, and should be used when any further user interaction is blocked until the operation has completed.
Additionally, a progress control is read only, and not interactive. Meaning that the user cannot invoke or use these controls directly.

I'm exploring areas we can improve our progress controls by modifying existing controls or developing new ones. @mdtauk has noted the use for adding a determinate (or non-indeterminate) state for ProgressRing in #688. (Also relevant is updating ProgressRing style #837 )
Are there other scenarios that our progress controls are missing?

@mdtauk said the following over in #688 :

It would be good for the design process and rationale to be more open, especially when UWP joins WPF and WinForms as open source presentation platforms. Could the community update the default styles and templates for WPF and WinForms controls to bring them in line with Fabric Web perhaps?

And I am also in favour of taking a look at the disparate expressions of Fluent design which currently exists, and try to unify them in an open discursive and collaborative process.

You could have a ProgressControl with a Shape property and an enum ProgressShape.Ring, ProgressShape.Bar as well as Indeterminate property, and possibly even include paused and error states as is present in WPF.

Why have a Fabric Spinner, an Xbox Spinner, and the Windows dotted ProgressRing - all looking different, but doing the same thing?

Why do the different Progress Bar Indeterminate states have different animations?

WPF and I believe Windows Vista onwards had a Paused and Error state for their Progress Bars.
The WinRT control has ShowError and ShowPaused properties still, but I've not seen any guidance as to how those states should look.

It would be nice to be able to easily integrate a progress control with the task bar icon's state/progress indicators.
It would also be nice to have an option for delayed show, perhaps with a fade in animation, where an indicator would stay invisible even in active state until a certain delay (e.g. 1s), so that for short burst operations the progress UI wouldn't blink.
At one time I was also looking into creating a smart (perhaps AI-backed) progress bar control that would be able to collect statistical data about progress events to reason about expected duration of an operation based on past experience and the timing of data points from a current operation...

Not sure if this is a Progress control, or if it needs to be a new one, whilst matching the visual style of the Progress controls:

It would be nice to be able to easily integrate a progress control with the task bar icon's state/progress indicators.
It would also be nice to have an option for delayed show, perhaps with a fade in animation, where an indicator would stay invisible even in active state until a certain delay (e.g. 1s), so that for short burst operations the progress UI wouldn't blink.
@xyzzer I'm not quiet sure I get what you're saying, could you elaborate more on what you mean? My current understanding is: 1) Have a progress control replace the task bar icon (i.e. a ProgressRing instead of the icon) and 2) delay before a ProgressRing/ProgressBar appears "so that for short burst operations the progress UI wouldn't blink". I'm having trouble understanding the scenarios you're describing for both points - I look forward to your clarification!

@mdtauk Someone else also brought up storage controls as a potential scenario! I will definitely discuss this with our team. Thank you for making the graphics! May I add them to the proposal to show our team?

@kathyang  Any images I post can be used, I am happy to contribute!

@kathyang

@xyzzer I'm not quiet sure I get what you're saying, could you elaborate more on what you mean? My current understanding is: 1) Have a progress control replace the task bar icon (i.e. a ProgressRing instead of the icon)
What @mdtauk said. Have a switch on the control that will make its progress/indeterminate values correlate with the task bar icon values. Not sure if it's feasible without OS-level changes - do UWAs have access to the task bar APIs (other than jump lists)? Can they interact with it when they're not an active/forward window?
2) delay before a ProgressRing/ProgressBar appears "so that for short burst operations the progress UI wouldn't blink". I'm having trouble understanding the scenarios you're describing for both points - I look forward to your clarification!
So, in many if not most use cases, the progress indicator is only displayed while it's also active, but sometimes the operation it's associated with might only last 200ms or 800ms which would otherwise lead to the control quickly blinking in and out of view looking more like a glitch. In past Windows UI design guidelines - there were recommendations for when to do nothing, when to show an hourglass/spinner cursor and when to show a larger progress UI. The current ones aren't as specific, although they do also mention the cursor (you might also consider integrating with that)! The idea I was suggesting is to have a setting in the control that makes it so that when you set it to be active - it remains invisible for the first half second to a second and then it fades in if it's still set as active, so that when an operation it represents is quick - users don't see the indicator blinking in and out for sub-second operations. If it already takes longer than that time - it's also more likely to take much longer, so it should have time to fade in and out. This makes the UI seem less glitchy.

@xyzzer
You may want to fix the formatting of your comment.

Thank you everyone for your help with this, I've started the spec for Progress controls updates (including guidance for different states and modes) here and the PR is here. I'd love to keep getting your thoughtful contributions and feedback on the spec!


Make a v0.4.2 release

Someone should make a release and point that as new default in https://github.com/jupyterhub/binderhub/blob/master/binderhub/app.py#L158.
We should also use this as an opportunity to make sure that everyone has permissions on PyPI and the release process is documented.

I can do this in the next couple of days, though it may make sense for somebody else to do this so we increase the bus factor by more...maybe @betatim wants to help w/ this? Or we can do it at the same time

I'll give this a crack now.

Instead of doing any work, below the tasks that I think need doing.
Pre-release checklist (only needs doing this time):

[ ] email account
[ ] PyPi account for r2d
[ ] configure travis to deploy on tag docs example

Release checklist (every release):

[ ] all PRs merged?
[ ] bump version in setup.py
[ ] bump version in repo2docker/__init__.py
[ ] Draft a new release
[ ] wait for travis and then check PyPi
[ ] Party!

Post release:

[ ] update binderhub builder image spec
deploy mybinder (??)

@choldgraf can you hook us up with an email address that forwards emails to "everyone"? Once that is in place I'll take care of PyPi etc

Hmmm, what do you think is the best way to do this? Use something like
<EMAIL_ADDRESS>On Sun, Nov 12, 2017 at 11:51 AM Tim Head<EMAIL_ADDRESS>wrote:

@choldgraf https://github.com/choldgraf can you hook us up with an
email address that forwards emails to "everyone"? Once that is in place
I'll take care of PyPi etc
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyter/repo2docker/issues/136#issuecomment-343750494,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABwSHdJcKFhL5y2kVhk4-QlfzlTf2QWzks5s1yH4gaJpZM4QZ9Zq
.

I don't think we want to host any email servers under mybinder.org. So it'd be something like<EMAIL_ADDRESS>Perhaps a Google Group set as a 'common inbox'?

That works for me.
On Sun, Nov 12, 2017, 9:54 PM Yuvi Panda<EMAIL_ADDRESS>wrote:

I don't think we want to host any email servers under mybinder.org. So
it'd be something like<EMAIL_ADDRESS>Perhaps a Google Group
set as a 'common inbox'?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyter/repo2docker/issues/136#issuecomment-343796405,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABwSHYlDZKSw5xhIBPQttlLN5AIW2FJKks5s16-AgaJpZM4QZ9Zq
.

Note that there is an issue on warehouse (aka PyPI-next) to have upload token or equivalent to not have to create an account "just" for a package. Maybe we should consider writing that patch to warehouse ?

That would be pretty cool. I had a look around their issues but couldn't find it, do you have a issue number to link?
I assume writing this feature would take more than an hour or two which means getting it merged and deployed will take quite a while. Should we go ahead for the next release using an account and then switch over later?

<EMAIL_ADDRESS>is already taken, I assume that was you @choldgraf ? Can you also create the PyPi account or set the email account up so it forwards stuff.

sadly no :-/  binderproject@ is also taken. I tried looking for a binder of permutations of Binder / project / community / team but had a hard time finding an available handle :-/

there is mybinderproject available...

@betatim now that we have a mybinderteam email, do you want me to share access w/ you? If you use lastpass I can share the password so you can log in that way. Otherwise I can give you the password in some other fashion that will not terrify @yuvipanda :-D

A friendly bump. Do we still want to do 0.4.2 release? Or did we do it and forget to tag?

I'm manually going to make a v0.5 release soon, since we've merged a lot of changes since. I'm happy for others to continue building deploy tooling for automatic releases, but IMO these releases are infrequent enough to be done manually for now. When I opened the issue I assumed someone is just going to do a manual release, rather than spend lots of effort trying to automate them :) however, others here probably have more experience running an actual community of OSS projects, so I'll defer to y'all around automating releases!

soon -> in the new year :)

Let's hold off until 0.5 for releases. if we can. Let's set a date for 3 people to be around when @yuvipanda merges manually so that we can follow the manual process and hopefully document more thoroughly.

@yuvipanda If the consensus now is that we go to 0.5 next, let's close this one.


perf(hash): Use new hash map

implement a faster hashmap
bump to 1.0.0

Please use squash merge to keep the main branch clean.


Apply Shim to Cumulative Death s.t. Latest Observed Equals Latest Model

This code shims the cumulative deaths timeseries in the API so that the cumulative deaths from the model agrees with the cumulative deaths from outside observed sources.
This PR addresses issue https://trello.com/c/ZDNt3or6/247-shim-model-cumulative-deaths-to-observed.
Please Check

[ ] Are the JSON schemas updated?
[ ] Are the api docs updated?
[ ] Are tests passing?

@TomGoBravo can you take a look. The main thing is a feature that shims the deaths timeseries to make sure that observed today equals model today. This was a business requirement that surfaced Wednesday.
In the course of fixing it, I've changed some of the more verbose warnings that are crowding stdout and that no one is using. I've kept the warnings, but not the dataframe dumps.
Finally, there were two changes you recommended on the last PR that slipped through. They've been added here.

And please recommend the most obvious 1-3 test cases for this. I know I should put them in, but I'm too tired at the moment.

Response:
"how you are handling timeseries when the last entry is zero"

I get the latest observed value for cumulative deaths for a given fips. If that is zero or None or np.NaN I don't apply a shim. I do not have access to the timeseries of observed via the accessor I want to call. See the comment above for more information.

"what model_death_ts is returning and how it is being used downstream"

model_death_ts is returning anything in this case in the way I think you're asking. It's the model's estimate for cumulative deaths as a function of time. The FE looks at that timeseries and takes the today+30(use to be 90) value, rounds it to the 1000s and then presents it in the deaths timeseries.


Refactoring of the ControlFlowSensitiveDFGPass

The current implementation is hard to understand and does many things which I cannot explain. This PR aims to simplify the implementation and make the resulting DFG more understandable.

The ControlFlowSensitiveDFGPass is now no longer recursive!
Separate "usage" of a variable from the "DFG" edges
DFG edges now always point to the place where a variable has been written to. No need to go through the refersTo property.

Looks like its looping endlessly now


No Response on Zenodo Download Request

Hi,
I submitted the request in Zenodo for the access to the MedleyDB dataset. However, I didn't get any update after waiting for several days. Could you let me know how to get access to the dataset in Zenodo? Any help would be much appreciated.
Thanks.

It also seems that the GDrive links in the source code are either private or has been since taken down.

@tanvir-utexas Did you get the access to the dataset? Cause I also submitted the request but didn't get any update.


config: fix DisableNamespaceRelocation option clone behaviour

What problem does this PR solve?
Fix DisableNamespaceRelocation option when cloning SchedulerConfig.
What is changed and how it works?
As it is.
Check List
Tests
make test

Actually, this bug is introduced in a PR given by myself... :)


chore: add apple-native, windows-native, sync-secret-service feature in dep:keyring

@race-of-sloths score 5

I am closing this one in favor of #392


NOT TO MERGE: Binary signal payload prototype

This is a prototype of what it takes to support binary payloads in signals.
Only client changes, with small demonstration of changes up to a driver.
This PR will be broken into pieces, and 95% of it will make it to repo (all refactoring that leads to it).
Actual binary implementation will stay for now in the form of draft...
PRs that were forked / extracted from this PR:

https://github.com/microsoft/FluidFramework/pull/20953
https://github.com/microsoft/FluidFramework/pull/20954
https://github.com/microsoft/FluidFramework/pull/20956

@vladsud How about adding addition method or class only to send binary payload which might be efficient in some cases?


Make batch write support spark 2.4

Also fix CI when trying to enable partition table read.

/run-all-tests tidb=release-2.1 tikv=release-2.1 pd=release-2.1

/run-all-tests tidb=release-2.1 tikv=release-2.1 pd=release-2.1

/run-all-tests


#1103592: Add support to more DBs

Align with the support of Mendix CF Builpack
Add MySQL, DB2 and SQL Server
Modify startup script to grab the env var for those dbs

closed until tests available and ok


AWS: Change apiserver to listen on 443 directly, not through nginx

Mirrors changes in GCE.  I think the same changes will be needed for vagrant.
I think this fixes the problem described in #7622, but only for AWS (not for vagrant).  @derekwaynecarr: the changes aren't too bad (trivial, except that you have to make sure you have ca.crt & basic_auth.csv).  A simpler (but shorter-term) fix would be just to change the master port for kube-proxy to 6443, just like we currently do for kubelet.

Fixes #7395.

Thanks @roberthbailey - I had missed that issue.  Perhaps we should have tags for platform-specific issues (e.g. platform/aws platform/vagrant platform/gce)?

LGTM (sorry for the slow review).


fix: Update Transfer category colors

GitHub Issue (if applicable): #2780
Trello Link (if applicable):
Explanation of Bugfix/Feature/Modification:
Override Transfer category text colors to match the rest of the reconciled transaction colors.
Fixes #2780

I'm also not able to reproduce this on main :(


add support for the imap quota extension (RFC 2087)

Here is my first-stab at adding in support for the quota extension (already in imap-proto).
A few things I don't like with it right now.

it exposes some of the imap-proto structs (QuotaResource)

I can create local QuotaResource and map them.

the "getquotaroot" is "fun" as it returns 2 resources, (1) QUOTAROOT and (n) QUOTAs.

The issue here is that I have to run parse_many_into twice to get both resource sets. (unless I just don't use parse_many_into and just duplicate most of that in the method which I may do)
this also causes a difference in response types..  e.g. set_quota and get_quota return a local Quota struct, but I the get_quota_root returns the imap-proto Quota struct (I did not see any easy way to convert ouroboros structs).

Anyways, it's starting point.. Please provide feedback.  (this and #227)  are two pieces of functionality I'll need for the application I'm building.

This change is

@jonhoo a bunch of changes and I applied all your feedback.. the result is much cleaner IMHO that the first draft.
And once #228 is merged in I'll add more integration tests..

@jonhoo once #227 is merged I'll rebase this and apply the same changes to this branch.

@urkle #227 is now merged :tada:

@jonhoo fixups pushed and your comments have been either fixed or replied to (For further discussion)

Oops, yes, completely forgot about those! My bad. Oh well, not the end of the world 😅


Create Hyderabad-India-CDKGlobal.json

For GDCR-18 at CDK Global, Hyderabad, India

Welcome @deepeshpatel , have a good one 🎉


Update SVG DPI to match CSS standard.

This is a change applied automatically upon opening an SVG document using Inkscape
0.92 or later. Explanation here: https://inkscape.org/en/learn/faq/#dpi_change

Why did document DPI change in Inkscape 0.92?
To prepare objects whose size is given in physical units like inches (in),
millimeters (mm) or point (pt) for rendering on your computer screen, Inkscape
needs to know the conversion factor from these "real world" units to the purely
digital size of a pixel (px).
Earlier versions of SVG and CSS specifications did not define a fixed conversion
between those units. It was basically up to the application to determine
something useful and - short of requiring users to measure the actual physical
size of one pixel on their monitor - a common approach was to define a "pixel
density" of 90 dots per inch (DPI), i.e. a pixel is fixed to be 1/90 inch in
size. Inkscape 0.91 and earlier followed this approach and used a fixed value of
90 DPI for the conversion.
Recent versions of the CSS specification changed this detail as it turned out to
be impractical: conversion factors varied widely across different systems and
applications and they often used "arbitrary" fixed conversion factors of their
own choice. To unify behavior, a pixel density of 96 DPI is now the universal
standard which is followed by all web browsers and is also part of the upcoming
SVG2 standard.
In order to match the rendering of browsers and become compatible to SVG2,
Inkscape has adjusted the pixel density used internally from 90 DPI to 96 DPI.
While this ensures that your artwork will always look the same, regardless how
or where it's shown, it also means that old documents have to be scaled if their
size should stay identical:

a document that is 90 pixels wide had a physical width of exactly 1 inch in
Inkscape 0.91 (90 px / 90 DPI = 1 in)

the same document will be 6% smaller in Inkscape 0.92 (90 px / 96 DPI = 0.9375 in)

Thanks!


pull request for e2e test at 01/28/2017 05:45:19

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Un-elide lifetimes assist

IntelliJ has this nice feature that allows one to turn
fn f(&self) -> &str

into
fn f<'a>(&'a self) -> &'a str

(and vice-versa as well I think, not entirely sure on that one)
I think having this in RA would be a nice addition

The lifetime elision rules are described in RFC 141

Even without an assist to modify the code, it would be helpful to toggle annotations for elided lifetimes on and off.

Ooh I like the annotations idea 👍

This would be really helpful in debugging complex lifetime issues and requirements, where elision often "blinds" me to something that can look fairly obvious.


Security: Github Scrub Sensitive Data from History

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository
Recently we had a security breech where Vetext related secrets were stored in code. We need to scrub these from history.
Whoever takes this ticket, please reach out to Jacob to ask what data we're scrubbing. He will send through keybase

[x] API Repo history has been scrubbed
[x] Document any learnings in case we need to do it again
[ ] Any ideas for how we can prevent making this mistake in the future?
[x] Coordinate and schedule all engineers re-cloning the repo

Refer to this for the recommended process to handle removing secrets from commit history.
This BFG Repo-Cleaner tool seems to be the recommended way to do this properly.
@EvanParish talked with the security team yesterday and they said they found our leaks using "DART".  I want to look that up and see if it's a tool or group and find a way to incorporate that into our commit process.

Refer to this for the recommended process to handle removing secrets from commit history.
This BFG Repo-Cleaner tool seems to be the recommended way to do this properly.
@EvanParish talked with the security team yesterday and they said they found our leaks using "DART".  I want to look that up and see if it's a tool or group and find a way to incorporate that into our commit process.

@kalbfled I was thinking you could take this and ask Jacob if  you need any help. Thoughts?

When you are ready to scrub, I will provide the strings to look for via secure messaging (i.e. KeyBase)

Hey team! Please add your planning poker estimate with Zenhub @cris-oddball @EvanParish @ianperera @jessecanderson @k-macmillan @kalbfled @trevor2718 @jakehova

I created a test repo to try out the BFG Repo-Cleaner tool and it seems to work in a fairly straightforward manner. I then pulled a copy of our repo and tested it with the values provided by Jacob and it seems to have removed them when I check the history.
A time has been scheduled for everyone to have their code in a good state so we can get the secrets removed and have everyone pull down a new copy of the repo.

This morning I tried to push the local, cleaned, copy of the repo up to the remote. This resulted in errors you can see below. It seems that elevated permissions are required to use the git push --force command on this repo. After speaking with Jacob it seems that we may need to contact GitHub support and have them remove some of our PRs from history as well to make sure all traces of the secrets are gone.
remote: error: GH006: Protected branch update failed for refs/heads/master.
remote: error: Cannot force-push to this protected branch At least 2 approving reviews are required by reviewers with write access.

I created a glossary doc explaining how to go about cleaning the git history.
I also wrote a script to check the contents of the diffs for all of our PRs using the GitHub CLI so I could find any PRs that contain sensitive data.

Met with Kyle to finish removing secrets from the repo.


.Site.DisqusShortname error

Running hugo server produces this error:
ERROR deprecated: .Site.DisqusShortname was deprecated in Hugo v0.120.0 and will be removed in Hugo 0.135.0. Use .Site.Config.Services.Disqus.Shortname instead.

Hi @tjfinney, this was fixed 10 months ago. Please update your theme integration. If you have problems doing that feel free to use the Discussions Section to get help.


Expand details on how to keep the configuration.js file secure

The configuration.js file is currently created at the root of the directory of new instances of the dctrl-admin app, as described in the README.md.
We are aware that the information in this file is sensitive. As we encourage other communities to create new instances of the app, we should show them how to best handle this file, and the information in it.

The following details may be relevant to a new instance:
[ ] - how to properly use the local bitcoind wallet to generate the secrets
[ ] - How to properly use a physical hardware wallet (Trezor, others) to properly secure the secrets


[apostrophe-areas] If a singleton that was already on the page before refresh is trashed, the Create Singleton controls don't come back until page refresh.

Fixed in 345f96f


launch kubectl terminal connecting

This request respose 400

Describe your issue here

Useful
Info

Versions
Rancher v2.0.8 UI: v2.0.67

Access
`` admin

Route
authenticated.cluster.nodes.index

Can you describe the steps to reproduce as described in https://rancher.com/docs/rancher/v2.x/en/contributing/#bugs-issues-or-questions?
In this case, what kind of cluster? I also see nginx/1.12.2, how is it installed, with what config? Does it work without nginx?


Change default assignee for issues

Change default assignee for issues and bugs to @chasefleming

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Codecov Report

Merging #1163 (af59da3) into master (103fe31) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head af59da3 differs from pull request most recent head 2fd393c. Consider uploading reports for the commit 2fd393c to get more accurate results

@@           Coverage Diff           @@
##           master    #1163   +/-   ##
=======================================
  Coverage   38.43%   38.43%
=======================================
  Files          38       38
  Lines        1941     1941
=======================================
  Hits          746      746
  Misses       1107     1107
  Partials       88       88

Flag
Coverage Δ

unittests
38.43% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Handle primed expressions correctly

See simple failing spec.

Partially implemented in d7f4719.
See failing case of unchanged.


refactor(Transformation): convert multipliers to be aggregators - fixes #217

The various Multipler transformations now extend CollectionAggregator
as multiplication is an aggregate function across a collection of
values.
Now it's possible to multiple a range of float/vector2/vector3 values
as they extend the base aggregator.
The prefabs have been updated and the general rule is the dynamic
multiplication value is always index 0 and the multipler is always
set to index 1. This way the event updating the dynamic value never
has to bother setting the current index in the collection.

Force pushed the changes


Time before trollface customization

I have no experience at programming, so an issue is added.

You can already change the time in config.json but if you have pick_random_audio on config.json it will use the timestamps from audio.json instead


Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
https://docs.appsmith.com/product/security
Discord/slack/intercom Link
https://theappsmith.slack.com/archives/C03C1PPUHDW/p1689767536464499
Describe the problem and improvement.
The security doc is outdated. Update the parts or the whole doc as needed.

Notion


Cancel Square orders if an incomplete payment is deleted

Set state to CANCELED https://developer.squareup.com/reference/square/orders-api/update-order
Might help if someone keeps the Square link for some reason

@kberzinch
Can I work on this issue?

Hi @sukuasoft, yes, the same requirements apply for this issue.

@kberzinch  Good, then I'll start working on this issue
@aoscode


Initial values arent loaded when starting tina in enabled mode

Description
Initial values arent loaded when I start tina with enabled: true or cms.enable() just after defining cms. To be specific, I'm using group-list field.
If I do setTimeout(cms.enable, 1) it works like a charm but it feels hacky.
Also I'm using react-router, so it may be the case.
Steps to reproduce

Initialize tina with enabled: true
Create a group list field with any inner field
Create async loadInitialValues () {} with some data
Open the site and see the CMS not loading those values

Expected result
Should load values into CMS
Actual result
I'm able to render the values in the view but CMS is not doing that until I refresh it by either adding a new item or changing the path to another page and back
Environment
Tinacms Package Versions

├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>│  ├─<EMAIL_ADDRESS>

Tools

Tool
Version

browser
Chromium and Firefox

os
Archlinux

node
14.13.1

yarn
1.22.10

Any public repository where we could reproduce this issue?

I'll create one tomorrow

@DirtyF https://github.com/wvffle/tinacms-issue-1551-demo
It turned out that it's caused by the screen plugin having another group-list in it.
Am I doing something wrong or is it a bug for real?

We'll have a closer look later. For now, our core team is focused on shipping the media manager 😅

@wvffle since you're not fetching data asynchronously in your demo, you can just use initialValues.

@kendallstrautman I know though I'll fetch it in the future. It should not make a difference

@wvffle I pulled down that demo repo to test against our latest prerelease, but I don't think I'm seeing the described problem even when using 0.31.0. All the default data returned by loadInitialValues is being rendered in the view correctly.


Fail to join / share

Issue Type: Bug
After installing liveshare extension, nothing happens when I try to share or join a session. And there is no liveshare icon on the task bar. I've been trying to repair install, but still not working. Really need help on this
Also got this in the dev console
mainThreadExtensionService.ts:95 Activating extension 'ms-vsliveshare.vsliveshare' failed: connect ENOENT /private/var/folders/py/q9dzhksd52n4qvtggh6fnr8r0000gp/T/CoreFxPipe_vscode.dcb99cd5241a69e9896669089ada266b.
Extension version: 1.0.4419
VS Code version: Code 1.57.1 (507ce72a4466fbb27b715c3722558bb15afa9f48, 2021-06-17T13:28:32.912Z)
OS version: Darwin x64 20.5.0
Restricted Mode: No
There are my logs If that helps
logs-liveshare.zip

Thanks @bebz229 . We'll take a look at this one!

The same is happening to me

Apologies for the delay here. As is, this issue doesn’t have enough information to be reproduced. Please reopen if the issue persists with any additional details. Thank you.


Import assert function directly

This changes one remaining occurence from
import asserts from './asserts.js';

to
import {assert} from './asserts.js';

and gets rid of the following warning:
WARNING in ./src/ol/extent.js
491:4-11 "export 'default' (imported as 'asserts') was not found in './asserts.js'
 @ ./src/ol/extent.js
 @ ./test/spec/ol/extent.test.js

Please review.

Thanks for the review, @ahocevar

Thanks Marc


prefix only works if on the same line

In a project I work on there are AMD modules like so:
define(
  [
    'foo/bar',
    'bar/baz'
 ],

 function (bar, baz) {
 }
)

FFP does not trigger with this style of define. I have to write the string on the same line as define for it to trigger. I can manually trigger it with the key command, but then my custom replace operation does not fire for the scope.
This may be difficult to fix, but it is an issue.

There are two options that you can do right now

Extend to your Language file to add a unique scope for the import statements (i.e. foo/bar)
Add a custom shortcut with your required replacements (see the examples)

I will see what would be possible within the plugin. Parsing multiple lines would be an idea, but performance on auto-completion is critical. The real limitation are the too generic language files, thats why the triggers and parsing of context is required as a workaround.


Fix error on LspAttach

It's not clear if this is the correct ID, but there's no data table on args so it crashes on LspAttach. This makes it go away, but I haven't validated that it doesn't break other behavior.

there must have data its your plugin management error


Long转换错误 #2418

Closes #2418

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


[Suggestion] github bug reports and feature requests template enhancements

Is your feature request related to a problem? Please describe.
I see a lot of people creating duplicate gh issues. This could be prevented by adding a simple request in the gh issue template.
Describe the feature you'd like
A simple message will be added on top of the current gh issue template:

Before making a suggestion/Bug report, make sure no one else has created a similar issue before. If you have anything to add, kindly head to the corresponding issue page and add a comment/reaction. This make everything organized and make the lives of the developer much easier. Thank you for your help at making BBD better :D
You may delete this text before submitting the issue

Additional context
None

Also, I want to say thank you to the amazing developers who maintains this project. This is definitely one of the most useful projects on github.

@rauenzi thank you for your feedback but that is not what my issue was about. Please consider taking a moment to read my suggestion when you're done handling BD restructuring. Thank you for your work :)

Sorry for misreading, I ended up just spamming through all the duplicates.
Unfortunately knowing the "community" around this project, I don't believe having a message there to check for duplicates will cause them to do anything. However it is probably good practice to add nonetheless

Issue templates have been refreshed


IOS Review the problem

tdlib ，How do we provide him with his mobile phone number when he logs in? Because he had to accept a captcha

You can provide a way to log in in test DC using a test account: https://core.telegram.org/api/auth#test-accounts.


Transport eror

Hello
I'm getting an error when trying to connect to the Streamedian service from a page with SSL. I've converted the socket address to wss and I'm getting a transport error. Besides converting it to wss, is there anywhere else I need to make adjustments?
var continuousRecording = false;
var playerOptions = {
socket: "wss://<IP_ADDRESS>:8088/ws/",
redirectNativeMediaErrors: false,
bufferDuration: 30,
canvas: 'video_canvas',
dataHandler: dataHandler,
continuousFileLength: 180000, // 3 minutes
eventFileLength: 10000, // 10 seconds
errorHandler: errHandler,
};

While the SSL is not active on the website, I can watch the security cameras without any issues.

When I enable SSL and set it to WSS, I get the following error. What could I be doing wrong or missing?
I installed Streamedian WS RTSP Proxy Server 3.3 on Windows Server 2022


How to implement a "Jump to Bottom" button?

Is there an existing way to detect that the viewport of the message list is not at the bottom to be able to display a "Jump to Bottom" button?

@KDederichs Yeah, good point. I thought there was access to the raw DOM methods but it looks like it's some kind of React wrapper.
What you could do is just use a getElementById to grab the messageList in your useEffect when a message comes in, and then you'll have access to all your regular DOM instance properties. It might be the child of the MessageList that you want -- the scrollbar-container I believe it is.

Kind of works yeah, though since it's an inner component you can't just slap an ID on it.... you actually have to do
document?.getElementsByClassName(
    'scrollbar-container',
  )

and then take the fist one in there to get it... little bit annoying.
Well next thing to figure out would be how to properly keep the view position when adding elements to the top but tbh that's its own issue.

Solution @supersnager , worked

First, create a ref to hold message list
const getListRef = () =>   document.querySelector(     ".cs-message-list__scroll-wrapper"   );

Second, create a state to hold if scroll is bottom
 const [isScrollAtBottom, setIsScrollAtBottom] = useState(true);

Next, using useEffect to hacky onScroll event for message list
useEffect(() => {
const list = getListRef();
if (list) {
list.addEventListener('scroll', handleScroll);
}
return () => {
if (list) {
list.removeEventListener('scroll', handleScroll);
}
};
},[ document.querySelector(
".cs-message-list__scroll-wrapper"
)])

Final, write a handleScroll function to logic check
const handleScroll = (event:any) => {   const list = getListRef();   if(list) {     if (Math.ceil(list.scrollTop) + list.clientHeight >= list.scrollHeight) {       setIsScrollAtBottom(true);     } else {       setIsScrollAtBottom(false);     }   } };


_1password-gui: 0.9.9-3 -> 0.9.10-5

Motivation for this change
Changes:
https://releases.1password.com/linux/0.9/#1password-for-linux-0.9.10
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110865 run on x86_64-linux 1

1 package built:

_1password-gui

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110865 run on x86_64-linux 1

1 package built:

_1password-gui


Added link to Cal Trustworthy Deep Learning course

CS 294-131: Trustworthy Deep Learning (Special Topics in Deep Learning)
https://berkeley-deep-learning.github.io/cs294-131-s19/

Thanks for contributing @mosew !


net/zerotier: Prevent invalid 'local.conf' on initial save.

There is potential for an invalid local.conf to be written out during first
save. Whilst it doesn't stop Zerotier from starting, it does cause it to
return a 1 as an error code, thus fooling configd that the service has failed
to start. Adding in a default '{}' resolves this issue.
-=david=-

Storing an empty "encoded" default is debatable, it would be better to treat "" as "{}" internally or gracefully skip JSON parsing in those cases to avoid API errors.


Rename jobid

This PR renames the parameter "jobid" to "request_id". It is applied to mvg and plotting files mainly with just some minor changes to the jupyter notebooks.
No feature documentation (description) or tests files were modified.

Had one failed run, probably due to concurrency issues. Rerunning passed as expected.


Update default node runtime for CallbackFunctions

What happened?
CallbackFunctions created via lambdaMixins use Runtime.NodeJS12dX as their default. Lambdas with this runtime cause an email to be sent from AWS, with this content:

We are contacting you as we have identified that your AWS Account currently has one or more Lambda functions using Node.js 12 runtime.
We are ending support for Node.js 12 in AWS Lambda. This follows Node.js 12 End-Of-Life (EOL) reached on April 30, 2022.
As described in the Lambda runtime support policy, end of support for language runtimes in Lambda happens in two stages. Starting November 14, 2022, Lambda will no longer apply security patches and other updates to the Node.js 12 runtime used by Lambda functions, and functions using Node.js 12 will no longer be eligible for technical support. In addition, you will no longer be able to create new Lambda functions using the Node.js 12 runtime. Starting December 14, 2022, you will no longer be able to update existing functions using the Node.js 12 runtime.
We recommend that you upgrade your existing Node.js 12 functions to Node.js 16 before November 14, 2022.

https://github.com/pulumi/pulumi-aws/blob/91d648e705ff68105bce2092ed34431451c667e6/sdk/nodejs/lambda/lambdaMixins.ts#L349
This default should be updated to Runtime.NodeJS16dX before 2022/11/14.
Steps to reproduce
Create a CallbackFunction without providing the optional runtime arg.
Expected Behavior
No warning emails should be sent by AWS.
Actual Behavior
The above warning email is sent by AWS.
Versions used
No response
Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@pulumi/platform-providers
I'm not sure if this needs to be a P1, but it looks like this will break completely starting on November 11, 2022


Minting error

https://vercel-homie-app-lehdbkdwg-lucastoian.vercel.app/
when I click on the Mint button ..nothing happens
what causes this problem?

the transaction price is not even updated

I don't think it's a front-end issue, have you tried using the mint token command directly from the command line? If you did, did it work?

can you use this minting site without an rpc?

This is the error I encountered too when trying using official candy-machine-ui from metaplex

I solved.. the problem was in the config.json file of metaplex
now it work:https://www.radiolazyclub.com/

Hello? What specifically? Can you share your config? (without the important addresses of course)

So for anyone experiencing this, it is the whitelist in config.json .. Your wallet address should have the whitelist token if it is enabled or simply set it to null to allow any wallet address to mint


focused state doesn't change

I'm rendering my scenes in a dedicated component for it and I want to know which tab is currently in view, but the focused state always stays the same and does not get update while navigating between tabs.
And to add to that, how to pass on props to the scene without rerendering the scenes?
Current code
<TabViewAnimated
  ref="animatedView"
  navigationState={this.state.routes}
  style={styles.container}
  renderScene={this.renderScene}
  onRequestChangeTab={this.handleChangeTab}
  onChangePosition={this.onChangePosition}
/>

renderScene(route) {
  return <StackNavigator route={route} />
}

And want to do something like
<TabViewAnimated
  {..other stuff}
  renderScene={(route) => this.renderScene(route, this.state.inTransition)}
  {..other stuff}
/>

renderScene(route, inTransition) {
  return <StackNavigator route={route} inTransition />
}

Any solution for this?

Hi @iremlopsum! You can use onRequestChangeTab prop to detect the current tab. About your second question: you can handle this with React's shouldComponentUpdate() for instance.


[WIP] Foxx tweaks

General cleanup of Foxx internals.
Biggest change being that Foxx mostly foregoes the low-level routing. This may or may not be a good idea but should eventually allow us to reload services in a more granular way.

We're pleased to anounce that ArangoDB 3.2 containing this is now available for download - Closing.

@pluma: what is the state of this PR? will you update it, or will you close it? It's unclear to the rest of us.
Thanks!

I'm closing this as the PR tries to address too many things at once and has become unsustainable.


Tanzania North crop mask

Key tasks:

[x] Verify the quality of Tanzania labels (set 1, set 2) on CEO
[x] Train a model using Tanzania data for evaluation
[x] Use Tanzania model to create a crop mask for North Tanzania

Completed!
View in EE here

Reposting slack message here:
Looks pretty good upon visual inspection

Water bodies are classified as non-crop
The crop % seems to be around half which is close to recent estimates
Some cropland is missed on the East
Kilimanjaro is correctly classified as non-crop 🏔

Looks like many of those missing values you got were in the ocean
I also see a decent amount of ERA5 looking grid artifacts, so next step would be to retrain the model with the skip_ERA5 argument and rerun predictions. This time the data is all already exported so no need to wait for Earth Engine.

Pull request for the skip_ERA5 model (https://github.com/nasaharvest/openmapflow/issues/66).

Tanzania North 2019 (skip ERA5) crop mask view here.

Tanzania North 2019 (skip ERA5) crop mask view here.

The script has an issue: Line 1: image2 is not defined
Could you also add both results to the same script so we can compare?

Sorry about that; here is the updated link.
With both results, you mean with and without ERA5?

Yes both with and without ERA5

You can compare both result here

@ivanzvonkov The updated comparison view is here.
I will mosaic the multiple rasters generated for each model if needed in another issue.

Excellent! Looks like there are some more fields found in the North East now and a lot fewer grid artifacts.
I didn't realize that the f1-score is also higher when skipping ERA5! 🤔
https://github.com/nasaharvest/crop-mask/blob/494d1d1d7e21dff64e2fcafe2e12887f6d680e7d/data/models.json#L87
@gabrieltseng @hannah-rae interesting result here!

Reviewed and ready to merge with Tanzania South

Excellent! Looks like there are some more fields found in the North East now and a lot fewer grid artifacts. I didn't realize that the f1-score is also higher when skipping ERA5! 🤔
https://github.com/nasaharvest/crop-mask/blob/494d1d1d7e21dff64e2fcafe2e12887f6d680e7d/data/models.json#L87
@gabrieltseng @hannah-rae interesting result here!

What is the following line of action with this? Is there a conclusion on the performance of with/without ERA5 based on other models trained? Moving forward, which model versions should be used for the final merge of both Tanzania North and South?


[PrintAsObjC] Don't warn about inferred '@objc' in Swift 3 mode.

Only do so in modes where @objc is inferred but we're supposed to warn about it. Neither plain old Swift 3 nor plain old Swift 4 are in this state, but we have frontend options that allow us to set that up for migration purposes.
rdar://problem/32284936

@swift-ci Please smoke test


upgrade github.com/gorhill/cronexpr lib

Required for all non-trivial PRs

[ ] Rebased/mergable
[ ] Tests pass
[ ] CHANGELOG.md updated
[ ] Sign CLA (if not already signed)

Required only if applicable
You can erase any checkboxes below this note if they are not applicable to your Pull Request.

[ ] TICKscript Spec updated

upgrade github.com/gorhill/cronexpr version

fix bug https://github.com/influxdata/kapacitor/issues/2350

this issue lead kapacitor can not start up

Hey @wuguanyu thanks for this PR, but for us to accept this change you would need to update the Gopkg.toml and Gopkg.lock.  I can do this for you, or you can if you want?

Hey @wuguanyu thanks for this PR, but for us to accept this change you would need to update the Gopkg.toml and Gopkg.lock. I can do this for you, or you can if you want?

Sorry Can you help me change update the Gopkg.toml and Gopkg.lock

Will do!


Add Unit Tests for args.cpp

Right now there are no unit tests for args.cpp. Unit tests are needed to make sure the interfaces for all the classes responsible for parsing the command arguments coming from the client are maintained. Use the Catch2 framework and follow the example set by the core unit tests. Make sure each function of each class is thoroughly tested such that any changes to the implementation which could effect the interface are caught.

Can you assign this to me?
@QDL123


fix: improve connection tracking

Previously, peer-mux-established and peer-muxed-closed events were being fired anytime a connection was created or closed. The problem with this is that if you happened to have 2 connections to a peer and only 1 of them closed, the closed event would fire, causing the connection manager to believe that peer no longer had any connections. This would result in the connection manager believing there were way fewer connections than actually existed.
This PR moves the emit events and PeerInfo.disconnect calls into the switch.connection class. When connections are added and removed it will check to see if there are any additional connections to that peer. This way, we only fire events when changes actually occur.

I left a couple of questions in the code but in general it seems like a much more reliable way of doing things to me 👍

LGTM 👍