Supporting Authorization Flow (App Model)

Draft Design Notes:
A re-skin of the API Services Portal to support Application RBAC.
RBAC
RBAC: Role-based access control using the standard Client Roles

Change the labeling from API Services Portal" to "App Store"
When Oauth2 Authorization Code Flow is selected, it has to choose an Authorization Profile setup for this type of flow, and then the Plugin has to be updated to handle the authorization and reverse proxying. There will be a client id ("app-" + env.appId) and client secret that will support the OAuth and it will need to be generated for the Product Environment. This should be automatically created on update, once and displayed for copying. The Plugin Template will reflect that information - can do Role validation on Service/Routes if necessary. The Roles defined in the Authorization Profile will be used to create for the Client.
User requests access; update to not show Application as it is a user-based request; no credentials to collect - still need to click "Generate" for now
When an Access Manager goes to the Consumer, they will view/update the Roles based on the Product/Environment Client Roles
When a user logs in, they will be authenticated against the Client using the oidc plugin, and Consumer verification (TBD)?

No changes on the Authorization Profile is required, although the identity linking Client is created on the IdP.

UMA2
UMA2: Supporting UMA2 is a bit more involved - this is the case where the Resource Server has another set of Client credentials that are used to hold the Authorization resources and policies. This could be generated from the Authorization Profile. A "Portal" client is also created on the Realm as a Client to allow an Oauth2 flow, so that the Portal can get an access token to interact with the Resources owned by the Consumer (the Subject Token). The "Manage Resources" will first redirect to the IdP to authenticate and return with a code for retrieving an Access Token. The Access Token can be saved in the user session while interacting.

The "Manage Resources" will do a redirect to the IdP and handle the Callback to store the Subject Token in the Session; maintain list Brokered Identities for user
Validate Manage Resources still works

Will need to show how the Resource Server can be protected and how it can interact with the IdP using the "my-auth-profile-authz" to create/manage resources.
Additional Claims
Authorization Profile currently has an optional Audience as an additional claim. This is added to a Client Protocol Mapper, where in the case of a Client Credential, gets used as a hardcoded claim added to the Access Token.
In the case of an Application for SSO, these could be more sophisticated as they could provide different Mappers to include existing User Attributes. This could be further extended to allow these attributes to be administered for the Consumer via the Access Manager page.
Sub tasks:

[ ] Design spike for backend
[ ] Reference App (https://github.com/bcgov/aps-reference-app)
[ ] UX updates
[ ] Implement business rules
[ ] Unit tests
[ ] Implement UX updates

Changes:

User Profile - Show/Delete Linked Accounts
Authorization Profile - Authorization Code Flow generate Authz IdP broker
Product Environment - Display/Re-gen Client ID / Client Secret for Application
Request Access - Select / Link Identity

Feature branch testing: https://api-services-portal-feature-auth-code-flow.apps.silver.devops.gov.bc.ca/


Running on Windows

According to this nvidia-docker is not supported on windows even with a linux container. So is it not possible to run this on windows?

No. Your best best will be to run a Linux VM.
On Sat, 14 Mar 2020, 16:34 nedhulseman<EMAIL_ADDRESS>wrote:

According to this nvidia-docker is not supported on windows even with a
linux container. So is it not possible to run this on windows?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/martinbenson/deep-photo-styletransfer/issues/45, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5NROG3CJTW4GW37K6ADA3RHOW2HANCNFSM4LJLRVZQ
.

Great, thanks.


C8 api tutorial

Drafted tutorial for https://github.com/camunda/developer-experience/issues/335.

@tmetzke You can take a look at how we draft the API tutorials here. There are still details/variables I need to add, but I am stuck on deploying the resources.
I couldn't find any good examples of this, particularly resources binary[] -- do we need the name and content or just the contents of the file? What does this look like?

@nicpuppa, could you help @christinaausley here maybe? You have implemented many of those endpoints and may actually be closer to the examples still than I am. I can otherwise look into this as well, just let me know.

@tmetzke I don't have time this week to look into this, is it ok for you @christinaausley if I look at them next week ?


SMTP configuration for pinpoint alert

Dear ,
I want to configure SMTP configuration with Pinpoint alert , what is steps or any document for SMTP configuration for linux machine .
Pinpoint version: 1.6.2

Please ref https://github.com/naver/pinpoint/blob/master/doc/alarm.md.
Now email sender did not exist, We are consider adding default email sender with smtp.


Devices with a landscape default orientation

https://api.flutter.dev/flutter/services/DeviceOrientation.html
According to the Flutter official documentation, the default orientation of a device is defined as the orientation in which its boot logo is displayed upright. In other words, the default orientation of most TV devices (and some common devices) is technically landscapeLeft, but we're currently assuming that the default orientation of a device is always portraitUp regardless of the actual screen size.
A correct implementation will be like this: https://github.com/swift-kim/embedder/commit/4bf08c8531cd3226a72cad8f9df269e1dcb4994a
However, applying this change will break some (cross-platform) apps and packages which are developed only for mobile and always assume portraitUp as a default orientation (example: youtube_player_iframe). How should we deal with this problem? Should we apply the patch anyway?

https://api.flutter.dev/flutter/services/DeviceOrientation.html

According to the Flutter official documentation, the default orientation of a device is defined as the orientation in which its boot logo is displayed upright. In other words, the default orientation of most TV devices (and some common devices) is technically landscapeLeft, but we're currently assuming that the default orientation of a device is always portraitUp regardless of the actual screen size.

According to flutter documentation you mentioned, the default orientation has nothing to do with aspect ratio.
How about using TV_PROFILE macro since the normal case is portrait and for TV's logo orientation is landscape.

@JSUYA Please understand the definition of the words "portrait" and "landscape" and read the documentation again. Also please refer to https://api.flutter.dev/flutter/widgets/MediaQueryData/orientation.html.

Application can resize size . If we run a 400x300 flutter application(platformview or multi windows...) on a screen with a longer height (mobile, portrait), the app will recognize landscape as default. Are you intending this?

Also please refer to https://api.flutter.dev/flutter/widgets/MediaQueryData/orientation.html.

This is the device's screen size.

Are you intending this?

Basically yes. Only the current width and height matter. On Tizen, there's no predefined constant like Android's ActivityInfo.SCREEN_ORIENTATION_PORTRAIT so the embedder should manually compute the current orientation.

This is the device's screen size.

Hmm.. I provided the link because it explains that "landscape" indicates "width > height" by definition. The size in the code refers to the logical window size.
FYI) MediaQuery.of(context).orientation is quite frequently used by Flutter apps to detect the current orientation.


Type error when using strict package manager

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Affected packages and versions
<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Looks like the reference to @types/unist was introduced in https://github.com/syntax-tree/hast-util-raw/pull/17.
Link to runnable example
No response
Steps to reproduce

Create project using hast-util-raw with a strict package manager like Yarn PnP and skipLibCheck set to false.
Type-check using TypeScript.

Expected behavior
No type errors.
Actual behavior
Type error:
ERROR in node_modules/hast-util-raw/lib/index.d.ts:28:28
TS2307: Cannot find module 'unist' or its corresponding type declarations.
    26 | export type Location = import('parse5').Token.Location;
    27 | export type TagToken = import('parse5').Token.TagToken;
  > 28 | export type Point = import('unist').Point;
       |                            ^^^^^^^
    29 | export type VFile = import('vfile').VFile;
    30 | /**
    31 |  * Configuration.

Affected runtime and version
N/A
Affected package manager and version
No response
Affected OS and version
No response
Build and bundle tools
No response

You’re right, this should be an explicit dependency. Would you like to add a PR for this?

https://github.com/syntax-tree/hast-util-raw/releases/tag/9.0.1


HHH-9965 Pagination ignored on collection fetch join: Add the ability to throw an exception instead of logging a warn

https://hibernate.atlassian.net/browse/HHH-9965

This does not warrant a new configuration property. You should see the warning and be able to make corrections to your application before going into production.


I miss info about encryption and a security risk discussion

I am missing information needed to understand security risks of backing-up the authenticator's security data to a cloud.

Whether and how are the data secured/encrypted in cloud so only the original author can decipher them
A discussion about the security/privacy risks connected with saving these only-I-should-know/have data onto third-party (Microsoft's/Apple's) servers

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8b52a210-1be6-4e5f-d95c-8ea7b87919ca
Version Independent ID: 02a43ebb-7471-d7ff-4f7e-84c9f7a66326
Content: Backup and recover with Microsoft Authenticator app - Azure Active Directory
Content Source: articles/active-directory/user-help/user-help-auth-app-backup-recovery.md
Service: active-directory
Sub-service: user-help
GitHub Login: @eross-msft
Microsoft Alias: lizross

@mcetkovsky  @neeleshray-msft  Thank you for taking the time to comment.  We typically don't provide details around encryption and security risk for legal (if we miss something or say too much) and for protective (so hackers can't reverse engineer things) reasons. But in this case, we're working with the product group to see if there's more that we can share. The piece that I can share with you now is that we encrypt your data using your personal Microsoft account. Beyond that, we're trying to determine how much we can say, but we should be updating the documentation in the future.
#please-close

I'm sorry to comment on a closed issue, but I came here to report something very similar and I believe further clarification of the original submission is needed.
I am also hesitant to use your cloud backup because the documentation doesn't provide enough information for me to know whether Microsoft itself could decrypt my backup.
For example, when I synchronize Chrome with my Google Account, there is an option to use a personal passcode/seed for the encryption, that is only ever known by me. In this circumstance, I am warned that unless I have this passcode, not even Google will be able to recover my encrypted stored information (such as passwords) I'm okay with this risk. I have other ways of ensuring the security and longevity of my chosen passcodes.
I elect to do that because if someone managed to hack into my Google account, they still wouldn't have access to my saved passwords (or even my favorites, to know where I have accounts), without that passcode that is only known by me. I use a very long string of random (unicode) characters for that passcode, so there is very little chance of someone cracking that information.
We all understand the need to keep security details about how the Microsoft Authenticator encrypts backup data, to a minimum. However, the existence of an option such as this, would make many of us more security minded individuals much more confident in the security of our backups and wouldn't be giving out too many details about the encryption of the data.
I would feel better about using the Microsoft Authenticator, if this sort of private encryption could be used prior to the backup process.
Then.. Even if someone managed to social-engineer their way into my account, they wouldn't be able to use those stored credentials.


Set up pipeline for a Spring program

Current program - link
Issues about the program

https://github.com/objectionary/opeo-maven-plugin/issues/200
https://github.com/objectionary/jeo-maven-plugin/issues/548

@yegor256, @volodya-lombrozo, I need help with this issue.
What should I do to get PHI code from this Spring application?

I have configured the full pipeline for the Spring Boot Application transformation here. You can find the documentation in the README.md file (please create an issue if something is unclear.) However, it is still unfinished, and I am working on it. What is most important for the current issue is printing PHI expressions. I plan to add this as soon as possible. You can check the progress here.

@volodya-lombrozo, when approximately will the pipeline be ready?

@deemp, I hope I will finish with this issue by the end of this week.

@deemp, I've finished with the printing PHI expressions for Spring app (at least in some preliminary way.) Here I described how you can run the pipeline that will generate PHI expressions for some bytecode classes. If you have questions, please, don't hesitate to ask. Also, I should warn you, that it's the first step and the representation will be definitely changed, so It's dangerous to relay on it.

@volodya-lombrozo, thanks for the notification. We'll check and decide whether we can work with that.


small log typo fix

fixed small typo in error log message

Nice. Good watching out!

Just happened to notice it in that issue that came up in #community. I'm sure there's more out there!


Problems with ReactDOM.findDOMNode()

I am getting this error:
Invariant Violation: Element appears to be neither ReactComponent nor DOMNode (keys: value)

When I am trying to simulate a submit event which its assoaciated function uses ReactDOM.findDOMNode(ref).value to recover the input value.

More info.
//Inside the form
<FormControl type="text" ref='titleRef' placeholder="Enter your product name"/> //I am using React-Boostrap

//Inside the onSubmit function
const {titleRef, contentRef} = this.refs;
save(ReactDOM.findDOMNode(titleRef).value, ReactDOM.findDOMNode(contentRef).value);

Any idea why it isn't working?

It is also being discussed here: https://github.com/react-bootstrap/react-bootstrap/issues/1996#issuecomment-229698258

Are you using shallow or mount?

I have tried with both and I am getting the same error.

Try removing the ReactDOM.findDOMNode code and just acessing directly.
this.refs.contentRef.value;
this.refs.titleRef.value;

I know the test approach works, because I have tried it with a different form in which I am not using React-Boostrap components, hence I can do ref.value to retrieve the value from the input, and then the test passes.

Word. I believe you. It's hard to pinpoint where it is. Can you share a gist of the underlying component and the test code?

@blainekasten here it is https://gist.github.com/PolGuixe/5e07c7c6cf9fc7c19bc7444bf0d66373

I'm going to strongly guess this is your problem.
https://gist.github.com/PolGuixe/5e07c7c6cf9fc7c19bc7444bf0d66373#file-product_edit-tests-js-L26-L33
If you look at findDOMNode code here it is trying to find the component in some sort of internal map. I don't think you're going to be able to mock out that properly and stable-enough for this approach to be trustworthy.
I would say if you are wanting these refs to have certain values, set them with native code.
Something like this might work:
const wrapper = mount(<ProductEdit />);
wrapper.find('FormControl').at(0).setProps({value: name});
// set other one
// simulate

Thanks! I am trying to implement this approach. However setProps is triggering an error: Error: ReactWrapper::setProps() can only be called on the root.
I guess that setProps can only be used with the wrapper itself.

ah yeah. maybe that's not the way.. Somehow you need to set the value of the node itself. I can't remember the exact way. But I think you can access the internal node via wrapper.node.
So maybe something like find('input').node.value = foo.
I'm going to close this issue as it doesn't seem to be an Enzyme problem. But feel free to keep talking if you need assistance! Glad we figured it out-ish.

I am struggling a bit.
Doing find('FormControl').at(0).node.value = foo; Doesn't work.
Doing find('input').at(0).node.value = foo; Works.
However, `find('input').at(1).node.value = foo; Doesn't work. //find('input').at(1) is undefined.
Can I find the node by its ref?

So, doing .node is returning the underlying html node. FormControl does not have a .node. So that wuldn't work. But looking into react-bootstrap, looks like FormControl renders an input.
So that's why doing the input.node.value does work.
But yes, there is a ref API you could try out.

I think you can access the internal node via wrapper.node.

@blainekasten It looks like node is a property of all wrappers, but is it meant to be only used internally? I'm in a similar boat to the submitter with needing to use findDOMNode, but I can't find any documentation for this.
Sorry to pop in to such an old issue.

@rimunroe use .getNode() now, rather than .node (which we hope to remove eventually)

Thanks for the prompt response! It appears that  getNode doesn't appear in the API docs. Is that intentional?

Hmm, no - it was added in #490 which is released in v2.6.0. We may have missed adding the docs for that.

Hmm, no - it was added in #490 which is released in v2.6.0. We may have missed adding the docs for that.

Ah! Thanks!


Schemas: Only set default value for node_id not for all integer columns

Discussed with @visr and this PR doesn't make too much sense.
Will open a tech-dept issue instead.


join, room-join 不再起作用

[bug]
room.on('join', ..)
bot.on('room-join', ...)
都不再起作用。用户加入群，没有收到事件消息。

Please upgrade<EMAIL_ADDRESS>

Please upgrade<EMAIL_ADDRESS>
How can I upgrade it ?

Please upgrade<EMAIL_ADDRESS>
Thank you. But, it does not work after I upgraded to<EMAIL_ADDRESS>

It seems that we need more details about this issue.

Same with  python-wechaty，and room-leave is not available in Python-wechaty as well

Please upgrade<EMAIL_ADDRESS>
Thank you. It works after upgrading.

Same with java-wechaty, just room-join/leave not working.


dynamic routing with redux saga problem?! Previous issues didnt fix it apparently.

Hi,
So I am trying to integrate dynamic routes.
I get already by using the possible fixes in previous issues about this:
My watcher gets executed.
Then my action loadStudyOptionListPage gets executed and gets id 165 or chosen id as parameter.
Then my getStudyOptionPageList function gets the action value as parameter in the sagas file.
The action.studyoptionid returns the chosen dynamic number 165 now.
My request url works also. by concatenating as it should be.

But it stops working when it comes to the line:

const requestURL = `https://www.op.ac.nz/api/v1/ProgrammeInformationPage/?ParentID=${studyoptionid}.json`;

==>   const requestURL = `https://www.op.ac.nz/api/v1/ProgrammeInformationPage/?ParentID=165.json`;

const studyoptionlistpagecall = yield call(request, requestURL);

Then I get as error message:
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position

But if I paste the url into the browser directly it actually works and gives a full and correct JSON array back as response.
What could it be? Or what can I do to fix this? Below is my code also.
sagas.js:
import { take, call, put, select, cancel, takeLatest, fork } from 'redux-saga/effects';
import { LOCATION_CHANGE } from 'react-router-redux';
import request from '../../utils/request';

import {
  // loadStudyOptionListPage, // action triggered in the router ( see app/routes.js)
  studyoptionlistpageLoadingError,
studyoptionlistpagesLoaded,
} from './actions';

import { LOAD_STUDY_OPTION_LIST_PAGE } from './constants';

/**
 * When the action is fired
 * then dispatch the getStudyOptionPageList() function
 * to get the response from your api.
 *
 * On success dispatch the studyoptionlistpagesLoaded() action (yield put)
 * which sends back the response and can be added into the reducer state.
 * @param action
 */

// export function* getStudyOptionPageList(studyoptionid) {
export function* getStudyOptionPageList(action) {
  const studyoptionid = action.studyoptionid;
  // Call our request helper (see 'utils/request')
  // 'https://torleifw.op.ac.nz/api/v1/ProgrammeInformationPage/?ParentID=165.json';

const requestURL = `https://www.op.ac.nz/api/v1/ProgrammeInformationPage/?ParentID=${studyoptionid}.json`;

  try {
    const studyoptionlistpagecall = yield call(request, requestURL);
    yield put(studyoptionlistpagesLoaded(studyoptionlistpagecall));
  } catch (err) {
    yield put(studyoptionlistpageLoadingError(err));
  }
}

/**
 * Wait (take) for the LOAD_STUDY_OPTION_LIST_PAGE constant,
 * which contains the studyoptionid payload
 * from the loadStudyOptionListPage() function in actions.js.
 */
export function* studyOptionPageListWatcher() {
const watcher = yield takeLatest(LOAD_STUDY_OPTION_LIST_PAGE, getStudyOptionPageList);
  // yield takeLatest(LOAD_STUDY_OPTION_LIST_PAGE, getStudyOptionPageList);
  // const watcher = yield take(LOAD_STUDY_OPTION_LIST_PAGE);
  // const { studyoptionid } = yield take(LOAD_STUDY_OPTION_LIST_PAGE);

  // Suspend execution until location changes
  // yield take(LOCATION_CHANGE);
  // yield cancel(watcher);

  // yield fork(takeLatest, LOAD_STUDY_OPTION_LIST_PAGE, getStudyOptionPageList);
  // const watcher = yield takeLatest(LOAD_STUDY_OPTION_LIST_PAGE, getStudyOptionPageList);
  // const watcher = yield take(LOAD_STUDY_OPTION_LIST_PAGE);
  // yield take(LOAD_STUDY_OPTION_LIST_PAGE);

  yield take(LOCATION_CHANGE);
  yield cancel(watcher);
}

// All sagas to be loaded
export default [
  // getStudyOptionPageList,
  studyOptionPageListWatcher,
];

actions.js
/*
 *
 * File created by: ElineGoedhuys
 *
 * StudyOptionListPage actions
 *
 * Actions change things in your application
 * Since this boilerplate uses a uni-directional data flow, specifically redux,
 * we have these actions which are the only way your application interacts with
 * your application state. This guarantees that your state is up to date and nobody
 * messes it up weirdly somewhere.
 *
 * To add a new Action:
 * 1) Import your constant
 * 2) Add a function like this:
 *    export function yourAction(var) {
 *        return { type: YOUR_ACTION_CONSTANT, var: var }
 *    }
 */

import {
  LOAD_STUDY_OPTION_LIST_PAGE,
  LOAD_STUDY_OPTION_LIST_PAGE_SUCCESS,
  LOAD_STUDY_OPTION_LIST_PAGE_ERROR,
} from './constants';

/**
 * Load the studyoptionlistpages, this action starts the request saga
 *
 * @return {object} An action object with a type of LOAD_STUDY_OPTION_LIST_PAGE
 */
export function loadStudyOptionListPage(studyoptionid) {
  return {
    type: LOAD_STUDY_OPTION_LIST_PAGE,
    studyoptionid,
  };
}

/**
 * Dispatched when the studyoptionlistpages are loaded by the request saga
 *
 * @param  {array} studyoptionlistpage The studyoptionlistpage data
 *
 * @return {object}      An action object with a type of LOAD_STUDY_OPTION_LIST_PAGE_SUCCESS passing the studyoptionlistpages
 */
export function studyoptionlistpagesLoaded(studyoptionlistpage) {
 return {
    type: LOAD_STUDY_OPTION_LIST_PAGE_SUCCESS,
    studyoptionlistpage,
  };
}

/**
 * Dispatched when loading the studyoptionlistpages fails
 *
 * @param  {object} error The error
 *
 * @return {object}       An action object with a type of LOAD_STUDY_OPTION_LIST_PAGE_ERROR passing the error
 */
export function studyoptionlistpageLoadingError(error) {
  return {
    type: LOAD_STUDY_OPTION_LIST_PAGE_ERROR,
    error,
  };
}

routes.js
{
      path: '/studyoptions/:studyoptionid',
      name: 'studyOptionListPage',
      getComponent(nextState, cb) {
        const importModules = Promise.all([
          import('containers/StudyOptionListPage/actions'),
          import('containers/StudyOptionListPage/reducer'),
          import('containers/StudyOptionListPage/sagas'),
          import('containers/StudyOptionListPage'),
        ]);

        const renderRoute = loadModule(cb);

        importModules.then(([actions, reducer, sagas, component]) => {
          injectReducer('studyOptionListPage', reducer.default);
          injectSagas(sagas.default);
          renderRoute(component);
          // TODO dit is voor dynamic routing op te lossen.
          // https://github.com/react-boilerplate/react-boilerplate/issues/1452
          store.dispatch(actions.loadStudyOptionListPage(nextState.params.studyoptionid));
        });

        importModules.catch(errorLoading);
      },
    },

I hope somebody can help me?

If you're using fetch, you need to manually tell it to use the credentials. Could this be the issue? What is the response you get back when it fails?

Closing due to inactivity


fixed language code field length detection

In Well Known NDEF records of RTD "Text", the first byte in the payload is the status byte. This byte contains, according to the spec:

bit number (0 is LSB)
Content

7
0 for UTF-8, 1 for UTF-16

6
RFU (MUST be set to zero)

5..0
The length of the IANA language code.

So it is not 5 bits, but bits 5 to 0.
Source: NFC Forum Text Record Type Definition Technical Specification, p.4

@homer-jay thanks for this pull request, I'll have more time to look into it after Christmas


cannot find module 'is-buffer' in version 13.x.x (works in 12.0.2)

Hello, upgrading to browserify 13.x.x, I came across an error when I tried to use it:
Error: Cannot find module 'is-buffer'

I am using node v5.4.1 and npm 3.3.12
Reverting to 12.x.x make the problem go away. I looked into it on these issues and I see two issues that may very well be related: #1482  and #1476 , the one @feross was working on. looks like it was for a good reason: a sizable increase in speed.
If I have mistakenly associated my error with these issues, feel free to close this. I am mostly submitting the issue to see if anyone else has the problem, or there is something I need to know about buffers in the most current versions of node/browserify I am not aware of.
thanks very much for your time

@the-simian I've seen this too. Do you by chance use the testing tool zuul?

@feross No, I don't I use mocha and chai in this particular project. Do you suspect this error might be the result of some interaction with another dependency? Besides browserify, the others of note are react, stylus, postcss and lodash

Possible, but I'm not sure yet.

Ok, no problem. Let me know if there's anything further I can do to help. I won't be able to dig further into this myself for a few days. Also if anyone else gets this error, they can respond here and we can then start to ascertain if it is related to interaction with another module. In the meantime, 12.0.2 is working just fine. Thanks again!

This is still an issue. Here's a test run that demonstrates the problem: https://travis-ci.org/feross/parse-torrent/builds/116466564

Maybe zuul is screwing with the cwd in a way that is confusing insert-module-globals?


How get the vriance visualization

Fig 3

Hi @luckywyy ,  Thanks for your attention on our work.
I use the KL distance between the two classifier prediction.
Since KL distance is non-negative, I further use exp(-KL) to normalise the distance in [0,1].
And then I use the package, matplot, to show the heat map.
The relevant code can be found at https://github.com/layumi/Seg-Uncertainty/blob/master/evaluate_cityscapes.py#L245.


FeatureSupport GCS

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 45.14 seconds
stream load tsv:          517 seconds loaded<PHONE_NUMBER>9 Bytes, about 137 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          66 seconds loaded<PHONE_NUMBER> Bytes, about 15 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>6 Bytes


fix: update fs-extra, add extension to ast parser import

This pull request fixes two bugs related to the vite implementation.

In order to correctly find the recast typescript parser, a .js extension is needed in the import path.
fs-extra now offers an esm build, which fixes another vite related bug. For this to work, some functions need to be imported from fs-extra/esm while others need to be imported from the standard fs.

Since I mostly looked at vite with this, it'd be great if you could test it against a nuxt installation as well. There shouldn’t be any breaking changes afaik.

Thank you so much @robinscholz 🙏


feat(headless,atomic): exposed build version

https://coveord.atlassian.net/browse/KIT-356
In this PR, I exposed the version of headless through an exported constant (VERSION) and the version of atomic through the window.atomic object for convenience.

The issue seems to specifically happen during end-to-end tests.
Some tests failed and I could narrow down the cause to the import {VERSION} from '@coveo/headless' line, but I couldn't figure out what in the tests caused that to be a problem. However, when importing from the search interface instead, everything worked.


Disallow SpreadField in table constructor

Purpose
Fixes #36474
Approach

For every field-name in the key sequence of the inherent type every mapping-constructor-expr in the row-list must include a specific-field that has a value-expr that is a const-expr. Spread field is not allowed in table with key sequence. It is allowed in the current master. This PR will fix it.

Samples

type FooRec record {
    readonly int x;
    int y;
};

FooRec spreadField1 = {x: 1002, y: 30};
FooRec spreadField2 = {x: 1003, y: 25};

table<FooRec> key(x) tb1 = table [
            {x: 1001, y: 20},
            {...spreadField1},
            {...spreadField2}
        ];

This should give value expression of key specifier 'x' must be a constant expression as error.
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Shall we add a test case for spread operator where we don't have key specifier?

@prakanth97 Shall we send the same PR to 2201.1.x and 2201.0.x branches as well?


Video Issues

Hi
I am having issues with video - Crelly Slider 1.4.2 / Wordpress theme 2020 / Wordpress 5.3.4 / Chrome and Firefox / Ubuntu OS.
[ update I just upgraded WP to 5.4.2 and the issue is still there ]
When I embed a Youtube video it does not appear on the WP site page but it does appear in the Crelly preview window. I added dummy text markers around and near to the video in the preview window of that slide and these do appear in on the site page. I have other image and text based slides that are working fine.
The interesting thing is that the video does appear as soon as I resize the browser even by a very small amount but I have to do this when the video frame is visible so I wait until the slide appears and then I have to do a quick browser window resize.
I used firefox developer tools and inspected the video element whilst the slider was running, the interesting thing is that the width and height of the iframe for the video both start as zero - however as soon as I do my browser window resize hack the width and height both appear as sensible non-zero values, I can see this happening in the DOM.
I thought maybe it was something to do with the fact that I am using a parent div to contain the slider with width set to 35% rather than say 300px but a repeat with the width defined in pixels has the same problem.
It seems simply to be the case that the iframe does not know its size (well its zero) until the browser window is resized, once I do this the video appears correctly aligned and it will play.
The second issue is that the slider does not pause when I start the video even though I have requested this option when I set up the slide, the sound continues when the video slide has been replaced by the next slide.
I have downloaded the full source code and will attempt to debug but I will probably be slower than people who understand the code.
As I understand it the preferred way of submitting a bug is to "export" the slider? I will be happy to do this although I would ask for it to stay only with the developers of Crelly as it is being written for a charity organisation and they will not want it public at this stage.
I wonder if anyone has tested videos recently? I did look at the demo that comes in the github download but there is no video in those slides.
This issues do not dampen my enthusiasm for the slider it really is great - much more power to the developer compared with othe sliders, I love the fact that I can use HTML in a slide - really opens up the possibilities.

Update: I added a Vimeo video to experiment.
The behaviour now is that both the Youtube and Vimeo videos start off not displaying ( zero width height )
If I resize the browser window whilst one of the video slides is being displayed then that video appears, once it has appeared it stays visible next time it is displayed. The other video does not display.
If I now resize the browser window whilst the 'other' video slide is being displayed then that video appears HOWEVER this has the effect of making the video previously made to appear disappear.
In other words the resize-browser-window-whilst-video-slide-visible manual-hack only works for one video at a time - it has the effect of undoing the hack on the other slide.

I started debugging
I turned on debug mode so I could use the non-minified JS
jquery.crellyslider.js
function scaleElement(element)
This is being called once for each of my two videos ( in iframes ) at start up.
Adding alert messages shows that for both iframes ( both videos ) the following code fragment
`			// Element doesn't contain text (like images or iframes)
else {
			element.css({
				'width'  : getScaled(getItemData(element, 'width')),
				'height' : getScaled(getItemData(element, 'height')),
			});`

sets zero values for width and height.
I then added some crude code after this to set width 100% and height just a couple of hundred pixels - I will worry about aspect ratio later!
This got my videos appearing when the slider loads.
The videos tend to disappear again when I resize the parent div - resize is all a bit erratic, sometimes it helps sometimes not.
I will continue to pick my way through this - its a bit slow - hoping someone who knows the code will see these comments and add some wisdom.
I am trying to stick with it because this slider works exactly the way I want it to - absolutely love the graphic/text positioning and transition stuff, I can do exactly what i want, its just the video side of things that is not working out so far.

Update:
I changed my hack in scaleElement - the case for element "doesn't contain text...." ( ie the case that iframe will fall into )
I added the following code next ( to overwrite the authorised code in the case of an iframe ) so basically allowing the parent div to drive width and height.

        if( element.is('iframe'))
          {
          element.css({'width'  :100 + '%', 'height' :60 + '%'});
}

This works fine for both Youtube and Vimeo videos until I come to resize the screen, that is where the videos disappear again because their width and height get set to 0px.
I have been using alert() to debug because I am stepping through with Mozilla inspector watching the iframe element and its css values at every step.
By adding a lot of alerts through the entire sequence of steps in setResponsive() after manually resizing the window I watched as we stepped through expecting to see width go from 100% to 0px, my final alert was the very last statement in setResponsive ( I used local vars to remember both iframes from earlier in the function and then simply interogated them at the very end of the function ). It seems from both the alert print out of width/height AND what mozilla inspector is telling me that the iframes keep their 'hacked' width and height throughout the function.
So at this stage I know that with my hack the videos are displaying correctly when loaded but window resize results in them going back down to 0px width and height. I know that setResponsive() is being called in a listener which watches out for window resize. I know that at the very point of exit from setResponsive() the video iframes have my hacked percentage widths and heights.
So as another check I put an alert in the listener function that is added by addListeners() - just after the call to setResponsive I added an alert so that I could check width and height again in mozilla inspector. This confirmed that the values are still ok and set to my 'hack' percentage values.
But as soon as I press "continue" on the alert I see the width and height values go down to zero pixel in Mozilla inspector, something else is setting these values to zero after the listener has completed after a screen resize.
I have read stuff about problems with calculating widths when the parent element is set to display:none but if this was the problem then why are images and other things working out ok after a window resize?
Seems to me there are two explanations.

Something in Creilly is resetting the width and height to zero after the listener has completed.
The browser is interfering*

*Do note that this problem only occurs to videos that are not displayed in the slider at the time of resize, in otherwords when the slide is 'display:none', does the browser itself have a listener somewhere that says "whenever css has been altered on a display:none iframe we must set the width and height to zero px?"
In summary with my hacks in place, if I resize the window when one of my two video slides is actually showing then that video stays visible but the video that is not visible is reset to width and height zero pixel. If the problem is in Creilly or in the browser I think the code responsible will have a conditional based on whether the iframe or its parent slide is currently the active one.
Last time I checked the problem was the same on both chrome and mozilla.

Update: Satisfactory hack
I have an improved hack.
At the very end of elementIn() just before the return statement I added...
  if( element.is('iframe'))
    {
    //BUG fix - HACK!!!! -  Iframes do not properly inherit from parents display:none
    //and so end up with 0px width and height. Solution for now is just to set iframe
    //size every time the slide comes into view.
    //100% and 56.25% pertain to youtube recommended iframe of 16:9 but of course this
    //does assume container is square!
    //But currently my Crelly slider is 1000 wide by 756 high.
    //16:9 in a 1000 wide scren implies a height of 562.5 ( 1000 * 9 / 16 )
    //so the actual percentage required is 562.5 / 756 which is 74.4%

    element.css({'width'  :100 + '%', 'height' :75 + '%'});
    }

As can be seen from the comments I took into account the parent div size and the desired 16:9 aspect ratio to calculate the percentage height and width.
The hack is an improvement simply because it calculates width and height when the iframe has been made visible in preparation for the slide-in transitions that elementIn is written to apply - waiting to set width and height at this point avoids issue of setting size of children of a 'display:none' iframe which I believe is the fundamental issue.
With this fix in place other issues reported in this account disappear.


New security issue in poppler (/poppler/JBIG2Stream.cc)

Just a new security issue (seems to lead to a crash - local DoS):
http://cgit.freedesktop.org/poppler/poppler/commit/?id=58e04a08afee
Is the upstream poppler port already includes the fix?

Closing this for the same reasons as #1


datalog: Running a programme without datalogging does not remove MY_DATA.HTM file

To replicate:

Drag&drop an erase.act file into the MICROBIT drive while pressing down the reset button

This will fully erase the DAPLink storage and the target programme

At this stage there should not be a MY_DATA.HTM file in the MICROBIT drive

Build and flash simple programme using datalogging, for example: MICROBIT_datalogging.hex.zip
#include "MicroBit.h"

MicroBit uBit;

int main() {
    uBit.init();
    uBit.log.setVisibility(true);
    while(1)
        uBit.display.scroll("data logging");
}

The MY_DATA.HTM file should now be in the MICROBIT drive

Build and flash a simple programme without data logging, for example: MICROBIT_hello-world.hex.zip
#include "MicroBit.h"

MicroBit uBit;

int  main() {
    uBit.init();
    while(1)
        uBit.display.scroll("HELLO WORLD!");
}

Power cycle the board a couple of times

The MY_DATA.HTM file is still in the MICROBIT drive

Ideal resolution: When data logging is not used the file does not appear on the MICROBIT drive from the moment is mounted.
We want to make sure drive remounts are reduced as much as possible, so we'd like to only remount when transitioning between "programmes that have datalogging" and "programmes that do not have datalogging".
So if a user is constantly loading a similar programme, with or without datalogging, the drive should not remount, as it is not "changing datalogging state".

In a conversation with @finneyj and @JohnVidler we believe there is some code in CODAL that is meant to be removing the MY_DATA.HTM file from the MICROBIT drive, but it might not be working as expected.


Update CenterOfRotationFinder

see #468
Also check the updates of the published algorithm which aren't in the current release.
Especially for large dataset we don't apply the downsampling here.

closed by https://github.com/vais-ral/CCPi-Framework/pull/468


Add dedicated Makefile target for gvproxy

It avoids compiling all tools when only gvproxy is needed.
Related to #38

Thanks for the review @Luap99 !


Update ClickHouse host port configuration

The default host port conflicts with MinIO, this changes the default port and makes the host ports match the configured internal ports like we do for Supserset.
Closes: #348

FWIW: I fully expect this to uncover bugs where that port is hard coded elsewhere, but it's best to find them now!

This did uncover a bunch of small things, I've updated the port config names to reflect what they actually are (a number of native ports were named http) and successdfully tested locally in tutor local and dev with minio. I have not tested k8s, but I'm hoping CI will flush out any issues.

@bmtcril can you perform a little test in Clickhouse cloud?

Checked against CH Cloud, seems good. I think there's an unrelated (?) error publishing courses to CH Cloud from event-sink-clickhouse, though.

I found and fixed the event sink error, it was unrelated but right on a line I touched earlier. 👎


Infer route in page config from path when not provided?

If the config object returned from a *.page.js file doesn’t include a route field, can it be derived from its relative path in the pages directory?
For example:
pages/index.page.js => /
pages/foo.page.js => /foo
pages/bar/index.page.js => /bar/

I created a small utility to do this. Here’s what its usage looks like:
import page from "./index.vue";
import { fileroute } from "~/util/fileroute";

export default {
  route: fileroute(__filename),
  view: page,
}

And here’s the fileroute function:
import path from "path";

// convert *.page.js file path into route string
export function fileroute(filename) {
  const route = String(filename)
    // web server routes are relative to pages dir
    .replace("pages/", "/")
    // use parent folder name for index pages
    .replace("index.page.js", "/")
    // use page name
    .replace(".page.js", "")
    // fix double slashes
    .replace("//", "/");

  return route;
};

Goldpage is already transforming the paths of all *.page.js files into names like index or foo or bar/index, could the name be transformed into a route if a route isn't present on a page config object?

I have a preference over having only one way of doing things. If Goldpage wouldn't support parameterized rotues then yes I'd agree with you and the one way of doing things would be to use the name of .page.js files and paths to determine the route.
Goldpage does support parameterized routes such as hello/:name which means that there could be filenames like pages/hello\/:name/index.page.js. For such a route I'd prefer having a route page config instead.
If you have 20 pages then you'll have to write 20 route strings. It's redundant I agree but I'd say worth it for the sake of simplicity.
Allowing only one way of doing things makes things simpler.

Very reasonable position. Thanks for giving it some thought 👍


Add secure mavlink

Wait for boards/ssrc submodules to be merged first. Then update submodules to point "main" branch

Maybe better to not disable uxrce client altogether yet, but only when secure mavlink is active. Then we don't left any non-hardened interfaces available on the side of secmav.

Wait for submodules to be merged

Just noticed that the secure-udp-proxy module had still the feature branch version, now merged that to module main and updated px4-firmware branch for this PR. Waiting for CI build and quick verification before merging this.

Sec-mavlink connection verified with Saluki-v2 and QGC with reverse-proxy


[AutoPR adhybridhealthservice/resource-manager] typo: adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4582

This PR has been merged into https://github.com/Azure/azure-sdk-for-java/pull/2775


New build to fix no logs issue?

Are we able to get a new build of the project to fix the no logs issue referenced multiple times:

https://github.com/docker/kitematic/issues/5324
https://github.com/docker/kitematic/issues/5317

It looks like a fix has been merged for this.

view here https://github.com/Trackhe/kitematic/releases

@Trackhe appreciate your effort! On the other hand I don't understand why there's no official new release for a clearly broken build

@dan-lee I dont understand it too why the repository is not properly maintained.


Feature: Include WcfServicePublisherTask

Include in the framework, the WcfServicePublisherTask MSBuild task that runs the "WCF Service Publishing Wizard" as described in the discussion here (http://biztalkdeployment.codeplex.com/discussions/228335).
This work item was migrated from CodePlex
CodePlex work item ID: '9634'
Assigned to: 'tfabraham'
Vote count: '1'

[UnknownUser@7/22/2013]
Resolved with changeset 73329.


Does SD model matter?

I am unsure if the model selected, as well as the SDNet model matter, or need to match.
If I have it on 'automatic' and have matching names, it picks the correct trt obviously.
But does it matter if I manually select a trt, which model SD is on for the image generated?

It should, in they're, override the model you select with the manually selected TRT UNET. So the bully in VAE of the model should work as normal and any extra bits.


[BugFix] Fix NPE in tablet_updates::erase_expired_versions (#6079)

If creation times of the editversions is not strictly increasing, there may be some editversion ptr left NULL, casing BE crash. This PR fixes this bug.
What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes https://github.com/StarRocks/starrocks/issues/6046
Cherrpick https://github.com/StarRocks/starrocks/pull/6079
Problem Summary(Required) ：

If creation times of the editversions are not strictly increasing, there may be some editversion ptr left NULL, casing BE crash. This PR fixes this bug.

run starrocks_fe_unittest


Update data/api/sources.json

Updating data/api/sources.json from the Hot Metal app.

Just had a look through for consistency and spelling errors


Auto approve dependabot PRs

Summary
Dependabot raises lots of updates (which is good). We require PRs to be approved before they can be merged. This auto approves dependabot PRs and leaves it to maintainers to handle the merge.

Looks like this file needs linting, @chrisdoherty4


Footer's email placeholder issue fixed

Hello PA,
I have fixed the placeholder issue in the footer section's input field! Now, when the email field is focused, the placeholder disappears.

Thank you @bilalshahid707


fff.1, README.md: add more obvious mention of executable toggle

Always important to have good docs :)

LGTM :+1:


Restrict the max height of ChatResponse

There is no limit to the current response height, so when some Bots reply with little content, there will be a lot of blank space under a Bot, which is inconvenient for reading. Therefore, a maximum height limit is added.
Before:

After:

@coderabbitai review

How was the maximum height determined? Should it be higher, or should users be allowed to configure it themselves?

The questions you raised are very constructive. I didn’t consider so much when I proposed this PR. Maybe I can add a setting in the future.


Add GitHub Action based build workflow

@DerEros Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

This wasn't meant to be sent here :)


fix: update input variable name

Description
https://github.com/terraform-ibm-modules/terraform-ibm-observability-da/issues/17

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[x] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
Update product name in input variables.

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

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

GitHub release
v1.1.4

Your semantic-release bot :package::rocket:


How to use it

Hi,
I have an umbrella app with one app for ecto and one app for web/api. I want to split the api from the web part to have 3 app (db / api / web).
Is it possible to create a fourth app "proxy" containing only your lib and doing the work ?
I can't make it work. Do you have an exemple app where everything is split ?
thanks

Hi, sorry for the late reply, I'm not sure how I missed this. When you say you can't make it work, what issue do you run into? Do you get an error of some kind?
Here is an example commit where I installed master_proxy, but it isn't an umbrella app. It should work the same, though.

Hi, thanks for your answer.
I have made it work, but I think it can be simple. I have scaffold an empty phoenix app in my umbrella named proxy and added to it your lib.
Maybe there is a way to cut 80% of this umbrella app but I'm not sure how to do it...
This ticket was about creating a proxy has an app in an umbrella app. This way I can visually separate the proxy for my other app.
Like having an app for desktop, another for api, another for smartphone (using ua_inspector to redirect the call) etc...
Thanks

Oh I see what you mean. This repo was based off of acme_bank which has the master_proxy has a separate app. Maybe looking through how they did it would help. See https://github.com/wojtekmach/acme_bank/tree/master/apps/master_proxy


[WIP] Group common logic for browser and node envs

[x] tests and linter show no problems (npm t)
[ ] tests are added/updated for bug fixes and new features
[x] code is properly formatted (npm run fmt)
[ ] description of changes is added in CHANGELOG.md
[x] update .d.ts typings

Closes: https://github.com/tshemsedinov/wasm-import/issues/18

@tshemsedinov
Conceptually, what do you make of this approach?

I remember you turned down the class-based approach, but I still believe it is worth considering. We could group the common logic in the base class and implement 'compile' method in the sub classes, or use an open constructor. E.g. compile(path) {wa.compile streaming(resp)} for browser, and compile(path) {wa.compile(buffer)} for node

Issue with rust binary can be reproduced locally with latest stable rustc. Will figure it out.

Issue with rust binary can be reproduced locally with rustc 1.73. Will figure it out.

Fixed with:
https://github.com/tshemsedinov/wasm-import/pull/25

Need to rebase on master @rustworthy


2D and 3D Skeleton modification docs, and small fixes.

Mark SkeletonModificationStack3D and related as deprecated.
Mark local bone override and axis functions deprecated in Skeleton3D api.
Mark SkeletonModificationStack2D and related APIs as experimental.
Mark SkeletonIK3D as deprecated.
Fix array property glitch in SkeletonModificationStack2D and some schema validation errors.

Pushed to incorporate unification of "true" parsing from #65799

There seems to be a doc mismatch:
diff --git a/doc/classes/PhysicalBone2D.xml b/doc/classes/PhysicalBone2D.xml
index 2157beb..b8ba750 100644
--- a/doc/classes/PhysicalBone2D.xml
+++ b/doc/classes/PhysicalBone2D.xml
@@ -27,8 +27,9 @@
 		<member name="auto_configure_joint" type="bool" setter="set_auto_configure_joint" getter="get_auto_configure_joint" default="true">
 			If [code]true[/code], the [code]PhysicalBone2D[/code] node will automatically configure the first [Joint2D] child node. The automatic configuration is limited to setting up the node properties and positioning the [Joint2D].
 		</member>
-		<member name="bone_node" type="NodePath" setter="set_bone_node" getter="get_bone_node" default="NodePath("")">
-			The [NodePath] to the [Bone2D] node that this [code]PhysicalBone2D[/code] node is supposed to be simulating.
+		<member name="bone2d_index" type="int" setter="set_bone2d_index" getter="get_bone2d_index" default="-1">
+		</member>
+		<member name="bone2d_nodepath" type="NodePath" setter="set_bone2d_nodepath" getter="get_bone2d_nodepath" default="NodePath("")">
 		</member>
 		<member name="follow_bone_when_simulating" type="bool" setter="set_follow_bone_when_simulating" getter="get_follow_bone_when_simulating" default="false">
 			If [code]true[/code], the [code]PhysicalBone2D[/code] will keep the transform of the bone it is bound to when simulating physics. If [code]false[/code], the [code]PhysicalBone2D[/code] will move the Bone2D to match.

Thanks!


Option to limit number of processes/threads/fds

Feature motivation

My team is using serverless-webpack to bundle ~100-ish Lambda functions at the same time, due to constraints in serverless-appsync-plugin we cannot split them into multiple batches, and with webpack + ts-loader alone it is impossible to bundle them all at once.
This module opens up the possibility to keep the type checking, but we quickly hit another problem. i.e. With 100 forked processes it drained the fd limit in no time.
While it is possible to raise such limit to millions for one machine, the development cycle becomes exponentially complicated when it comes to CI/CD in containers.
Feature description

In https://github.com/webpack/webpack/commit/9cb42256c67f77b24b04e1e19bd27c866febad6f webpack itself limits how many files it opens each time, but fork-ts-checker-webpack-plugin multiplies the limit of 15 by the total number of functions to be bundled.
It would be great if there is an option, or at least a sane default, to limit the total number of threads/forked processes.
Feature implementation

Maintain the number of active forks, delaying further forking until earlier child processes is finished, packages like p-limit is worth considering.

Hi @vicary
I think it's not a common issue so I wouldn't like to implement this logic in the plugin. Instead, I could modify the start hook on the alpha branch to provide AsyncSeriesWaterfallHook. Then you could tap into this hook and add awaiting logic that suits your case :)
Is it something that would help you?

This is a pseudo-code that I came up:
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
import { Limit } from 'p-limit';

interface LimitForkTsCheckerWorkersWebpackPluginOptions {
  limit: Limit;
}

class LimitForkTsCheckerWorkersWebpackPlugin implements webpack.Plugin {
  constructor(private readonly options: LimitForkTsCheckerWorkersWebpackPluginOptions) {}

  apply(compiler: webpack.Compiler) {
    const hooks = ForkTsCheckerWebpackPlugin.getCompilerHooks(compiler);

    // intercept service starting hook
    hooks.start.tapPromise(this.options.limit((changes) => changes));
  }
}

export = LimitForkTsCheckerWorkersWebpackPlugin;

and usage:
// shared/limit.js
const pLimit = require('p-limit');
const limit = pLimit(10);

module.exports = limit;

// webpack.config.js
const limit = require('shared/limit');
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
const LimitForkTsCheckerWorkersWebpackPlugin = require('shared/plugin/LimitForkTsCheckerWorkersWebpackPlugin');

module.exports = {
   // ...
  plugins: [
    new ForkTsCheckerWebpackPlugin(),
    new LimitForkTsCheckerWorkersWebpackPlugin({ limit })
  ]
  // ...
};

Hi @piotr-oles,
Thanks for the quick reply.
Haven't worked with plugin hooks yet, do you mean I can control each processes with something like the following?
const forkTsCheckerWebpackPlugin = new ForkTsCheckerWebpackPlugin();
let activeCount = 0;
const resolveFn = [];

forkTsCheckerWebpackPlugin.hooks.serviceBeforeStart.tapPromise("throttlePlugin", new Promise((resolve, reject) => {
  if (activeCount < 10) {
    resolve();
    activeCount++;
  } else {
    resolveFns.push(resolve);
  }
}));

forkTsCheckerWebpackPlugin.hooks.done.tap("throttlePlugin", () => {
  const resolve = resolveFns.shift();
  if (resolve) {
    resolve();
  } else {
    activeCount--;
  }
});

This looks like the current AsyncSeriesHook in serviceBeforeStart and SyncHook in done already works.
Am I getting it correctly?

Oh wow thanks for the sample code! So I have to make my own plugin to tap into those hooks, right?

I think it's the most convenient way to do this :) You can also manually get the compiler instance but this means that you would have to use webpack's Node.js API (because you don't have a compiler instance when you just export the configuration).
The pseudo-code I sent you is for the alpha branch - https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/tree/alpha :) I don't want to add new features to the current stable version. It will be maintained only for critical bug fixes, new features will be merged to the alpha branch which is a result of a complete rewrite of the plugin #404 :)

Sounds great!
Just wanna make sure no unnecessary works on your side, does the hook serviceBeforeStart do the job?

Yes, it should work :)

Please let me know when you implement it if it worked 😃

:tada: This issue has been resolved in version 5.0.0-alpha.9 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Yes, it worked to a certain degree, definitely prevented the EMFILE error. Now it only explodes at heap size, which is solved in this PR https://github.com/serverless-heaven/serverless-webpack/pull/517.
Really thanks for the help!

Shamelessly edited your sample script into a tiny npm package 😄

Nice! :)

:tada: This issue has been resolved in version 5.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Can @vicary's plugin (to configure limiter) be backported to fork-ts-checker-webpack-plugin version 4.1.6?

@fasiha I can squeeze out some time after I finished my current documentation work in some other projects, possibly in the next few weeks. If you need it right now, I am also accepting PRs.

@fasiha Reading the source codes, my plugin should be compatible from v4 all the way up to v8. I expanded the peer version and published 1.2.0, give it a try and let me know if anything breaks.


1 Foscam Streams, 1 Does not

So I have a Foscam R2 and Foscam FI9803P.
For the R2 I have the following in the config.json
{
"name": "Jonathan",
"videoConfig": {
"source": "-re -i rtsp://xxxx:xxxx@xx:88/videoMain",
"stillImageSource": "-i http://xxxx:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxx&pwd=xxxx&",
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 10
}
This config streams just fine.
However, the Foscam FI9803P has the same setup and has the error "FFMPEG exited Code 1"
The specific log is:

I've read where this issue may arise where the resolutions of the cameras are not the same.
Does this mean within Foscam, config.json? Could 'Code 1' mean something else.

Try maxFPS to 30

I have the same problem. Until last week it worked fine now this error message. strange is that 2 of the 3 cameras (Foscam) work fine

I have the same problems with my foscam 9804W.


Compact syntax for settings.xml

The following declarations should be equivalent
<block>
    <item>
        <param=value/>
    </item>
</block>

<block/item/param=value/>

It turns out that the following declarations are also equivalent
<block>
    <item>
        <param=value1>
            <nested=value2>
                <block1=value3/>
                <block2=value4/>
            </nested>
        </param>
    </item>
</block>

<block/item/param=value1 nested=valule2 nested/block1=valule3 nested/block1=valule4 />

This syntax modification does more harm than good. It's easier to generate a configuration with a script than manually write it out with a cool syntax.
Closed in favor of #393.


Sync component description in csproj's with table in README

When starting ot use this library I'm confused which nugets I need to continue.
Currently, nuget.org gives me the following:

However, we have a great list in out README here.
How about syncing it? :)

Thank you for contributing this great hint! That's definitely an improvement we should aim for! Feel free to provide a PR otherwise I will do so when there is some time left I can spare ;)


Updated EthtoolBSD get_device_enabled_features

Updated the EthtoolBSD get_device_enabled_features to correctly handle the formatting of the features list. Also updated the comment describing the formatting of the list.

please run test by yourself.
I met below exception when run against image thefreebsdfoundation freebsd-14_0 14_0-release 14.0.0
2024-08-15T12:15:56.3051903Z 2024-08-15 12:15:56.300[5172][ERROR] lisa.suite[NetworkSettings].case[verify_device_enabled_features] case failed
2024-08-15T12:15:56.3052538Z Traceback (most recent call last):
2024-08-15T12:15:56.3053151Z   File "D:\a\_work\1\s\lisa\lisa\testsuite.py", line 780, in __run_case
2024-08-15T12:15:56.3053634Z     _call_with_timeout(
2024-08-15T12:15:56.3054109Z   File "D:\a\_work\1\s\lisa\lisa\testsuite.py", line 61, in _call_with_timeout
2024-08-15T12:15:56.3054656Z     func_timeout(
2024-08-15T12:15:56.3055213Z   File "C:\hostedtoolcache\windows\Python\3.10.16\x64\lib\site-packages\func_timeout\dafunc.py", line 108, in func_timeout
2024-08-15T12:15:56.3055839Z     raise_exception(exception)
2024-08-15T12:15:56.3057782Z   File "C:\hostedtoolcache\windows\Python\3.10.16\x64\lib\site-packages\func_timeout\py3_raise.py", line 7, in raise_exception
2024-08-15T12:15:56.3058511Z     raise exception[0] from None
2024-08-15T12:15:56.3058950Z   File "D:\a\_work\1\s\lisa\lisa\testsuite.py", line 505, in wrapper
2024-08-15T12:15:56.3059391Z     func(*args, **parameters)
2024-08-15T12:15:56.3059930Z   File "D:\a\_work\1\s\lisa\microsoft\testsuites\network\networksettings.py", line 267, in verify_device_enabled_features
2024-08-15T12:15:56.3060510Z     devices_features = ethtool.get_all_device_enabled_features()
2024-08-15T12:15:56.3061014Z   File "D:\a\_work\1\s\lisa\lisa\tools\ethtool.py", line 966, in get_all_device_enabled_features
2024-08-15T12:15:56.3061569Z     self.get_device_enabled_features(device, force_run)
2024-08-15T12:15:56.3062073Z   File "D:\a\_work\1\s\lisa\lisa\tools\ethtool.py", line 1120, in get_device_enabled_features
2024-08-15T12:15:56.3062590Z     features.append(self._get_bsd_to_linux_features_map[feature])
2024-08-15T12:15:56.3063052Z KeyError: 'JUMBO_MTU'

please run test by yourself.
I met below exception when run against image thefreebsdfoundation freebsd-14_0 14_0-release 14.0.0
2024-08-15T12:15:56.3051903Z 2024-08-15 12:15:56.300[5172][ERROR] lisa.suite[NetworkSettings].case[verify_device_enabled_features] case failed
2024-08-15T12:15:56.3052538Z Traceback (most recent call last):
2024-08-15T12:15:56.3053151Z   File "D:\a\_work\1\s\lisa\lisa\testsuite.py", line 780, in __run_case
2024-08-15T12:15:56.3053634Z     _call_with_timeout(
2024-08-15T12:15:56.3054109Z   File "D:\a\_work\1\s\lisa\lisa\testsuite.py", line 61, in _call_with_timeout
2024-08-15T12:15:56.3054656Z     func_timeout(
2024-08-15T12:15:56.3055213Z   File "C:\hostedtoolcache\windows\Python\3.10.16\x64\lib\site-packages\func_timeout\dafunc.py", line 108, in func_timeout
2024-08-15T12:15:56.3055839Z     raise_exception(exception)
2024-08-15T12:15:56.3057782Z   File "C:\hostedtoolcache\windows\Python\3.10.16\x64\lib\site-packages\func_timeout\py3_raise.py", line 7, in raise_exception
2024-08-15T12:15:56.3058511Z     raise exception[0] from None
2024-08-15T12:15:56.3058950Z   File "D:\a\_work\1\s\lisa\lisa\testsuite.py", line 505, in wrapper
2024-08-15T12:15:56.3059391Z     func(*args, **parameters)
2024-08-15T12:15:56.3059930Z   File "D:\a\_work\1\s\lisa\microsoft\testsuites\network\networksettings.py", line 267, in verify_device_enabled_features
2024-08-15T12:15:56.3060510Z     devices_features = ethtool.get_all_device_enabled_features()
2024-08-15T12:15:56.3061014Z   File "D:\a\_work\1\s\lisa\lisa\tools\ethtool.py", line 966, in get_all_device_enabled_features
2024-08-15T12:15:56.3061569Z     self.get_device_enabled_features(device, force_run)
2024-08-15T12:15:56.3062073Z   File "D:\a\_work\1\s\lisa\lisa\tools\ethtool.py", line 1120, in get_device_enabled_features
2024-08-15T12:15:56.3062590Z     features.append(self._get_bsd_to_linux_features_map[feature])
2024-08-15T12:15:56.3063052Z KeyError: 'JUMBO_MTU'

This is now resolved but the Feature mapping from FreeBSD to Linux has several empty mappings as I couldn't easily identify them. I reached out to Wei to see if he knows more but any additionally knowledge would be great.

This is now resolved but the Feature mapping from FreeBSD to Linux has several empty mappings as I couldn't easily identify them. I reached out to Wei to see if he knows more but any additionally knowledge would be great.

You don't need to list all of them. If there is no mapping, just ignore them.

@r-dailey please monitor and fix checks.

@r-dailey please monitor and fix checks.

Was already working on a fix should be resolved now. I was using the wrong character to make the second group non-capturing in the regex

@LiliDeng LGTM


trivial: Add data attrs for integrity to bid buttons

Adds data attributes to bid-related buttons so that we can target them in Integrity without relying on the button text.
Related to https://github.com/artsy/integrity/pull/193
Related failure: https://app.circleci.com/pipelines/github/artsy/integrity/3779/workflows/7482c733-e4f4-404d-822e-321bb242604e/jobs/17858

Thank you!


Comment:Chat-Service - 404 for /messages

I'm following the chat service tutorial.
I just generated the messages service and ran yarn start. I'm getting a 404 message for localhost:3030/messages

never mind, had a typo


Remove check for subgraph with cycles

Description
Partitioning a graph with potential subgraphs that have a cycle with the input or output fails instead of ignoring these subgraphs. For instance, Faster-RCNN (available in the GluonCV model zoo) optimization failed.
Change
This PR simply removes the check that raise an exception if the subgraph candidate has a cycle, so LabelSubgraph can return false.

Thanks @Kh4L! this is a really great addition to the partitioning logic to be able to skip subgraphs rather than error out when theres a loop. It took me a while to come up to speed with the complexity of the logic here, can you add some more comments so that next time it will be easier?

@mxnet-bot run ci [unix-cpu]

@mxnet-bot run ci [clang]

@mxnet-bot run ci [centos-cpu]


Assessment of Soundness for the NMT Partial Namespace Absence Proof

Problem
In the following issue https://github.com/celestiaorg/nmt/issues/110, a new type of namespace absence proof has been identified and discussed namely, partial absence proof. This modified version of the full absence proof differs in that it provides the inclusion proof of one of the ancestors of the leafHash to the tree root, rather than the inclusion proof of the leafHash itself (where the leafHash is the leaf of the tree with the smallest namespace ID larger than the queried namespace ID). If valid, these proofs are more bandwidth-efficient than full proofs due to their shorter size. However, it is important to assess their soundness carefully, as they deviate from the original absence proof described in the LazyLedger paper.
Acceptance Criteria

[x] Identify the correct way that a partial absence proof should be constructed. While a high level idea is outlined in https://github.com/celestiaorg/nmt/issues/110#issuecomment-1448953422, modifications may be necessary to ensure the proof construction meets the soundness property based on the formal proof (item below).
[x] Provide a formal proof in order to demonstrate the soundness of partial absence proof. The soundness property ensures that even if an adversary provides a partial absence proof, they should not be able to persuade a verifier that a namespace ID is absent from the NMT if it is actually present. Therefore, the formal proof should demonstrate that the verifier will only accept a partial absence proof as valid if and only if the namespace ID is genuinely absent from the NMT.

My findings concerning the partial absence proof are documented in the linked notion page below. Please be aware that it's subject to further revisions.  However, the existing content should provide ample insight into the logic behind the proof. Please let me know if you have any questions.
cc: @liamsi @evan-forbes

that document is awesome! we should definitely keep that analysis somewhere, at least in this issue, but perferably keep it in the docs somewhere. Could also be a forum post!

Thanks for your feedback @evan-forbes!  I'll publish it as a forum post, and will also add the content as a doc to this repo.


need some help. I use pinpointPy==1.2.0, found this: NotImplementedError("set_parent_id")

## Bug

what is it ?
![image](https://github.com/pinpoint-apm/pinpoint-c-agent/assets/50686070/85e24953-9444-4048-aac0-fc2959fa90

e2)

Did you forget set context ?

if sync python, use  use_thread_local_context()

https://github.com/pinpoint-apm/pinpoint-c-agent/blob/1bdfc706adc9cd44e93a9e6b08bd32fe1c6f685b/testapps/PY/app.py#L52-L61

ok，thanks


[DEVOPS-1067] [nix] Split overlays into their own files

This is a pure refactoring of the nix logic.  The primary goal is
to modularize the overlays and subsequently make rebasing easier by
removing these lines from the default.nix.
Description

Linked issue

Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

🧐

@rvl, this looks good to me. Let's get a review from @cleverca22 and merge if he's ok with it as well?


SSO-Test intrap Realm

Is your feature request related to a problem? Please describe.

Currently the Processes-* environment use the intra SSO realm which is connector to the test AD. It would be better to use the intrap realm which connects to the prod AD.
This would also help against issues where users can't login as the password from test AD and prod AD don't need to be the same.
Describe the solution you'd like

The SSO client is to be migrated from intra to intrap.
Change realm for Demo and Processes-* environments to intrap.
Describe alternatives you've considered

Stay at intra realm. Needs to be discussed with process modelers.
Acceptance Criteria

[ ] DigiWF SSO client is migrated to intrap
[ ] Digiwf-ops is updated to use intrap realm
[ ] Users can login as used to and all process groups are still set for each user

Additional context

Waits for review date to clarify whether there is anything against it

Internal SNOW Ticket for sso client copy to new realm: REQ0661712


Demo Observable with lineup.js component

To boost the visibility of the LineUp library, it would be nice to create and share an Observable (https://observablehq.com/explore) that uses and demonstrates some LineUp capabilities.
@sgratzl @thinkh @puehringer, what do you think about this?

I played a bit:
https://observablehq.com/d/263233b4ec7d0793
shows the simple lineup example with synchronized selection that can be observed and manipulated

https://observablehq.com/@sgratzl/lineup-simple-example-with-observable-base
is the simplified version

Looks good, thanks.
I suggest to add it to the LineUp.js.org website.
One minor comment: Would be nice to replace the default font with something non-serif.


Handling of missing build dependencies

-- Could NOT find MPI_C (missing:  MPI_C_LIBRARIES MPI_C_INCLUDE_PATH)
-- Could NOT find MPI_CXX (missing:  MPI_CXX_LIBRARIES MPI_CXX_INCLUDE_PATH)

Currently it seems that missing build dependencies results in a build failure, rather than skipping of optional components.  Has this been discussed previously?  Strategies could include:

having a cache variable set to ON|OFF|AUTO and have it fail if not present and set to ON, build if present and set to AUTO, or not build if set to OFF
always autodetecting and building/not building if available/not available

Ideally, I am thinking of doing find_package(MPI) in the top-level cmake, and then if its missing just skip those the MPI libraries.

That would make complete sense.  The top-level has the overview of the whole build, and it would fit there.

So this has been updated to make this optional.


UWP. Unhandled exception in case of mac address with leading 0

Thanks for the PR and bug.  Can you please provide a MAC address where this was failing?  I haven't had an issue with this function in the current testing

08:66:98:D0:3B:6A
but in the address argument was the string "86698D03B6A"

I hit this problem as well.   Here is how I fixed it.  Feel free to integrate if you would like
protected Guid GetDeviceId(string address)
    {
        string EmptyGuid = Guid.Empty.ToString();

        address = EmptyGuid.Substring(0, EmptyGuid.Length - address.Length) + address;

        var mac = address
            .Replace("BluetoothLE#BluetoothLE", String.Empty)
            .Replace(":", String.Empty)
            .Replace("-", String.Empty);

        var deviceGuid = new byte[16];
        var macBytes = Enumerable
            .Range(0, mac.Length)
            .Where(x => x % 2 == 0)
            .Select(x => Convert.ToByte(mac.Substring(x, 2), 16))
            .ToArray();

        macBytes.CopyTo(deviceGuid, 0); // 12 bytes here if off the BluetoothLEDevice
        return new Guid(deviceGuid);
    }


Dev project 2 b

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: linqigeng:x: Chinoholo0807linqigeng seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Relax dependency on attrs

The project releases often and has a "no API breaks" policy.

Coverage remained the same at 100.0% when pulling 7b042aa5bde3533b5509f2be8d2e50c592307ee7 on relax-attrs into 49db04bdb4d7a36845585a11a0ff38d3077a6edd on master.


ask for help

Starting Synthesis
0%|                                                                                | 0/9 [00:00<?, ?it/s]Traceback (most recent call last):
File "synthesize.py", line 100, in
main()
File "synthesize.py", line 94, in main
synthesize(args, hparams, taco_checkpoint, wave_checkpoint, sentences)
File "synthesize.py", line 36, in synthesize
wavenet_in_dir = tacotron_synthesize(args, hparams, taco_checkpoint, sentences)
File "/home/guo/Tacotron-2/tacotron/synthesize.py", line 135, in tacotron_synthesize
return run_eval(args, checkpoint_path, output_dir, hparams, sentences)
File "/home/guo/Tacotron-2/tacotron/synthesize.py", line 67, in run_eval
mel_filenames, speaker_ids = synth.synthesize(texts, basenames, eval_dir, log_dir, None)
File "/home/guo/Tacotron-2/tacotron/synthesizer.py", line 147, in synthesize
assert len(mels) == len(linears) == len(texts)
AssertionError

I met this error when running synthesize.py  --mode='eval'
Modify line 142 in Tacotron-2/tacotron/synthesizer.py from target_lengths = [9999]
to target_lengths = [9999] * hparams.tacotron_synthesis_batch_size
When running synthesize.py  --mode='synthesis', this error don't happen.
Hope to solve your question.

thanks@sysuzyx,i try it


[1.1] Short-circuit reductions on subsequent solves of parameterized problems

After the first solve, subsequent solves of parameterized cone programs should short-circuit most of the reductions. In particular, it should be possible to get the problem data by using ParamConeProg.
get_problem_data() should also be fast after the first call.

Resolved by eeb2380c
$ nosetests -s cvxpy/tests/test_benchmarks.py:TestBenchmarks.test_small_parameterized_lp

      small_parameterized_lp: avg=4.258e+00 s , std=0.000e+00 s (1 iterations)
      small_parameterized_lp_second_time: avg=1.075e-02 s , std=0.000e+00 s (1 iterations)


BeforeDemoteGroupUsers AfterDemoteGroupUsers not handling

Description
when I call DemoteGroupUsersAsync in unity the relative BeforeDemoteGroupUsers and AfterDemoteGroupUsers not running
Steps to Reproduce
IN UNITY
await connection.Client.DemoteGroupUsersAsync(connection.Session, actualGroup.Group.Id, new string[] { userGroup.ownerId });
IN SERVER (typescript)
const InitModule: nkruntime.InitModule = function (ctx: nkruntime.Context, logger: nkruntime.Logger, nk: nkruntime.Nakama,
initializer: nkruntime.Initializer) {
             initializer.registerBeforeDemoteGroupUsers(beforeDemoteGroupUsersFn);
             initializer.registerAfterDemoteGroupUsers(afterDemoteGroupUsersFn);
}

const beforeDemoteGroupUsersFn: nkruntime.BeforeHookFunction<nkruntime.DemoteGroupUsersRequest> =
    function (ctx: nkruntime.Context, logger: nkruntime.Logger, nk: nkruntime.Nakama, request: nkruntime.DemoteGroupUsersRequest): nkruntime.DemoteGroupUsersRequest {

               logger.info("@@@ beforeDemoteGroupUsersFn: ");

                return request;
    }

 const afterDemoteGroupUsersFn: nkruntime.AfterHookFunction<void, nkruntime.DemoteGroupUsersRequest> =
    function (ctx: nkruntime.Context, logger: nkruntime.Logger, nk: nkruntime.Nakama, data: void, request: nkruntime.DemoteGroupUsersRequest) {

        logger.info("@@@ afterDemoteGroupUsersFn: ");
}

Expected Result
in the server log
@@@ beforeDemoteGroupUsersFn:
@@@ afterDemoteGroupUsersFn:
Actual Result
server log empty
Context

[x ] Unity
[ ] Unreal
[ ] Other

Your Environment

Nakama: 3.5.0
Database: cockroach:latest-v20.2
Operating System and version: ubuntu

This is already fixed in https://github.com/heroiclabs/nakama/pull/664 and will be part of the next server release.


Using generated genesis ledger in images

Config file passed as daemon argument consists of genesis ledger as a list of accounts. These accounts can grow (mainnet now has over 200k accounts). This can take up significant boot-up time during which the daemon is unresponsive. The config file has options to take the merkle root or a name of the ledger instead. With these options, the daemon will look for files with a specific name locally as well as in an s3 bucket that's currently hardcoded.
The task for this issue is to test the two functionalities (using Hash and Name) in runtime config. The ledger can be generated by the daemon using a list of accounts first. Or preferably, one could create an app to do ledger generation using account list (just extracting the same piece of code the daemon uses) instead of running the daemon. I believe, https://github.com/MinaProtocol/mina/blob/berkeley/src/app/runtime_genesis_ledger/runtime_genesis_ledger.ml does this but needs to be confirmed.
Update:
Script: takes config file with ledgers (incluuding both the staking ledgers) with account list as input and generate as output the corresponding tars and a config file that refers to these files (instead of list of accounts)

@deepthiskumar when you are back -- can you add a bit more details here?

I've looked into this. My findings are the following:

We can use src/app/runtime_genesis_ledger/runtime_genesis_ledger.ml to produce the tar file from a config JSON with accounts.
We can check the utility log for the Merkle root hash and use it in a config file instead of specifying the accounts. Example:

{
  "genesis": {
    "genesis_state_timestamp": "2023-10-17T16:01:01Z"
  },
  "ledger": {
    "hash": "3NKm9dYH5TtyjQXccBBD7WQNezQnNuShCU6396CrpvwGeh7udhos"
  }
}

Using this config, the node will search locally for the tar file corresponding to that hash (the one generated by the utility/node). If the file is not found locally, it will search for it in the S3 bucket.
I tested loading the genesis ledger from an existing local file on an ITN node, working as expected. I didn't test if loading from S3 works as I would need access to the S3 bucket to send the test tar file.
Testing with a genesis ledger with over 200k accounts, it took approximately 0.5s to load the genesis ledger from the tar file (based on the timestamp diff between the log messages stating that the ledger file was found and that the ledger was loaded from the file. The tar file itself has a size of ~58M.

Let me know if you need me to look into something else or give more details. @deepthiskumar @michal0mina

I now have a script to automate the process of using a config file with the genesis ledger accounts as well as both staking ledger accounts and producing the tar files for each of these ledgers and a new config file referencing the Merkle root hash of these ledgers instead of the accounts.
However, I noticed that the runtime config doesn't allow specifying the hash of the ledger for the staking ledgers, it only allows specifying accounts, so this needs to be changed. The logic used to load the staking ledger is the same as the genesis one, so this should be simply a matter of adding the possibility of specifying the hash on both staking ledgers in the config file.
Today I will create a PR with both of these changes.


Fix decorator arguments

Any additional args or kwargs passed to the decorator will be forwarded to the decorated function

Coverage remained the same at 91.787% when pulling b122c50128d0185c168846af3e3c1037ba27e1dd on soderluk:fix-decorators into 92bd9ed6a7b6c23b073625d45c284e293b70b28c on thomsonreuters:master.

Thanks for the PR ! Will be part of 1.6.0 since this is a new feature, not a bug fix.

It should be released already !

Yeah, I noticed it right after :) Thanks for the fast support!


error in 'sudo gem install cocoapods'

pls change to
sudo gem install -n /usr/local/bin cocoapods

@timwukp sudo gem install cocoapods seems to work well for me and is the recommended way for installing cocoapods as described in the cocoapods documentation. Please open an issue with cocoapods if you are having trouble installing cocoapods.


Created the Tic Tac Toe Game CB

@kishanrajput23 Please merge my pr

@kishanrajput23 Please review my PR


Improper Styling of Voucher Entry Button in Cart Section - Enatega Multivendor Customer App

Describe the bug
Users have identified a styling issue in the Enatega Multivendor Customer App's cart section, specifically related to the button for entering voucher details. While there is a button, it is formatted as text, causing confusion and potentially impacting the user experience
To Reproduce
Steps to reproduce the behavior:

Open the Enatega Multivendor Customer App.
Add items to the cart.
Navigate to the cart section.
Observe the styling of the button for entering voucher details.

Expected behavior
In the cart section, there should be a properly styled button, visually distinct from regular text, prompting users to enter voucher details for improved clarity and ease of use.
Screenshots

Smartphone (please complete the following information):

Device: iOS and android

@Inshirah23 I'd like to work on this.

@Inshirah23 I'd like to work on this.

Sure, let me know if you need any help.


[DO-NOT-MERGE] Granular cache control preview

Description

POC for tackling the granular cache control asks from our customers
Motivation and Context

We will create a new issue to consolidate all the issues being addressed here.
How Has This Been Tested?

Tested in local, only for preview. Not meant for merging.

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (add or update README or docs)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Closing the POC PR


On iPhone added bottom safe area inset (now buttons cancel and flash under safe area)

Same issue. iOS safe area is not used on v3.x, which means the flash and cancel buttons appear under the safe area with the default renderer.


Ability to hide metadata via param hideMeta

Sometimes you want to hide your metadata. In my case I have a front page that will never change.

Hi @apvarun same as above :)

Im working on my page again and noticed that this is still open @apvarun :)

Hey @Marty Missed this. Merging now


How to use logger with non plain actions?

If I have plain action:
export const getAlbums = () => ({
  type: types.SET,
  payload: {}
})

, all is fine. But if I'm using redux-thunk as middleware:
export const getAlbums = () => (dispatch, getState) => {
  dispatch({
    type: types.SET,
    payload: {}
  })
}

, I see strange records in logger

Usage
Note: logger must be the last middleware in chain, otherwise it will log thunk and promise, not actual actions (#20).


Make UI responsive again (fix some issues in the header)

Now gridster is responsive again and I fixed the arrangement of the buttons in the header to be also responsive. It fixes #19.

LGTM. Please, merge!


fix(log): demote log levels on peer banning

Summary of changes

As discussed on slack
Changes introduced in this pull request:

demote log levels on peer banning from warn to debug
demote verbose debug logs to trace to make output more readable when RUST_LOG=forest_filecoin=debug

Reference issue to close (if applicable)

Closes
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

It would actually be great to address the root cause for warn noise as opposed to demoting the log level. Let's at least create an issue to investigate this.

It would actually be great to address the root cause for warn noise as opposed to demoting the log level. Let's at least create an issue to investigate this.

@ruseinov Good idea, my take is that the warn noises are warnings that only make sense to developers instead of end users. I'm not sure that's 100% what you mean, so would you mind creating the issue and elaborate your idea?

It would actually be great to address the root cause for warn noise as opposed to demoting the log level. Let's at least create an issue to investigate this.

@ruseinov Good idea, my take is that the warn noises are warnings that only make sense to developers instead of end users. I'm not sure that's 100% what you mean, so would you mind creating the issue and elaborate your idea?

I'm unsure if warns on startup are a side-effect of something else. I've seen @LesnyRumcajs mentioning that in Slack, perhaps he'll be best equipped to elaborate more as I'm not very familiar with the problem myself.


chore: bdd-nh-import-1582852771 to 0.0.1

chore: Promote bdd-nh-import-1582852771 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


iOS crash when select multiple and cancel

in iOS, when i select multiple photo and cancel after select
cancellation is not working.
and it crash sometimes
here's some video i record
https://github.com/user-attachments/assets/4f6731f5-a794-4af7-8b80-312e732d3c61
i think it happens in newer iphone?
iPhone 14 pro with iOS 18.1 happend
iPhone 13 pro with iOS 17.5.1 not happend
iPhone se 2 with iOS 18.1 not happened

i have same issue. Any answer for this ticket ?

On my case, i founded solution for this:
in MultipleImagePicker.swift ,
replace :
let cell = picker.collectionView(picker.collectionView, cellForItemAt: IndexPath.init(row: at, section: 0)) as! Cell
to
let cell = picker.collectionView.cellForItem(at: IndexPath(row: at, section: 0)) as? Cell

Check new version: 2.0
Docs: https://baronha.github.io/react-native-multiple-image-picker/


DDOS & out of memory & disk full

params width i height are no secure.
examples:

width or height: -10 => file null - no image || HTTP Status 500
width or height: 10000 => very disk usage
width or height: 1mln => out of memory

My opinion on that

Service provider should include publishable config https://laravel.com/docs/8.x/packages#configuration.
That config should include min (uint),max (uint),allowed_widths (array uints)', allowed_heigths  (array uints)`  with default values

[
  'min' => 10,
  'max' => 1000,
  'allowed_widths' => null,
  'allowed_heights' => null
]

or something like that
2. there should be tests for each of given edge cases
3. API to this should use rate-limiting by default with low number
@krystianj-escola @pa-cholek @MWL91 any thoughts ?

We could also prevent upscaling pictures (limit max width/height to max width/height of original picture)

It could work also as register of new sizes in config, by name. It that case frontend may ask for specific sług of size that is registered, and sizes will be hidden from public request, like it is done in Wordpress (in a good way).

@krystianj-escola @MWL91 can you check now

It looks ok, but when i look at: https://github.com/EscolaLMS/Images/commit/4cb3cf82bee36a3aafe835b60a137b4f3a436149 I can not see test for this issue (should be written to never have the issue again).
Also there is a little bit wired, having determineWidthAndHeight, that check for slug, and for available sizes with undocumented array parameter. If I would like to change or use that private method, I will don't know what should be pass there without read the code. However it's not about solution, but about style, and architecture.
If we want to have it written in not open for modification style, like it is now, then I don't see useful to separate this method if it only check for slug size, and size, so its not SRP.
list($width, $height) = $this->determineWidthAndHeight($img, $params);

I would recommend moving the logic of searching for the slug configurated inside render and if is not available, use logic from determineWidthAndHeight between 68 and 73 line.
It would be even better if it could use strategy, to be more editable and extendable, but I don't know if we don't have overengineering then, when its simply change image size.
However I think we must have test that cover this issue, and proof that it works. By reading current code I'm not sure 100%, but it only seems to be ok.

PS. RateLimiter could be a middleware too, then we prevent controller to have logic, and on specific request developer could disable it when required or change rules.


[FEATURE] Do not count the failure replica reuse failure caused by the disconnection

Is your feature request related to a problem? Please describe.
This is an enhancement for #1304
The failure replica reuse failure caused by the disconnection should not be count into replica.Spec.RebuildRetryCount. Typically the reuse retry is designed for the data transmission failure during rebuilding.
Describe the solution you'd like
Longhorn can check the failure reason before modifying replica.Spec.RebuildRetryCount. In order to do it, Longhorn needs to record the failure reason for each replica first.

Considering moving out of v1.2.0.

Verified passed on master-head (longhorn-manager 2976b0d) following the test steps.


spaces lost in tags with shapepar

With the shapepar package, spaces are lost in the tags. I can't tell if this is a real issue or just an issue with Acrobat's display. Also, for some reason uploading the resulting pdf to ngpdf errors.
 In addition it build a bunch of empty paragraphs, most likely because paragraph tagging is activated while it is building trial results. Bottom line I think it is best called incompatible even though it might be simple to fix.


Renamed --file to --playbook

This is a matter of taste, but I think that this change makes the project a bit better.
Here is the currect interface of spot:
$ spot_0_7_2 --help
simplotask v0.7.2-7ad5d3d-2023-05-01T08:54:45Z
Usage:
  spot_0_7_2

Application Options:
  -p, --file=           playbook file (default: spot.yml) [$SPOT_FILE]
...
      --inventory-file= inventory file [$SPOT_INVENTORY]
...

Here I did the changes

--file => --playbook. This make long option playbook consistent with the short option p
$SPOT_FILE => $SPOT_PLAYBOOK. This makes it play well with the other env variable $SPOT_INVENTORY

Hmm. Not sure that I understand why the CI failed.

I did a force push to my branch (no changes to the code, but some changes in metadata of the commit) to re-run the CI. And now the CI passed all the steps without the erros.
I don't understand why the first CI run failed ( https://github.com/umputun/simplotask/actions/runs/4851676409 ), but I don't think that this matter much.

Can you pls rebase with the current master and resolve the conflict?

I see that you have changed the name of the repo from simplotask to spot (and I"m very happy with this change), so I've deleted my existing fork bessarabov/simplotask to create new fork bessarabov/spot. But the deletion of my fork lead to the auto close of this PR.
The new PR on this topic is https://github.com/umputun/spot/pull/38


Add more on KHR_debug as a new page.

I had promised that I would write this article a while back, but I had since forgotten to write it.
Thank you @NogginBops for the reminder. I'll be Waiting for your and others feedback. :)

Pushed a change to make the image gallery animations snappier.

This looks good to me. Great work @utkumaden !
Merging this!


Supports external finish timestamp in HTTP client and server handling

Armeria supports RequestLog.responseEndTimeNanos() for more precise
timestamps, which line up with metrics. This punches a hole so that it
is possible to use this without copy/pasting most of the handler code.
cc @trustin @kojilin

reworked I like this better


Added a default target, and updated README

I made building it a bit clearer, and added a default target leading to the custom target file

Nice. Thank you!