German words have /zx/ where /ʃ/ would be correct

For a lot of words with sch in the middle like Altschulden and Baumschule the sch is described as /zx/ where /ʃ/ would be correct. AFAIK /zx/ doesn't occur at all in German.

Thanks for catching this! You're absolutely right, this looks like it might be a parsing error in germanipa where it analyzes "s" and "ch" separately. Happily, this seems like something that should be easy to fix -- would you be interested in submitting a PR to replace /zx/ with /ʃ/ in the German data?


fix: also add spark-mention to list of allowed elements

:tada: This PR is included in version 1.3.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Check that ynabGridContainer is defined before referencing it

When YNAB is loaded directly to the budget screen, the DOM element with class ynab-grid-container doesn't exist yet the code was not taking that into consideration. This code change fixes that.
Github Issue (if applicable): #653
Trello Link (if applicable):
Forum Link (if applicable):
Explanation of Bugfix/Feature/Enhancement:
Ensure variable is defined before referencing it.
Recommended Release Notes:
Corrects an internal logic error that produced a console error when YNAB is loaded straight to the budget screen.

Thanks!


Getting error after upgraded connected-react-router to 6.5.0 and react-redux to 7.1.0

Last week I upgrade router related packages in my project after that, I am getting 2 errors while running the project.
Packages which are updated from and to versions
"connected-react-router": **"6.5.0"**, Upgraded from **"5.0.1"**
"react": **"16.8.6"**, Upgraded from **"16.8.2"**
"react-dom": **"16.8.6"**, Upgraded from **"16.8.2"**
"react-redux": **"7.1.0"**, Upgraded from **"5.1.1"**
"react-router-dom": **"5.0.1"**, Upgraded from **"4.3.1"**

The error which I am getting

Uncaught Invariant Violation: Could not find "store" in either the context or props of "Connect(t)". Either wrap the root component in a , or explicitly pass "store" as a prop to "Connect(t)"

Uncaught Error: Invariant failed: You should not use <withRouter(InjectIntl(Component)) /> outside a

Before upgrading everything is working fine.
App.js
import React from 'react';
import { Provider } from 'react-redux';
import { IntlProvider, addLocaleData } from 'react-intl';
import { browserHistory } from ;
import en from 'react-intl/locale-data/en';
import xh from 'react-intl/locale-data/xh';
import initialState from './state/initialState';
import { configureStore } from './store/configureStore';
import RestApi from './services/RestApi';
import AppContainer from './components/AppContainer';
import { findUserLocale } from './i18n/i18n';
// If needed can pass initialState to configureStore
const history = browserHistory;
const store = configureStore(initialState, history);
RestApi.store = store;
addLocaleData([...en, ...xh]);
const locale = findUserLocale();
let messages;
try {
messages = require(./i18n/${locale}.json); // eslint-disable-line
} catch (e) {
messages = require('./i18n/en-US.json'); // eslint-disable-line global-require
}
const App = () => (

);
export default App;
AppContainer.js
only required code copied here.
  <ConnectedRouter history={history}>
    <App inline={true} centered={false}>

              <HeaderPanel title={title} />
              <Switch>
                <Route  />
                ... routings code
                <Route path='*' component={NotFound} />
              </Switch>

          </Split>
    </App>
  </ConnectedRouter>

Do I need to pass anything to Provider and ConnectedRouter according to connected-react-router v6.5.0 to run properly?
Please let me know how to fix these 2 issues.

We have a similiar issue:
We updated from - to
"react-redux": from "5.0.7" to  "7.1.0",
"react-router":  from "4.3.1" to "5.0.1",
"react-router-dom": from "4.3.1" to "5.0.1",
"connected-react-router": from "4.4.1" to "6.5.0",
React were not updated during the process:
"react": "16.8.6",
"react-dom": "16.8.6",
This is some part of our code:
const reducers= combineReducers({
    router: connectRouter(history),
    ...someOtherReducers...
});
const history = createBrowserHistory();
const routerMw = routerMiddleware(history);
let middleware = [routerMw, someOtherMiddlewares];
appliedMiddleware = compose(appliedMiddleware);
const store = createStore(reducers, undefined, appliedMiddleware);

render((
        <Provider store={store}>
            <ConnectedRouter history={history}>
                 <Route component={withTracker(AppConnected)}/>
            </ConnectedRouter>
        </Provider>
    ),
    document.getElementById('app') as HTMLElement
);

This works pretty well on our local build with the libs code from the node_modules directory.
But our deployment build fails when using packages from CDN (unpkg):

We managed to find out this Problem and added a context to the Provider and ConnectedRouter:
render((
        <Provider store={store} context={ReactReduxContext}>
            <ConnectedRouter history={history} context={ReactReduxContext}>
                <Route component={withTracker(AppConnected)}/>
            </ConnectedRouter>
        </Provider>
    ),
    document.getElementById('app') as HTMLElement
);

This also works with node_modules libs but fails with another error in production build:

Thats odd, because we use a Connected Router?! In spite of all we wrapped the Route component in a Router:
render((
        <Provider store={store} context={ReactReduxContext}>
            <ConnectedRouter history={history} context={ReactReduxContext}>
                <Router history={history}>
                    <Route component={withTracker(AppConnected)}/>
                </Router>
            </ConnectedRouter>
        </Provider>
    ),
    document.getElementById('app') as HTMLElement
);

Does not look right. But still works in local mode with node_modules, but also fails with CDN packages:

We see no other way to downgrade back to older versions. Have we missed something? Is there a problem on cdn packages? Did we make a mistake after updating?
Thanks a lot :)

Going from 6.4.0 to 6.5.0 as well as react-redux@^6 to<EMAIL_ADDRESS>and I had a flawless upgrade. These are my most important diffs:
Diff for package.json:
 "dependencies": {
-    "@material-ui/core": "^4.1.3",
+    "@material-ui/core": "^4.2.0",
-    "connected-react-router": "^6.4.0",
+    "connected-react-router": "^6.5.0",
-    "i18next": "^17.0.4",
+    "i18next": "^17.0.6",
-    "react-i18next": "^10.11.2",
-    "react-redux": "^6",
+    "react-i18next": "^10.11.4",
+    "react-redux": "^7.1.0",
-    "redux": "^4.0.1",
+    "redux": "^4.0.2",
-    "redux-saga": "^1.0.4",
+    "redux-saga": "^1.0.5",
  },
  "devDependencies": {
-    "@babel/core": "^7.4.5",
-    "@babel/preset-env": "^7.4.5",
+    "@babel/core": "^7.5.0",
+    "@babel/preset-env": "^7.5.3",
-    "@types/classnames": "^2.2.8",
+    "@types/classnames": "^2.2.9",
-    "@types/enzyme": "^3.9.4",
+    "@types/enzyme": "^3.10.1",
-    "@types/node": "^12.0.10",
+    "@types/node": "^12.6.1",
-    "@types/react": "^16.8.22",
+    "@types/react": "^16.8.23",
-    "@types/react-redux": "^6",
-    "@types/react-router": "^5.0.2",
+    "@types/react-redux": "^7.1.1",
+    "@types/react-router": "^5.0.3",
-    "@types/uuid": "^3.4.4",
-    "@types/yup": "^0.26.18",
+    "@types/uuid": "^3.4.5",
+    "@types/yup": "^0.26.21",
-    "typescript": "^3.5.2",
+    "typescript": "^3.5.3",
  }

Diff for src/App.tsx (our component which holds all the providers)
- import { Provider } from 'react-redux';
+ import { Provider, ReactReduxContext } from 'react-redux';
import React, { FC } from 'react';
import { I18nextProvider } from 'react-i18next';
import { SnackbarProvider } from 'notistack';
import ConnectedHeader from 'containers/Header';
import { ConnectedRouter } from 'connected-react-router';
import configureStore, { history } from 'config/store';
import CssBaseline from '@material-ui/core/CssBaseline';
import { createMuiTheme, MuiThemeProvider, Theme } from '@material-ui/core/styles';
import { StylesProvider } from '@material-ui/styles';
import i18n from 'config/i18n';

const App: FC = () => {
  const initialState = {} as any;
  const store = configureStore(initialState);

  return (
-    <Provider store={store}>
+    <Provider store={store} context={ReactReduxContext}>

    </Provider>
  );
};
export default App;

For reference's sake this is how App is loaded in index.tsx:
// tslint:disable:ordered-imports
import 'core-js';
import 'react-app-polyfill/ie11';
import React from 'react';
import ReactDOM from 'react-dom';
import App from 'App';
import 'styles/styles.scss';
// tslint:enable:ordered-imports

const target = document.querySelector('#root');
ReactDOM.render(<App/>, target);

And some other parts of code:
from src/store/index.ts
import {
  connectRouter, go, goBack, goForward,
  push, replace, RouterState
} from 'connected-react-router';
import { History } from 'history';
import { combineReducers } from 'redux';
import { all, fork } from 'redux-saga/effects';
import SnackbarReducer from './snackbars/snackbarReducer';
import { SnackbarState } from './snackbars/snackbarTypes';
import * as snackbarActions from 'store/snackbars/snackbarActions';
import { ActionType } from 'typesafe-actions';

const routerActions = {
  push: typeof push,
  replace: typeof replace,
  go: typeof go,
  goBack: typeof goBack,
  goForward: typeof goForward,
};

export type ApplicationState = Readonly<{
  router: RouterState;
  notifications: SnackbarState;
  // other states
}>;

export function* rootSaga () {
  yield all([fork(/* stubbed */), fork(/* stubbed */)]);
}

export const rootActions = {
  router: routerActions,
  notifications: snackbarActions,
// other actions
};

export type RootAction = ActionType<typeof rootActions>;

// @ts-ignore
export default (history: History) => combineReducers<ApplicationState>({
  router: connectRouter(history),
  notifications: SnackbarReducer,
  // other reducers
});

src/config/store.ts
import { routerMiddleware } from 'connected-react-router';
import { createBrowserHistory } from 'history';
import { AnyAction, applyMiddleware, createStore, Middleware, Store } from 'redux';
import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';
import { createLogger } from 'redux-logger';
import createSagaMiddleware, { SagaMiddleware } from 'redux-saga';
import createRootReducer, { ApplicationState, rootSaga } from '../store';

interface HotNodeModule extends NodeModule {
  hot: any;
}

export const history = createBrowserHistory();

export default (initialState: ApplicationState): Store<ApplicationState> => {
  const composeEnhancers = composeWithDevTools({});
  const sagaMiddleware = createSagaMiddleware();
  const middlewares: (SagaMiddleware | Middleware)[] = [routerMiddleware(history), sagaMiddleware];
  const logger = createLogger({
    collapsed: (getState: () => any, action: AnyAction, logEntry: any) => !logEntry.error,
  });

  if (process.env.NODE_ENV === `development`) {
    middlewares.push(logger);
  }

  const store = createStore(
    createRootReducer(history),
    initialState,
    composeEnhancers(applyMiddleware(...middlewares))
  );

  // Hot reloading in development
  if ((module as HotNodeModule).hot) {
    (module as HotNodeModule).hot.accept('../App.tsx', () => {
      store.replaceReducer(createRootReducer(history));
    });
  }

  sagaMiddleware.run(rootSaga);
  return store;
}

@Larsrdev might I ask, why have production builds use unpkg and not use Webpack to create a single bundle which has react, react-redux and all such libraries bundled in a properly tree-shaken bundle? We used to use unpkg ourselves and specified in Webpack to make React and such external but it was extremely unreliable as we did not directly control package versions.

I had the same issue:
    "connected-react-router": "6.5.2",
    "react-redux": "7.1.0",
    "react-router": "5.0.1",
    "react-router-dom": "5.0.1",

No idea why but removing the package-lock.json and the /node_modules folder and reinstall solved the issue.

No idea why but removing the package-lock.json and the /node_modules folder and reinstall solved the issue.

That would be because package-lock locks version installs to whatever it has specified. In this case that's react-redux v6 which you had previously. Read up on what the package lock does here. You should upgrade packages not by just changing your package.json but instead use the npm update command
(or switch to Yarn which uses a more sensible way of a lockfile)

[...] why have production builds use unpkg and not use Webpack to create a single bundle which has react, react-redux and all such libraries bundled in a properly tree-shaken bundle? We used to use unpkg ourselves and specified in Webpack to make React and such external but it was extremely unreliable as we did not directly control package versions.

To reduce the size of our app. We made a gulp script, that is generating the unpkg urls with the fixed version numbers of our package.json.
The problem at your package.json @Favna is, that your versions are not fixed ones. You defined the "min" version, but the used one can be another.
I have deleted my package-lock.json and /node-modules dir, and run npm install again, but this does not solve the issue.
This also doesnt work:
<Provider store={store} context={ReactReduxContext}>
            <ConnectedRouter history={history} context={ReactReduxContext}>
                <Route render={() =>
{'hello'}
}/>
            </ConnectedRouter>
</Provider>

This is my package.json on the not working branch:
"dependencies": {
    "@babel/polyfill": "7.4.4",
    "@cospired/i18n-iso-languages": "1.0.2",
    "aws-amplify": "1.1.7",
    "bowser": "2.4.0",
    "connected-react-router": "6.5.0",
    "cropperjs": "1.4.1",
    "draft-js": "0.10.5",
    "dragula": "3.7.2",
    "js-sha1": "0.6.0",
    "lodash": "4.17.11",
    "loglevel": "1.6.1",
    "moment": "2.24.0",
    "qs": "6.5.2",
    "react": "16.8.6",
    "react-dates": "20.2.5",
    "react-dom": "16.8.6",
    "react-ga": "2.5.3",
    "react-localization": "1.0.11",
    "react-markdown": "4.1.0",
    "react-redux": "7.1.0",
    "react-router": "5.0.1",
    "react-router-dom": "5.0.1",
    "react-visibility-sensor": "5.0.2",
    "redux-logger": "3.0.6",
    "scroll-into-view": "1.9.4",
    "semantic-ui-react": "0.82.5",
    "ts-md5": "1.2.4",
    "whatwg-fetch": "3.0.0"
  },
  "scripts": {
    our scripts
  },
  "devDependencies": {
    "@types/amazon-cognito-auth-js": "1.2.0",
    "@types/cropperjs": "1.1.3",
    "@types/draft-js": "0.10.27",
    "@types/dragula": "2.1.34",
    "@types/graphql": "14.2.0",
    "@types/jest": "24.0.12",
    "@types/lodash": "4.14.116",
    "@types/loglevel": "1.5.3",
    "@types/node": "12.0.0",
    "@types/qs": "6.5.1",
    "@types/react": "16.8.15",
    "@types/react-dates": "17.1.5",
    "@types/react-dom": "16.8.4",
    "@types/react-redux": "7.0.1",
    "@types/react-router": "5.0.3",
    "@types/react-router-dom": "4.3.4",
    "@types/redux-logger": "3.0.6",
    "@types/scroll-into-view": "1.6.6",
    "@types/zen-observable": "0.8.0",
    "full-icu": "1.2.1",
    "jest": "24.8.0",
    "jest-junit": "6.4.0",
    "preprocess": "file:./preprocess",
    "redux-devtools-extension": "2.13.8",
    "ts-jest": "24.0.2",
    "ts-mockito": "2.3.1",
    "tslint": "5.16.0",
    "tslint-ban-snippets": "2.1.0",
    "tslint-react": "4.0.0",
    "typescript": "3.4.5"
  },

@Favna thank you ,i solve the bug.it is saved my time.

I managed to fix it by doing the following. Furthermore to upgrade to:
"connected-react-router": "6.5.2",
"react-redux": "7.1.0",
"react-router": "5.0.1",
"react-router-dom": "5.0.1",
"redux": "4.0.4",
"redux-saga": "1.0.2"

I had to upgrade any packages using react-router like:
"react-router-ga": "^1.2.1",
"react-router-hash-link": "^1.2.2",

I've had the same issue yesterday. And this worked for me. Yes, slap me in the face!
https://stackoverflow.com/a/55861889/309699

store is undefined !!!
i try to change version but it doesn't to work,
    "babel-polyfill": "^6.26.0",
    "connected-react-router": "6.0.0",
    "history": "^4.7.2",
    "react": "^16.9.0",
    "react-dom": "^16.9.0",
    "react-hot-loader": "^4.12.12",
    "react-redux": "6.0.0",
    "react-router": "4.3.1",
    "react-router-dom": "4.3.1",
    "redux": "4.0.1",
    "redux-saga": "^1.0.5"

In my case, this was happening because there were two different versions of "react-router", meaning this is probably not an issue with "connected-react-router". react-router has a variable 'context' and since there was more than one react-router, there were multiple instances of Context floating around and the wrong one was being picked up in a specific scenario causing the exact error mentioned in the OP.
I changed the versions of react-router (and react-router-dom for good measure) to all be the same and it still didn't fix the issue because eventhough the versions were same, there still were multiple copies of the the same version of react-router.
I ran 'npm dedupe' after this and it removed one of the versions and the problem got fixed.

I was able to fix it by passing the react-redux context into the connected react router like this:
<Provider store={store} context={ReactReduxContext}>
  <ConnectedRouter history={history} context={ReactReduxContext}>
    {/* your routes here /*}
  </ConnectedRouter>
</Provider>

Not sure why...

@Favna
Thaaank you!  All I was missing was the ReactReduxContext
import { Provider, ReactReduxContext } from 'react-redux';

render(
    <Provider store={store}>
        <ConnectedRouter history={history} context={ReactReduxContext}>
            <App />
        </ConnectedRouter>
    </Provider>,
    document.getElementById('root')
);

In my case, this was happening because there were two different versions of "react-router", meaning this is probably not an issue with "connected-react-router". react-router has a variable 'context' and since there was more than one react-router, there were multiple instances of Context floating around and the wrong one was being picked up in a specific scenario causing the exact error mentioned in the OP.
I changed the versions of react-router (and react-router-dom for good measure) to all be the same and it still didn't fix the issue because eventhough the versions were same, there still were multiple copies of the the same version of react-router.
I ran 'npm dedupe' after this and it removed one of the versions and the problem got fixed.

Had the same issue and this fixed it for me the cleanest. Wasn't aware of npm dedupe, will come in handy in the future.
Note, you also don't need react-router and react-router-dom as dependencies since react-router-dom already has react-router as a dependency and will re-export all it's functionality.

Same happened to me, it was that context api which was causing a conflict. I also had to check every single inner components inside render method to make sure that none of them use context api and has no this.context available inside them. I then deleted context api stuff and wrote an alternative react-redux state, no context api, no problem


Can't find /app/.cache & ClientAuthError

Describe the bug
When I start up my Synology RS819+, I get 2 errors in the Docker logs below.

I can't find the /app/.cache file anywhere on my system. Where should I be looking?
It says that it cannot resolve my endpoints? Where should I start to diagnose my problem?

I am on the dev branch on Docker, because I needed a version for the ARM architecture.
Debug Log is attached
_AzureSSO_logs (2).txt

Perhaps you have not configured your Docker container? Error 1 means that you have not mapped the volume. Error 2 means that you probably have not set any environment variables (azure_tenantid, azure_app_id, azure_app_secret, ...).
Did you follow the installation? Printscreens from a NAS (Environments, Port settings, Volume) can be found in step 1 here.

One addition: Error 2 could also indicate that a proxy is in use? If you are using a proxy server, you can set the proxy URL in the environment variable HTTPS_PROXY or HTTP_PROXY (if regular http proxy).

I did set those environment variables. I took the specific ids out of the log I posted, just for security purposes.
How do I map the volume? I couldn't find the cache file.
I am not using a proxy server.
I can check my variables again, but I double checked that I had inputted the correct variables.
Please advise on a next step. Thank you!

You can create an empty folder anywhere on your NAS (often under /docker/, e.g., /docker/ldap)
Edit the Docker container, go to the volume settings, and then select "Add Folder":

Can you try the link ( https://login.microsoftonline.com/..../v2.0/.well-known/openid-configuration copy and paste from the log file) with your tenantid in a browser? Is the page available?
Your NAS has access to the Internet? No firewall or similar blocks it?

I got the volume mapping issue based on your suggestions. Thank you.
I'm still struggling with this network stuff. I tried the link just in my browser, and I got this response:
{"token_endpoint":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/oauth2/v2.0/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/discovery/v2.0/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","id_token token"],"scopes_supported":["openid","profile","email","offline_access"],"issuer":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/v2.0","request_uri_parameter_supported":false,"userinfo_endpoint":"https://graph.microsoft.com/oidc/userinfo","authorization_endpoint":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/oauth2/v2.0/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/oauth2/v2.0/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/oauth2/v2.0/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","nonce","preferred_username","name","tid","ver","at_hash","c_hash","email"],"kerberos_endpoint":"https://login.microsoftonline.com/TOKEN_I_REMOVED_MANUALLY/kerberos","tenant_region_scope":"NA","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}
So, my keys work on the Azure side. I think I'm not configuring my network right. I'm doing it in Portainer, because my Synology doesn't support the Docker application that Synology has. Any suggestions? I've tried making a bridge network, and other kinds, but no dice.

Sorry, I have no network experience with Portainer so far. Can you start a console directly to the container with Portainer? If yes, you could try it with a ping. First ping a server via IP, e.g. <IP_ADDRESS> If the ping goes via IP, name resolution/DNS is probably your problem. If pinging an IP doesn't work either, the network traffic seems to be not possible at all.

In the docker dev tag are now some settings checked at startup. Depending on the error also a few details about the network and DNS are logged. This might help in your issue, if you are still interested in the wrapper.


PR 11 - Implement New toolkit version csharp samples

Sample List -
1. app-complete-auth
2. tab-deeplink
3. app-complete-sample
4. app-link-unfurling-in-share-to-teams
5. graph-rsc

Build Pipeline -
https://github.com/OfficeDev/Microsoft-Teams-Samples/actions/runs/10070904367


Spineboy engine example fails to work when using ES6 build

I don't see the codebase calling https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions and so I'm not sure what is causing this yet.

if I build the examples this way, it works:
engine: target=debug_es6 npm run watch
examples: ENGINE_PATH=../build/playcanvas.dbg.mjs/index.js npm run develop
but when I use npm run build for both, it does not
@ellthompson - any suggestions here?

Similar issue takes place when using module build on examples that use post-effect, for example area-picker. See the selected line causing the issue, again related to access to pc. namespace

See the selected line causing the issue, again related to access to pc. namespace

It's because you cannot mix ES5 and ES6... i mean you can, but then you run into issues like that.
So the choice is all-in or all-out:
Works:
function Animal() {}
function Bird(fName, lName, eId) {
  Animal.call(this);
}
bird = new Bird()

Doesn't work (because mixing ES5 and ES6):
class Animal {}
function Bird(fName, lName, eId) {
  Animal.call(this);
}
bird = new Bird()

Personally I don't waste my time with these kinds of issues any longer and I'm simply all-in for ES6.
Neither do I want or need and bundler during the development process, so I rewrote the example system into ES6 for myself to remove all the *.tsx sugar into pure *.mjs.
Why should we still cling to ES5? We already assume everyone uses WebGPU but ES5 is backwards-compatibility? I don't know how that works together.
Obviously we still want to ship the engine in ES5, but transpiling into ES5 is exactly what bundlers excel at.

@kungfooman - Thanks for the response here. We understand and agree to need to move to ES6, and we're working on a solution for this as an example: https://github.com/playcanvas/engine/issues/4767
But it's non-trivial to move there - this is one of the larger things we need to handle in order to move fully to ES6.

Thank you for the response too.
How does that issue block anything? You simply need to rewrite it into ES6:

The old entity script style works in ES6 without problems. The only issue here is trying to extend an ES6 class in the ES5 way.

But this change makes the script to be ES6 and it no longer works when using ES5 only browsers. We could maintain both versions / transpile it to ES6 or similar, but this change is not all there is unfortunately.

Another ES6 issue in Spine:

Object.defineProperty(Spine.prototype, "state", {
	get: function () {
		return this.states[0];
	}
});

(because we only have a getter without setter)
If we wanted to have proper ES6, we would need to rewrite https://github.com/playcanvas/playcanvas-spine or just fix bugs on a 1-on-1 basis.
At least I believe that's easiest (transpiling down to ES5)

Note that this issues only take place on the ES6 build of the engine / examples. Using ES5 for both works great.

There's a few steps in correcting this gracefully.  First question:
Before it is transpiled, what is the language level developers are expected to write and submit code in and why es2022 ? ;-)
We can use this answer to add one line into the eslint configuration to warn when developers go above it.  All pull requests will be checked against it so it will keep the code base clean.
@playcanvas/eslint-config is currently setting the following:
  "parserOptions": {
    "ecmaVersion": "latest",  // configures tools 2023 at the moment
    "sourceType": "module",
    ...
  },

  "env": {
    "browser": true,
    "es2020": true,  // sets environment for 2020
    "node": true,
    "worker": true
  }

There's a few steps in correcting this gracefully. First question:

Future PR's, yes, for commited code, no:
https://github.com/playcanvas/playcanvas-spine/blob/71ec3c5d9a534cf05e6b5a20db6aa55198aad842/src/component/spine-component-system.js#L1-L5
No one will go back to ES5, so someone will eventually rewrite the playcanvas-spine project to ES6, I suppose.

This is a cap, or upper bound.  Everything below is just fine.
Tools should be fine with it too if we give them consistent configs.

Yea, we can even transpile everything down to ES3. But why? ES6 is setting the standard, and not ES5.

What is the minimum expected node version for engine developers (not consumers or users) and why 18.x ?
Developers in this case are people and systems who will actively build / preview builds of the engine, not consumers of the final build products.
The idea is to remove inconsistencies between tool behaviour running on unsupported versions of node.    Most tooling requires at least 16.x.  In a few weeks, even 16.x wont be supported.  CI system was updated to 18.x and a PR is on the way so tests can be run over a matrix of node versions when required.
This setting is fed back into the package.json so developers get a non-blocking warning to update to a stable version.  Some tooling respects this and many people have switchers that swap versions for them between projects.

Along the way, we can clean up some configs and duplication.
Better definitions on what the guarantee of es5 code is.  There might be confusion among users and developers alike from what I have read.
Here's a straw man to beat up:

es5 code should only be expected in the final build products processed by the tooling or where code is expected to be consumed directly / processed by the end user (see scripts directory?)

I'll be honest, I'd go much further.  The last reasonable use case for having a webgl library supporting es5 disappeared a few years back.

The last reasonable use case for having a webgl library supporting es5 disappeared a few years back.

That is true in general, but unfortunately our scripts in the Editor still depend on ES5 engine, so we need it, till we finalize that upgrade to module world as well.

I have only seen pictures of the editor. That sounds exciting. I hope to learn enough about the library to contribute to that.
In the meantime, if we can get consensus and clear answers to these questions, I'll submit PR's to bring things into alignment.

have only seen pictures of the editor.

create a free account and have a good. Or contribute to the engine instead :)
our official npm version at the moment is 16.15.0, which we used across repos. Ideally we'd aim higher though as we're looking at moving to 18 or so

Also, maybe we can kill 2 stones with one bird by addressing the issues in playcanvas-spine.

Quick update on playcanvas-spine.  Here's what's been causing you issues.

example files are bound to the version of the tool / library that created them
playcanvas-spine project does not build to any standard, it literally glues 5 IIFE files together.
API changes between 3.8 - 4.1 (passing slot.bone instead of slot)

This is not fixed, the issue is that you cannot extend pc namespace as in e.g. here:
pc.extend(pc, function () {
    var SpineComponentSystem = function SpineComponentSystem(app) {
        pc.ComponentSystem.call(this, app);

https://github.com/playcanvas/playcanvas-spine/blob/bb181dd779bda5d38ace58bcc141f51544f92e1c/src/spine.js#L5
Now it "looks" like ES6, but still using the ES5 pattern which is not allowed any longer.

My understanding is that "extend" refers to the method defined in "src/core/core.js".
https://github.com/playcanvas/engine/blob/128b0dfbe0d3cf7a75a0463169b6eccf0e3286a4/src/core/core.js#L85
It simply copies enumerable properties recursively.  Nothing language specific there.
function extend(target, ex) {
    for (const prop in ex) {
        const copy = ex[prop];

        if (type(copy) === 'object') {
            target[prop] = extend({}, copy);
        } else if (type(copy) === 'array') {
            target[prop] = extend([], copy);
        } else {
            target[prop] = copy;
        }
    }

    return target;
}

I'm going to test it out in examples now to give you peace of mind and address any issues.
You do bring up a good point.
There are edge cases to writing a deep "reference only" copy that way. They use bject.hasownproperty and those bits to make it safe.  It's same reason object based dictionaries are slowly being replaced with maps by Martin.

m8 you overthink it:
cd playcanvas-engine
pc = await import("./src/index.js");
> pc.nope = "see"
'see'
> pc.nope
undefined

Spine lib is extending an object, which cannot be extended - nothing about deep references or something.
Analog in browser:

Couple of bits.

examples havent been updated with new spine build
src/iframe/pc-es5.mjs has an extra space when importing engine versions so it fails
examples builds typescript es5, rollup does its best but wants es6 input and does conversion back
command for switching engine versions with temp environment var only works on Mac

I am updating this comment with the results of tests.

Examples
Spine
PlayCanvas Engine
Status

es5
es5
es5
good

Observations:
2 instances of playcanvas engine are created.  The first is playcanvas.js, the second one is whatever is being tested.  it appears that a new instance is created for each iframe (example).  Must be to ensure the test is clean.

You're right and I understand what you wrote the first time.  I'm just running through this exhaustively so when it's done, its done for good.

I'm at the half way point but I can give you some solid answers.

This spine issue belongs in the spine project and should remain closed.
the examples project is one of the coolest projects i've read, state of the art
it's build configuration could use some more attention

The current implementation of spine needs to store data and make features available to every app instance that the global "pc" instance might create.  It needs to persist it even when those app instances, scenes, or root nodes are destroyed.  At the time, a clever and graceful solution was to tuck things neatly into the "pc" variable to make sure its available no matter what happens.  If it took a different approach to meet those goals, this issue goes away.

For the Engine Project, something like the following might help.
If the "pc" variable was a javascript proxy for the real "pc" object we all know, it could forward method calls to a list of registered plugins if it does not exist on the real object.  All code stays the same.  The proxy exposes named singleton instance storage that will live as long as the real "pc" object and this proxy.
I used like this to have a micro game engine (implemented as a proxy) accept and buffer calls from the application (register modules, add textures, etc) while the real game engine was still downloading.

Found a solution for wrapping scripts and plugins in a es6 proxy so they get es5 behaviour when they access globals.  I'll try to implement on spline in its current form as a proof of concept.  Don't know if this can solve the problem of state and scope bound to one instance of "pc".  I like it because the plugin / script has the tiny overhead, not normal calls to the engine.

Since the problem is completely on the Spine side, I will continue to work on it under the issue raised on that repo.  See link above.

All sorted.  Waiting for the PR review.
If you want to test it in examples, make sure to copy the new spine 3.8 into the scripts/spine in the root of this repo before you build and set engine version in examples.  The build will copy that one into the examples folder.
Same file works es5 and es6, in both editor and examples.
Editor demo here: https://playcanvas.com/project/1124022/overview/spine-41-demo


docs(intro): fix small grammar issue

Description:
Small grammar fix in intro docs.

Coverage remained the same at 97.698% when pulling 5126b540fa00192387bc03ddaeda9aac64b1c5a3 on icholy:fix-small-nitpick-in-docs into 31cf2bfa1707e090140cf0091de418720c260677 on ReactiveX:master.

👍

:shipit:

Thanks, @icholy!


Make build does not work

Running ubuntu
make build
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
chmod: cannot access '/data/home/test/test/docker-openldap/.mkpm/mkpm/.bin/mkpm': No such file or directory
./mkpm: 77: exec: /data/home/test/test/docker-openldap/.mkpm/mkpm/.bin/mkpm: not found
make: *** [Makefile:8: build] Error 127

Which dependencies are missing? GNU tools are installed by default, make is installed, remake is installed
EDIT: After installing https://github.com/clayrisser/mkpm
chmod: cannot access '/data/home/test/test/docker-openldap/.mkpm/mkpm/.bin/mkpm': No such file or directory
./mkpm: 77: exec: /data/home/test/test/docker-openldap/.mkpm/mkpm/.bin/mkpm: not found
make: *** [Makefile:8: build] Error 127

You aren't required to install mkpm since mkpm works with or without the mkpm binary installed.
The above error means you're not using GNU tar. Since it's not GNU tar, it fails to extract the mkpm cache, which is why the .bin/mkpm is not found.
Can you send me the version of tar you are using?
tar --version

Should give a similar output (could be a different version which is ok).
tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

If you're on OSX you can install GNU tar with the following command.
brew install gnu-tar

The reason mkpm requires gnu tar is because it supports a feature that prevents the tar file from changing the timestamp. This is necessary to prevent the mkpm cache from thinking it's a new cache file when it has the exact same files.
I could implement a fallback to other tar versions (which I might do), but it would make the cache.tar.gz think it's a new file sometimes, when nothing has actually changed, which could pollute the git lfs.
I might still do this for the convenience of those who don't have gnu-tar, but for now make sure gnu-tar is installed.

Thanks for your reply. I am on Linux not OSX. Here is my tar version, identical to yours in this case
tar --version
tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason

Oh, I bet you never enabled git lfs.
Can you cat the .mkpm/cache.tar.gz? If it's showing a git lfs pointer instead of binary data, then you probably didn't enable git lfs.
You can setup git lfs on debian/ubuntu with the following commands.
sudo apt install git-lfs
git lfs install

Then either re-clone the project or run the following command to lookup the lfs files.
git lfs fetch --all

git lfs is installed but I indeed did not enable it because I didn't expect to (it is nowhere mentioned). You should mention it in the readme because I didn't check every folder and simply cloned it. It is a prerequisite to build it.
93aaaf3d2dbdad0ef89a10357290e7c0a3f7bffd18f9143609d4e864c61bfb3e  .mkpm/cache.tar.gz
Now it just comes down to docker compose v1/v2 issues (v2 installed)
make build
/bin/sh: 1: docker-compose: not found
make[1]: *** [/data/home/test/test/docker-openldap/.mkpm/mkpm/.pkgs/docker/main.mk:177: build] Error 127
make: *** [Makefile:8: build] Error 2

Change export DOCKER_COMPOSE := docker-compose to export DOCKER_COMPOSE := docker compose in Mkpmfile

Yes, sorry about that. I will update the README.md to include that.
I will also fix the docker compose issue.
For now, you could alias it.
alias docker-compose="docker compose"


Add a diagram showing what the request flow looks like

I was struggling to hold these interactions in my head, so I drew a quick diagram. This is also a place to hang any information about short-circuiting logic if it's useful; but for now it's just a diagram.
Rendered version: https://github.com/wellcomecollection/catalogue-api/blob/items-apis-documentation/docs/requesting_flow.md

@jamieparkinson That seems unlikely, given I haven't touched this repo in months! I am still getting the odd GitHub notification for issues/PRs that I opened and haven't unsubscribed from yet, but I'm not pushing code (and don't think I should be able to?!).
I'm not actually requesting a review 👻 but I guess GitHub is telling you I am because I "own" the pull request? Very spooky!

Aha - I've caused my own issues then! Very odd, anyway, as you were!

*retreats back into fog and darkness*

But yay for finally getting this merged!


Cleanup ExpDirOps and devconfig

closes #41
ExpDirOps:

rename to clarify intent
clean up try/excepts:

reduce usage of try from 3 to 1
make except more strict by parsing gspread response

createjson.py:

cleanup helper functions
create funs in utils and vars in devconfig to extensively read interface files based on file presence

Devconfig:

remove unneeded code
add dev lab
add valid_interface_filenames

Utils:

see above under createjson.py point 2

~@ipendlet please take a look if you have time
Currently gives the following error:
https://gist.github.com/miketynes/2277a01dafb662700a929c8e87fb43f2~

Encountered this error:
https://gist.github.com/miketynes/2277a01dafb662700a929c8e87fb43f2
fixed with 967501a


FreeBSD and SO_SETFIB feature

For using source-routing on FreeBSD, I didn't found how to source-route packets generated by the system it-self.
This mean, if my FreeBSD-mlvpn-client is configured like that:
#Interface toward ISP-1
ifconfig_vtnet0="<IP_ADDRESS>/24 fib 1"
#Interface toward ISP-2
ifconfig_vtnet1="<IP_ADDRESS>/24 fib 2"
#Interface to internal LAN (default fib 0)
ifconfig_vtnet2="<IP_ADDRESS>/24"
static_routes="ISP1 ISP2"
route_ISP1="-fib 1 default <IP_ADDRESS>"
route_ISP2="-fib 2 default <IP_ADDRESS>"

Now I can't configure my firewall (ipfw) to says:

Put packet with source IP <IP_ADDRESS> into fib1
Put packet with source IP <IP_ADDRESS> into fib2

Then how to configure mlvpn to use different routing table ?
FreeBSD allow to setsockopt(2) with option SO_SETFIB:
  SO_SETFIB	      set the associated FIB (routing table) for the
			      socket (set only)

Is possible (or easy for a newbie C dev) to add this feature to mlvpn ?
The idea is to configure mlvpn like that:
[dsl2]
bindhost = "<IP_ADDRESS>"
bindport = 5082
bindfib = 1
remotehost = "<IP_ADDRESS>"
remoteport = 5082

[dsl3]
bindhost = "<IP_ADDRESS>"
bindport = 5083
bindfib = 2
remotehost = "<IP_ADDRESS>"
remoteport = 5083

I believe this will simplify the source-route setup.

Would not be hard to implement I guess.
Basically you would have to implement the new configuration option in the documentation, then the example file, then implement in configfile.c the read/reread, and finally implement it in mlvpn.c:mlvpn_rtun_start

Thanks for the advice, pull request send: https://github.com/zehome/MLVPN/pull/65

ok thank you, i'll review and test this


Reset password, Supabase, Flutter. Cannot change passord after back in app. Auth = null

Short story:
My flutter app works great with Supabase. My login works, change e-mail works but my reset password dose not work. I have implemented deep link.
I execute
await supabase.auth.updateUser(user)
witch sends me the password reset email.
After clicking the link my app opens and I am redirected to my forgot password page.
The link I receive in my app is parkeringsapp://parkering/glemtpassord?code=bb1de446-ddfc-43c3xxxxxxxxxxxxxxx
The user enters new password and I execute
UserAttributes user = UserAttributes(password: password);
var response = await supabase.auth.updateUser(user);
But gets a exception with Not logged in. The Supabase.auth.user is null.
And here I am stuck now for a week. As I have read clicking the link should log in the user, but that doesn't seams to happen to me.

Clicking on the recovery link does sign the user in. Do you use app_link in your app? If so, the deep link callback within supabase_flutter is not being fired because in app_link you cannot have multiple listeners. In that case you can call supabase.auth.getSessionFromUrl() manually within your app_link callback.
If the above does not apply to you, try to create a fresh new Flutter application with a magic link login and see if you can successfully authenticate with a magic link login. Magic link and password reset link work the exact same way, so if you can make magic link login work, you can implement the magic link login the same way.


fix for issue #1157

Pull request type
Bugfix: Issue number #1157
Current Behavior
Node clicks do not match the hovered node
New Bahvior
Node clicks always emit the currently hovered node.
Notes
This my implementation of proposed solution no. 1 from issue #1157. All that I did was remove the selection algorithm in the node click handler and instead just emitted the currently hovered node. If no node is currently hovered, it emits a stage click event. The hover selection algorithm remains unchanged. Note that this does not address any of the discussion regarding zIndex.

I just rebased and pushed your commit.
It will be released with the v2.1.0, should come soon (basically once #1159 is properly reviewed and merged).
Thanks a lot!


C# Service Fabric Application built on Windows, deployed on Mac

It appears that this article explicitly describes how to build a Java service on mac and how it can be deployed. Is there any documentation on taking an existing application written in C#, and deploy it on a Mac? I have been experimenting with SFCTL along with Powershell core, to not avail.
Thanks!

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

ID: 36484192-c2fc-5239-9d7a-d6f3bd9176f2
Version Independent ID: f1926b80-64c8-7eff-83c0-137b9a1b6ecc
Content: Set up your dev environment on macOS - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-get-started-mac.md
Service: service-fabric
GitHub Login: @suhuruli
Microsoft Alias: suhuruli

@MattHartz  Thanks for the Feedback.
I am looping in the doc author to check on this and add comments on this.

@suhuruli Can you please check on this and add your comments.

if the application is .net core, you should be able to deploy it to the SF Linux clusters using SFCTL. Can you please describe what's not working?

Hi @suhuruli!
I have a couple questions:

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started-mac appears to demo with an "install.sh" script. Is this only generated with Java applications?

I am trying to use SFCTL and am having issues. I get this error https://github.com/Microsoft/service-fabric-cli/issues/51 when trying to follow the doc https://docs.microsoft.com/en-us/azure/service-fabric/scripts/cli-deploy-application.

Any ideas?

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. Though the scope of our feedback channel here on GitHub covers specific documentation fixes, we can help redirect you to the right support channel to get an answer to your question: [reference to alternative product/service or community endpoint]. Because this issue does not relate to documentation, we are closing this issue. #please-close


[component]: Search input

Description
No response
Design
https://www.figma.com/design/JIT5AdGYqv6bDRpfBPV8XR/Foundations-%26-Components-Next-Level?node-id=2729-31193
Tokens

[x] Tokens for this component are ready

Token proposal

search-searchbutton-height
search-clearbutton-height
search-controls-border-radius (border radius of the search button and reset button)
search-controls-gap (space between search button and reset button)
search-padding-inline-end (padding the goes hover the two search buttons)

For the rest, reuse the token from the text input:

input-bg (enabled)
input-fg (enabled/hover/focus)
input-border (width/style/color) (enabled/hover/focus)
input-border-radius
input-padding-inline
input-padding-block (empty/filled)
input-block-gap (space between value and label)
input-label-font (size) (empty/filled)
input-value-font-size

Requirements

Use the native clear input value functionality (the small X) and style it appropriately where possible
Keep in mind that the Design is not quite ready for this component, it has inconsistencies (see comments)

Tasks
### 💻 Tasks
- [ ] https://github.com/swisspost/design-system/issues/3270
- [x] Review Design (All states present? Possible to implement?)
- [ ] HTML/CSS implementation
- [ ] Documentation in Storybook
- [ ] Visual regression tests
- [ ] Design review

@alionazherdetska Component is tokenized and reused input tokens where possible. Added new inline end paddings and a gap as we got 2 icons here. Also added you a border radius for the icons as suggested above. Let me know if you want them named controls instead of icon. If there are any questions let me know.

Resolution:

In Figma, the search and the text input are different component, this will remain
In the code, the search (<input type="search" />) is an input with a specific type, therefore it will use the styles of the input and only what is specific to the search will be tokenized and overriden.


Add Workflow Steps, Notes, and Tasks

Pco-Api should probably rename WorkflowTasks to WorkflowCardTasks since they work just like WorkflowCardNotes and WorkflowCardActivities.

You da man. 👍


listzelnodes - filter in pubkey

Adds filtering through pubkey in listzelnodes command.
Backgorund:
ZelFlux receives messages from other nodes that are signed by the this zelnode keypair. Adding ability to filter listzelnodes via public key (that is part of the message) reduces computation in zelflux that does not have to do find operation to get the correct zelnode object.

Ack


Optimize Preprocess_json()

There are a lot of optimizations we can make to the preprocess_json() function. Because we are already selecting on the fields in the makedf_samecol() function, there is less of a need to spend cycles actually dropping columns from the dataframe. We should try to clean up as much of these as possible.
The end goal should be changing everything to numpy. That is not this ticket, lets just make pandas run as fast as we can before spending enormous energy changing it to numpy.

please also clean up the comments as the TODOs are mostly completed

@diego-lopez8  Can I remove the code (from last semester) that we're not using?

Yes!

@diego-lopez8 Done. Please check the latest PR.

completed


Allow for selection from multiple signing keys of a type

Expected Behavior
JWT generation should allow for specifying and forward context and/or headers that would disambiguate keys of the same type (i.e. allow to chose from multiple RSA256 keys).
Current Behavior
Currently JwtGenerator hardcodes key type to RSA256 and ignores other values/context that could be useful for purpose of disambiguating, notably also kid header.
Context
Use case: Attempt to sign with key chosen on per client basis
It might simplify other tasks i.e. key rotation

@KPrzychodzki A custom OAuth2TokenCustomizer @Bean provides the capability to select the correct key for signing by modifying the JOSE headers, for example, the alg or kid claims.
Please review OAuth2TokenGenerator and OAuth2TokenCustomizer.
Also, see these issues as they provide details on custom configuration gh-927, gh-323, gh-487.
Closing this as a duplicate.


Adding the Deployments array to the App, which is returned on create …

…container
This is regarding https://github.com/willroden/marathon-client/issues/3#issuecomment-123388177

@bsneade Wonder what about the case with updating the app - https://github.com/bsneade/marathon-client/blob/master/src/main/java/mesosphere/marathon/client/Marathon.java#L39 - as the deploymentId is given in https://mesosphere.github.io/marathon/docs/rest-api.html#put-v2-apps-appid (but not yet in model too)


Cannot deploy openbank to latest NPM and Gulp

#Issue/Request:
Cannot deploy openbank to Apigee Edge with the following npm and gulp versions. Below are the errors from gulp openbankdeploy:
[12:02:09] deploying proxy products
[12:02:10] error deploying proxy locations
[12:02:10] Error: Error uploading target: 400
[12:02:10] error deploying proxy products
[12:02:10] Error: Error uploading target: 400
[12:02:14] error deploying proxy oauth
[12:02:14] Error: Error uploading target: 400
[12:02:19] deployed proxy payments

$ npm -v
5.6.0
$ gulp -v
[23:35:17] CLI version 2.0.1
[23:35:17] Local version 3.9.1

I had the same issue, and determined that it was caused by the config.yml file not being updated correctly. See #91

Closing as the project has been refactored and this bug issue no longer applies - please see https://github.com/apigee/openbank#previous-versions


Fix error, test failures due to new webob not returning content type

webob >= 1.7 does not return a content type, while we require one during validation. This makes sure pyramid_swagger as well as our tests run with both an older and a new version of webob. I ran the tests with the latest versions of webob (1.7.1) and pyramid (1.8.2), webob 1.6.3 and pyramid 1.7.1 as well as the latest version of webob and pyramid 1.7.1. pyramid 1.8 requires webob 1.7.
Fixes #185

Coverage remained the same at 99.57% when pulling 5779f2f4c79ffab75ce415e045d9a26158316681 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.

Coverage remained the same at 99.57% when pulling 9b04b40a1682960327b1167d8249513786324b71 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.

Coverage remained the same at 99.57% when pulling 9b04b40a1682960327b1167d8249513786324b71 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.

Coverage remained the same at 99.57% when pulling 9b04b40a1682960327b1167d8249513786324b71 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.

Coverage remained the same at 99.57% when pulling 9b04b40a1682960327b1167d8249513786324b71 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.

Coverage remained the same at 99.57% when pulling 18a09d78e5c11a928e5c97b41049bf7737b2a1c0 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.

Coverage remained the same at 99.57% when pulling 11ec7484bc696f854e928c54e8a7ec30663a91b5 on sjaensch:fix-webob-removed-content-type into e89cf43fc91d382d9255669e0cd9f12543988c8b on striglia:master.


fix: Restructure URL encoding parameters to ensure proper encoding

Fixes #875
Restructure how URL encoding is done to ensure that plus signs in query parameters for the authorization code flow are encoded properly. This PR also updates the test value for state from "state" to a url string that requires encoding to be done, so that unit tests will catch encoding breakages in the future.
Signed-off-by: Jonah Back<EMAIL_ADDRESS>

Thanks for the PR @backjo. Can you please fix the failing tests.
Also, please change the state parameter in OAuth2AuthorizationCodeGrantTests to use a value that requires encoding.

@jgrandja updated as per request.

@backjo It appears there is no issue with the state parameter decoding.
The + character is reserved (see RFC 3986 Section-2.2) and therefore must be percent-encoded on the client before redirecting to the authorization server.
For example, if the state parameter value is state+12+34 then the percent-encoded value is state%2B12%2B34. The percent-encoded value must be used in the authorization request URI. The use case you provided is not percent-encoding the state parameter which triggers the error, however, the use case is not valid since percent-encoding was not applied to the reserved character.
Makes sense?

@backjo

It may be that the tests are a bit confusing here because it appears that the non-encoded state is being passed in as a parameter - this is due to MockHttpServletRequestBuilder performing encoding internally.

There are a couple of things happening here.
The first thing is if you want the parameters to be encoded then you need to use MockHttpServletRequestBuilder.queryParams() instead of MockHttpServletRequestBuilder.params().
The second thing is if you use reserved characters in one of those query parameter values then you need to percent-encode it before passing it in as a query parameter. NOTE: MockHttpServletRequestBuilder.queryParams() uses UriComponents.encode() internally to perform the encoding, however, as stated in the javadoc, it does not perform encoding for reserved characters:

... this method only replaces non-ASCII and illegal (within a given URI component type) characters, but not characters with reserved meaning.

Furthermore, I tested this out in the default messages sample and the current implementation works as expected.
If you want to test it out yourself, updated SecurityConfig with the following:
@EnableWebSecurity
public class SecurityConfig {
	@Autowired
	private ClientRegistrationRepository clientRegistrationRepository;

	@Bean
	WebSecurityCustomizer webSecurityCustomizer() {
		return (web) -> web.ignoring().antMatchers("/webjars/**");
	}

	// @formatter:off
	@Bean
	SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
		http
			.authorizeRequests(authorizeRequests ->
				authorizeRequests.anyRequest().authenticated()
			)
			.oauth2Login(oauth2Login ->
				oauth2Login
					.authorizationEndpoint(authorizationEndpoint ->
						authorizationEndpoint
							.authorizationRequestResolver(authorizationRequestResolver(this.clientRegistrationRepository)))
					.loginPage("/oauth2/authorization/messaging-client-oidc"))
			.oauth2Client(withDefaults());
		return http.build();
	}
	// @formatter:on

	private OAuth2AuthorizationRequestResolver authorizationRequestResolver(
			ClientRegistrationRepository clientRegistrationRepository) {

		DefaultOAuth2AuthorizationRequestResolver authorizationRequestResolver =
				new DefaultOAuth2AuthorizationRequestResolver(
						clientRegistrationRepository, "/oauth2/authorization");
		authorizationRequestResolver.setAuthorizationRequestCustomizer(
				authorizationRequestCustomizer());

		return authorizationRequestResolver;
	}

	private Consumer<OAuth2AuthorizationRequest.Builder> authorizationRequestCustomizer() {
		return customizer -> customizer.state("state%2B12%2B34");	// Set percent-encoded value of "state+12+34"
	}

}

The sample code demonstrates when the messages-client sends a percent-encoded value for the state parameter, the OpenID Connect Flow succeeds and therefore the state is matched on the callback.
I'm going to close this PR and associated issue as the current implementation works as expected.

hi @jgrandja - I really appreciate you diving into this.
Following your example with the messaging client, the following authorization URL was generated:
http://localhost:9000/oauth2/authorize?response_type=code&client_id=messaging-client&scope=openid%20profile&state=state%252B12%252B34&redirect_uri=http://<IP_ADDRESS>:8080/login/oauth2/code/messaging-client-oidc&nonce=t5Zo5BgrBL3dYKk86S7a1-p3WaOxsvF6hH6n-z1N05s

This results in the following authorization code response
http://<IP_ADDRESS>:8080/login/oauth2/code/messaging-client-oidc?code=HwnK80PpJWqHd_UueP3a2cvwzpUclIyb6Ura0sBhVSuOhzY5ZbN_bIJG2FK2Z1bVt6PPjNx5NjSZLmrKN0ccThBxylHDtVyhYYv65tRHwHR4JZdCer31leXNAh0XhH_g&state=state%252B12%252B34

This is correct behavior - the state in both is state%252B12%252B34
When I submit the following authorization request
http://localhost:9000/oauth2/authorize?response_type=code&client_id=messaging-client&scope=openid%20profile&state=state%2B12%2B34&redirect_uri=http://<IP_ADDRESS>:8080/login/oauth2/code/messaging-client-oidc&nonce=t5Zo5BgrBL3dYKk86S7a1-p3WaOxsvF6hH6n-z1N0

The following authorization response is generated
http://<IP_ADDRESS>:8080/login/oauth2/code/messaging-client-oidc?code=dVSyke5KdtMutdM2FPAUriErpM1Tnf1ifDBq4Uf-aOL0q0YSNgJ4ymEC-GkbgJ2osgHNhjuE32MxUsKqTKVOHqFkGSVONgjfJEUcsHvKQiTTa9J9WcOCOxWrMwWELPRL&state=state%2012%2034

The state in both is not the same - in the authorization request, it is state%2B12%2B34 (state+12+34 encoded, per specification 'If data for a URI component would conflict with a reserved
character's purpose as a delimiter, then the conflicting data must be
percent-encoded before the URI is formed.' ).
In the authorization code redirect, it is state%2012%2034 (state 12 34 encoded).
Is this correct behavior? I would expect that the state parameter in the authorization code response would be state%2B12%2B34

@backjo

When I submit the following authorization request

http://localhost:9000/oauth2/authorize?response_type=code&client_id=messaging-client&scope=openid%20profile&state=state%2B12%2B34&redirect_uri=http://<IP_ADDRESS>:8080/login/oauth2/code/messaging-client-oidc&nonce=t5Zo5BgrBL3dYKk86S7a1-p3WaOxsvF6hH6n-z1N0

Again, this is not a valid authorization request. The state parameter value is not URL encoded - it is just percent encoded.
For example:
state+12+34 --> original value
state%2B12%2B34 --> percent encoded of reserved characters
state%252B12%252B34 --> URL encoded (double-encoded)

@jgrandja - apologies if it feels like I'm beating a dead horse here, but I don't think this interpretation is correct.
This issue (and the proposed PR fix) lines up with exactly what is discussed in https://github.com/spring-projects/spring-framework/issues/14464 and https://github.com/spring-projects/spring-framework/issues/21399. When sending the request to Spring Authorization Server as "state%2B12%2B34" in the request parameter, it is interpreted correctly as "state+12+34" when it's being handled - it's only when it's regenerating the redirect uri using UriComponentsBuilder, which as described in the issues referenced above, will not be encoded because "+" is an allowed character. In this case, we do want to encode the "+", because it's from a value that has already been decoded.
In the UriComponentsBuilder documentation, this behavior is explicitly called out (documentation written by @rstoyanchev - maybe he could also chime in here given his work on URL encoding in Spring Framework?) :
For most cases, this method is more likely to give the expected result because in treats URI variables as opaque data to be fully encoded, while [UriComponents.encode()](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/util/UriComponents.html#encode--) is useful when intentionally expanding URI variables that contain reserved characters.

For example ';' is legal in a path but has reserved meaning. This method replaces ";" with "%3B" in URI variables but not in the URI template. By contrast, [UriComponents.encode()](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/util/UriComponents.html#encode--) never replaces ";" since it is a legal character in a path.

In the existing implementation as it exists today (which invokes https://github.com/spring-projects/spring-framework/blob/main/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java#L544) , the URIComponents encode method is the one being used - which will never replace a legal character.  Since state is opaque data (per specification), we really do need to it encode it as it suggests we do in the UriComponentsBuilder documentation - which is what this PR is doing.
For what it's worth, we went and tested multiple different OAuth2 authorization providers (both OSS and commercial), and they all act consistently here.
KeyCloak:
http://localhost:8080/realms/test/protocol/openid-connect/auth?client_id=account&response_type=code&redirect_uri=https://jwt.io/&state=state%2B12%2B34

https://jwt.io/?state=state%2B12%2B34&session_state=0c31923f-1366-497a-a597-cbee678d3168&code=1a76590d-8294-49d1-be3f-674e17a5113b.0c31923f-1366-497a-a597-cbee678d3168.3090c447-4f49-453c-ad1d-0796517e705b

Auth0
https://<test-tenant>.auth0.com/authorize?&client_id=tkk78aDthMrMkpJEphYOd66i5GMkWxkv&response_type=code&redirect_uri=https://jwt.io&scope=openid+profile&state=state%2B12%2B34

https://jwt.io/?code=Kvq7wcVCsZgzw6YOy5y6BOal1KitQoIN0b6VV4QJByhom&state=state%2B12%2B34

Even google handles this the same way on search queries:
This searches for state+12+34
https://www.google.com/search?q=state%2B12%2B34

This searches for state%2B12%2B34
https://www.google.com/search?q=state%252B12%252B34


docs: update docs for NuxtLoadingIndicator

🔗 Linked issue

❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

adding example with div tag and fix StackBlitz broken link
📝 Checklist

[ ] I have linked an issue or discussion.
[x] I have updated the documentation accordingly.

Thank you ❤


chore(e2e): support remote testing

Closes #4207

Release Note
chore(e2e): support remote testing

@mertdotcc you can use this one once merged to test remotely. Let me know how it goes.


Update prod mode check to reflect changes in angular core

resolves #1071

@igor-ka Can you review this? I'd like to include it in the release which I'll do late this evening.


Add a DO NOT EDIT header to generated adoc files

Kind of change

[ ] Bug fix
[ ] New non-breaking feature
[ ] New breaking feature
[x] Documentation update
[ ] Build improvement

Description
Please see #961.
Issue
Fixes #961
Release notes
I don't think this merits a mention in CHANGELOG - let me know.

Thank you! This helps a lot!


Drop implied prefix on project build queue name

We shouldn't be as clever about build queue names. I got tripped up wondering
why builds weren't triggering on the build queue I specified. This migrates
projects to drop the build- prefix, updating projects that expect an implied
prefix.

Makes sense. :+1:


Doesnt work after update to version 1.3.0

Hi,
For some reason images don't load from cache after I updated to version 1.3.0 and always images start to load from internet!
reverted to 1.2.0 and everything works fine again !
I didn't set any custom configuration and I'm not using WKWebView in my project.
Thank you

I'm running version 1.3.0 as well and for me everything works fine if my app runs on a(n) (android) device.
In browser the images are not cached (not sure if this is the desired behaviour).

There were no changes in 1.3.0 that could have affected the caching functionality. You must be facing a different issue.
See https://github.com/zyramedia/ionic-image-loader/compare/v1.2.0...v1.3.0

Correction: I am able to reproduce this issue now and it is caused by the 1.3.0 update.  The error message is TypeError: Cannot read property 'platform' of undefined(…) and it is caused by the call made to the device plugin.  It's supposed to be device and not cordova.device.


create chinese version doc/index.md

create chinese version doc/index.md

What type of PR is this?
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #373
Special notes for your reviewer:

或者可以将此PR转为支持繁体？

按照以下规则，添加 zh_TW
https://github.com/gocrane/crane/blob/fde84619c47c5f5dab355d8c72acae50098bfca2/mkdocs.yml#L29-L55

重命名 docs/index_ch.md 为 docs/index.zh_TW.md


add revisions functionality

History
I have written a function history() in actions.py, which prints history (that is information about previously used commands). This function has two flags

--date: User has to pass date as an argument and it will filter out the history.
--clear: This flag deletes the entire history.

Output of drive history

Output of drive history --clear

Output od drive history --date <date>

Log
I have written a function get_revision() in actions.py which take file id/ link as a mandatory argument and print all the revisions related to that file. This function has three flags and all the flags take revision_id as an argument:

--get: it provides more information about that particular revision
2)--delete: this flag deletes the revision
3)--save: This flag keep revision forever, even if it is no longer the head revision. If not set, the revision will be automatically purged 30 days after newer content is uploaded.

@nurdtechie98 done. Sorry for the late reply.

@nurdtechie98 @inishchith please review this PR. If it requires any changes please let me know.

@raghav-dalmia thanks for the pr, great work. LGTM

@inishchith @parulagg27 @sauravchirania @shivam1708 please review this PR.

by mistake, I have pushed file-info too. Please review it too. Sorry about that.

@inishchith anything more to changed ?

@raghav-dalmia Would appreciate if you could resolve the conflict and update the thread.
Thanks for  being so persistent :)
@nurdtechie98 Did you test this locally?

Done @inishchith . Please review asap.

@inishchith yes I did. Seems good to me


Need gliblocales installed on some systems

What happened?
Using the laravel template redis fails to start with the error  "Failed to configure LOCALE for invalid locale name."
I'm running in fedora 41 and I guess I'm missing that pacakge.
A fix that worked for me was adding it to my packages. I think it might be a good idea to add it to the template too.
modified packages
    "packages": {
        "php81Packages.composer": "latest",
        "php81Extensions.xdebug": "latest",
        "php": "8.1",
        "nodejs": "18",
        "redis": "latest",
        "mariadb": "11.4.4",
        "glibcLocales": {
            "version":   "latest",
            "platforms": ["x86_64-linux", "aarch64-linux"]
        }
    },

Steps to reproduce

On Fedora 41
devbox create --template laravel
devbox services up

Command
services
devbox.json
{
  "packages": [
    "php81Packages.composer@latest",
    "php81Extensions.xdebug@latest",
<EMAIL_ADDRESS>    "nodejs@18",
    "mariadb@latest",
    "redis@latest"
  ],
  "shell": {
    "init_hook": [],
    "scripts": {
      "create-project": [
        "composer create-project laravel/laravel tmp",
        "mv tmp/* tmp/.* ."
      ],
      "db:create": "mysql -u root -e 'CREATE DATABASE laravel;'",
      "db:migrate": "php artisan migrate",
      "db:mysql": "mysql -u root -D laravel_test",
      "serve:dev": "php artisan serve"
    }
  }
}

Devbox version
0.13.4
Nix version
2.24.7
What system does this bug occur on?
Linux (x86-64)
Debug logs
No response

Does the commit move glibcLocales to plugins (https://github.com/jetify-com/devbox/pull/2442[)](https://github.com/jetify-com/devbox/commit/27d0d20fa13b9d7f7e3937d0de9a1cbd40ab84e8) mean this is done?


Add function cat_anon()

Anonymise category levels e.g convert James, Bob, Clair, Clair to x_1, x_2, x_3, x_3

Thanks Ava!

Need to get to a laptop to test. Does this return a categorical series or strings? I think I would expect cats.

It returns object dtype, which means strings? In this regard, cat_anon() is exactly in line with cat_lump(). Should it not?

ah OK, if that's what the others do then great!

Thanks Doug :) I don't have strong opinions on types. It feels pandas itself can cover a fair amount of job and this package sits on top. Once the functionality is intact, maybe we can reflect on context and refactor things a bit?

I think the goal should be to eventually always return categorical series. Best not to use cat_lump as a reference for this!


0.4.x release with fixed (removed) nokogiri dependency

There have been some security vulnerabilities in Nokogiri, and 0.4.9 is currently locked down to ~> 1.6. The dependency was removed in https://github.com/gjtorikian/extended-markdown-filter/pull/19 after the code using nokogiri was removed previously.
Unfortunately, that PR to fix it also swaps out github-markdown to commonmarker, and we have been finding a number of differences between the parsing/rendering of those too. Therefore, I'd like to start a branch for 0.4 development (rails uses like 0-4-stable), and then release 0.4.10 that just cherry picks 98daa86600855849e4c1d87bf1960c0c1531a9f3 so we can fix the security vulnerability and prioritize addressing the differences in commonmarker later.
I've started a branch for 0.4.x on my fork, and then a branch cherry-picking it:

https://github.com/technicalpickles/extended-markdown-filter/tree/0-4-stable
https://github.com/technicalpickles/extended-markdown-filter/tree/backport-nokogiri-dependency-removal-to-0.4

(I used git branch 0-4-stable v0.4.9 to create the branch)

Released 0.4.10 with this. Thanks for the 🔑s @gjtorikian 😁


Allow WrappedJsonAdapter to fail on un-found value.

Fix #33 by allowing the consumer to specify an alternative behaviour.
WrappedJsonAdapter now throws JsonDataException instead of IOException.
Test failure scenario against RxJava2.

Fixes #33

@vanniktech take another look please.

Current coverage is 96.69% (diff: 100%)

Merging #34 into master will decrease coverage by 0.40%

@@             master        #34   diff @@
==========================================
  Files            10         11     +1
  Lines           207        242    +35
  Methods           0          0
  Messages          0          0
  Branches         32         44    +12
==========================================
+ Hits            201        234    +33
- Misses            4          5     +1
- Partials          2          3     +1

Powered by Codecov. Last update f7f1635...a7129f6


ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Running the code brings a Value error:
0.8 -mbsize 10 -dataset nips
{'infSeed': 1, 'alpha': 1.0, 'gamma': 2.0, 'Nmax': 40, 'kappa_sgd': 0.6, 'tau': 0.8, 'mbsize': 10.0, 'dataset': 'nips'}
Loading the glove dict file....
Main runner ...
num_docs: 1566
Traceback (most recent call last):
File "./runner.py", line 225, in
HDPRunner(args)
File "./runner.py", line 121, in HDPRunner
components=[vonMisesFisherLogNormal(**obs_hypparams) for itr in range(K)]
File "./runner.py", line 121, in
components=[vonMisesFisherLogNormal(**obs_hypparams) for itr in range(K)]
File "/home/noxius/Git/sHDP/core/core_distributions.py", line 242, in init
if (mu,kappa) == (None,None) and None not in (mu_0,C_0,m_0,sigma_0):
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
I tried different methods, including changing the boolean check in core_distributions.py, line 243:
if ((mu,kappa) == (None,None)) and any(x != None for x in (mu_0, C_0, m_0, sigma_0)):
or
if ((mu,kappa) == (None,None)) and not any(x == None for x in (mu_0, C_0, m_0, sigma_0)):
However it doesn't change anything and the error stays. Have you any solution?

I has the same problem and I solve it with downgrading numpy to version 1.11.3
My environment:
Ubuntu 18.04 LTS
python 3.6


feat(wallet-ui): setup middleware redirects

Problem solved
Short description of the bug fixed or feature added
Changes made

[ ] Public API changes: list the public API changes made if any
[ ] Internal API changes: explain the internal logic changes

How to test

[ ] Automated tests: link to unit test file
[ ] Manual tests: step by step instructions on how to test

Contributor NFT
Paste in your wallet address below and we will airdrop you a special NFT when your pull request is merged.
Address:

PR-Codex overview
The focus of this PR is to add environment variables, create new React components for pages and layouts, and implement middleware for routing in a Next.js application.
Detailed summary

Added NEXT_PUBLIC_ROOT_DOMAIN to environment variables
Renamed local env files in .gitignore
Created Page component in page.tsx
Created Layout component in layout.tsx
Added middleware for custom routing in middleware.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#3478  👈
#3477
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @gregfromstl and the rest of your teammates on  Graphite


cannot delete folder or file, cannot save after typing

cannot delete folder or file. cannot save after typing. the spinner keeps spinning. using php 7. have access to .htaccess and mod_rewrite. how to fix it?

Did you make the folders on your server writable like described here: https://typemill.net/getting-started/installation ?

Yes 774 permission set to all folders and subfolders. But the problem remains. I am using hosting services of infinityfree, which offers php7. When I ran your program in a local server vertigo with PHP 7.1 it runs flawlessly. Please suggest tweak for running it on php7.

I can create folders and files, but I cannot save and delete.

I will check it tomorrow with php7. Maybe you can check the response from the server when you save? open dev tools of browser (f12), go to network, then click the save button and check the response for the post-request. If there are errors then it helps fixing. Thank you

sorry, I can't help here quickly, it is not visible what happens in the background. However, I never tested a subfolder installation with nginx, so maybe there are some errors. Should not be related to php7. Your server tries to return some error page that fails because of cors, but this is probably not the reason for the error initially. I will try to investigate more, but I don't have a quick solution for it now. Sorry....

Thanks for your response, and the wonderful software. I've tested many. Your software is probably the best right now! If you find some time, please test it on infinityfree.net. They provide free web hosting and php 7. In the meantime I will try to figure it out.

Hi hasu4p, I tested typemill with php 7.0 now and it works, so this is probably a problem with nginx or the hoster. I am not a nginx-expert, so hopefully someone else of the github-followers can help here. I will keep this ticket open for now.


add new tutorial file

created a branch, created a file and made a commit, and opened a pull request

text

text text text


Nomethod Error on rails5 omniauth-facebook

i got on error when i click user_facebook_omniauth_authorize_path
-Error Message-
NoMethodError (undefined method `persisted?' for nil:NilClass):
app/controllers/users/omniauth_callbacks_controller.rb:7:in `facebook'

You need to give us more information on how to reproduce this issue, otherwise there is nothing we can do. Please read CONTRIBUTING.md file for more information about creating bug reports. Thanks!


[Enhancement][Materialized-View] support unique key materialized view

Proposed changes
Issue Number: close #10608
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

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...

Please add some test cases for this.

Please add unit test ~

regression-test/data/rollup/test_materialized_view.out seems to be something different?

I modified the test_materialized_view, so the result will change


Class methods not being called since "undefined method `xyz' for Class:Class"

Hi,
i'm using DJ to delay calls to class methods. This worked fine with DJ 2.1.4 + MySql, but with DJ 3.0.0.pre4 + Mongo (i.e. delayed_job_mongoid 1.0.6, mongodb 2.0.0) i'm getting an undefined method for Class:Class, i.e. the class-of-the-class that i want to be calling.
Basically this is what happening:
class Event
   def self.happened(...)
        doing_stuff
    end
end
Event.delay.happened(...)

Then when i look at the handler:
ruby-1.9.2-p180 :020 > YAML.parse(Delayed::Job.first.handler)["object"].value
=> "Event"
ruby-1.9.2-p180 :021 > YAML.parse(Delayed::Job.first.handler)["method_name"].value
=> ":happened"

i.e. the object is the Event class (as it should) and method name is correct, however when i retrieve the payload object:
ruby-1.9.2-p180 :025 > Delayed::Job.first.payload_object.object
=> Class
ruby-1.9.2-p180 :026 > Delayed::Job.first.payload_object.method_name
=> :happened

If i repeat the above using DJ 2.1.4 + mysql (same ruby version - 1.9.2-p180):
>> YAML.parse(Delayed::Job.first.handler)["object"].value
=> "Event"
>> YAML.parse(Delayed::Job.first.handler)["method_name"].value
=> ":happened"
>> Delayed::Job.first.payload_object.object
=> Event
>> Delayed::Job.first.payload_object.method_name
=> :happened

Is delaying class methods no longer supported? Or is this a real issue?
Thanks!

DJ 3.0.0.pre4 + MySQL here, same problem, just to let you know you can rule out the mongo adapter.

Also, I think #295 and #303 are duplicates of this.

Can you try the above explicitly using Syck? Set YAML::ENGINE.yamler = "syck" somewhere and that should force it to use syck as the yaml parser.
Sounds like it could be an issue with some of our overrides in Psych.

For now I rolled back to an older version that was known to be working, I'll try later this afternoon though.

Ok, i've tried it again and it seems that it might have something to do with the yamler. In production mode, it doesn't work:
ruby-1.9.2-p180 :004 > Delayed::Job.delete_all
=> 9
ruby-1.9.2-p180 :005 > Event.delay.happened(:fubar, :snafu)
=> #<Delayed::Backend::Mongoid::Job _id: 4ed341d72f7.....>
ruby-1.9.2-p180 :006 > Delayed::Job.last.payload_object.object
=> Class
ruby-1.9.2-p180 :007 > YAML::ENGINE.yamler
=> "syck"

But in development it does:
>> Delayed::Job.delete_all
=> 1
>> Event.delay.happened(:fubar, :snafu)
=> #<Delayed::Backend::Mongoid::Job _id: 4ed3425....>
>> Delayed::Job.last.payload_object.object
=> Event
>> YAML::ENGINE.yamler
=> "psych"

So for me at least, it seems that the psych yamler is the right one. The only other difference is the mongo db versions: production is using 2.0.0 and development uses 1.8.0, but mongo doesn't seem to be the problem.

+1
I've got the same issue
def self.do_remove_media(thepath)
	File.delete(thepath)	# errors if remove fails for delayed job
end

Media.delay({:run_at => 5.minutes.from_now}).do_remove_media(self.path)

I ran into the same problem...
My solution? I really don't know if it is a solution or what it is, but, I just comment out
#require 'yaml'
#YAML::ENGINE.yamler= 'syck'
After that the parser still the same 'syck'
And everything is working like a charm.
What was, I don't know, but I hope this result useful to somebody.

+1 DJ 2.1.4 & MySQL
to echo stakach's observation about the handler entry - I'm seeing the same behavior. When I call a method on an instance of my Event model via an on_update callback it writes out:
object: !ruby/object:Class EventMailer
but when I call the same method on an instance via the console, it writes out correctly:
object: !ruby/class EventMailer
and works as it should. In both cases I am explicitly setting development environment.

Seems I got the same issue here, calling .delay on a mailer:
{undefined method `created' for Class:Class
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/performable_mailer.rb:6:in `perform'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/backend/base.rb:94:in `block in invoke_job'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/lifecycle.rb:60:in `call'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/lifecycle.rb:60:in `block in initialize'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/lifecycle.rb:65:in `call'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/lifecycle.rb:65:in `execute'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/lifecycle.rb:38:in `run_callbacks'
/home/sandbox/apps/hoppakay/shared/bundle/ruby/1.9.1/gems/delayed_job-3.0.0/lib/delayed/backend/base.rb:91:in `invoke_job'
(eval):3:in `block in invoke_job_with_newrelic_transaction_trace'

Same issue.  Version 3.0.0 on Ruby Enterprise Edition 2011.03 (1.8.7)... I'm hitting the issue both from console and in tests... any update?

On my dev system which works on the console I have:
Loading development environment (Rails 3.2.0.rc2)
ruby-1.9.2-p290 :001 > YAML::ENGINE.yamler
 => "psych"

On my production box which fails:
Loading production environment (Rails 3.2.0.rc2)
ruby-1.9.2-p180 :001 >   YAML::ENGINE.yamler
 => "syck"

Once I add pysch to my gemfile and YAML::ENGINE.yamler= 'psych' to my application.rb it works.  I had to install / compile libyaml too.

I found that I had issues with ruby 1.9.2 after upgrading to ruby 1.9.3 DelayedJob 3 worked.
I'm running the workers on the development environment and the main application on production.
A little hacky, seems to work.

So why is it that in dev this would work and not in production? I'm running 2.1.4 and having this issue. What's my best option to fix it?

That's going to largely depend on which version of ruby you're running in production versus development.
Ruby 1.9.3 ships with a newer version of Psych and is the default YAML parser. Ruby 1.9.2 defaults to Syck, but does come with a version of Psych as well. Ruby 1.8.7 only supports Syck.
If the world was full of unicorns and rainbows, everyone would be running 1.9.3 using the Psych as their YAML parser. But for now, DJ aims to play nice with each setup mentioned above.

I'm using syck both in dev and production and Ruby 1.9.2p290. I have this line in my environment.rb file.
YAML::ENGINE.yamler = 'syck'
I had to do this because Psych was having trouble reading serialized attributes.

In production, what I find in the handler column looks like this and does not work when I try to run the job:
--- !ruby/struct:Delayed::PerformableMethod
object: !ruby/object:Class Notifier
method_name: :deliver_welcome
args:

!ruby/object:ActionToken
attributes:
action: email_validation
expiration_date: 2012-01-15 17:28:36.559799 Z
token_code: c1172365f8c27819b45624ee273f883762d6a582
entity_id: 10900
email_counter: 0
used_on_date:
created_at: &id001 2012-01-13 17:28:36.560490 Z
updated_at: *id001
id: 5628

Turns out that on my end, the problem was that thin wasn't started without prefixing with bundle exec. o_O

Tested this out, seems to be working so I'm going to close this and cut a new gem.
If anyone experiences any issues, please open a new issue.

Bryckbost,  what was the fix?  What commit closes this?

Sorry, there were a few duplicate issues. Must have commented in the other one. Fix was in<PHONE_NUMBER>66ba2ce011bfe2d47954e79edf6798

I don't think this issue should be closed.  I'm using the latest delayed_job via:
gem 'delayed_job', '>= 2.1.2', :git => 'http://github.com/collectiveidea/delayed_job.git'
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0],
and Rails 3.1.3

I still get
object: !ruby/object:Class

In my handler and therefore
{undefined method `product_distribution_email' for #<Class:0x10b70c680>

because that should be called on the mailer, not the class

@tamoyal: can you provide some steps to reproduce this? Thanks!

Hmmm well the only thing I'm doing is this:
ClientMailer.delay.product_distribution_email(client.attributes,email)

If I do this everything works:
ClientMailer.product_distribution_email(client.attributes,email).deliver

So the only difference is that delay call.   What other details would you like?

@tamoyal are you using thin?

Also I tried moving it out to an instance method but then I got a nil object error:
self.send_product_distribution_email(client.attributes,email,ENV_CONFIG['domain'],self.secret)
# the above works

self.delay.send_product_distribution_email(client.attributes,email,ENV_CONFIG['domain'],self.secret)
# the above produces:
# [Worker(host:admins-MacBook-Pro-2.local pid:38069)] Campaign#send_product_distribution_email failed with # NoMethodError: You have a nil object when you didn't expect it!
# You might have expected an instance of Array.
# The error occurred while evaluating nil.[] - 0 failed attempts
#
# When running jobs with bundle exec rake jobs:work

The serialized handler is:
--- !ruby/object:Delayed::PerformableMethod
  args:
    - label:
      activated_at: !ruby/object:Time
        period:
        time:
        time_zone: !ruby/object:ActiveSupport::TimeZone
          current_period:
          name: UTC
          tzinfo: !ruby/object:TZInfo::TimezoneProxy
            identifier: Etc/UTC
            real_timezone: !ruby/object:TZInfo::DataTimezone
              info: !ruby/object:TZInfo::DataTimezoneInfo
                identifier: Etc/UTC
                offsets:
                  !ruby/sym o0: &id001 !ruby/object:TZInfo::TimezoneOffsetInfo
                    abbreviation: !ruby/sym UTC
                    std_offset: 0
                    utc_offset: 0
                    utc_total_offset: 0
                previous_offset: *id001
                transitions: []
                transitions_index:
          utc_offset:
        utc: 2011-01-27 22:54:05.000000 +00:00
      autologin_hash:
      created_at:
      updated_at:
      account_id:
      id: &id002 4d911fd47b074638be0005ec
      last_name: confidential
      email<EMAIL_ADDRESS>      first_name: confidential
    - !ruby/object:Email
      attributes:
        cc:
        created_at: 2012-01-19 22:02:59.004274 +00:00
        body: "Confidential"
        bcc: ""
        campaign_id: 1105
        updated_at: 2012-01-19 22:02:59.110553 +00:00
        from: Confidential<EMAIL_ADDRESS>        header:
        id: 194320
        subject: &id003 pdf and ppt
        recipient<EMAIL_ADDRESS>        sent_at:
        client_id:
        secret: secret
        received_at:
        ups_client_id: *id002
        ups_user_id: 4d911fc87b074638be000010
    - localhost:3000
    - &id004 4ac7f259c2d1d20857042c32e3e4363ba8356c6c
  method_name: !ruby/sym send_product_distribution_email
  object: !ruby/object:Campaign
    attributes:
      name: pdf and ppt
      created_at: !ruby/object:Mysql::Time {}
      success_count: 0
      ups_creator_id: 4d911fc87b074638be000008
      body: "Confidential"
      deliver_on:
      updated_at: !ruby/object:Mysql::Time {}
      id: 1105
      delivered_at:
      subject: *id003
      ready_for_delivery: 2012-01-19 17:02:58.780626 -05:00
      footer: "Confidential"
      failure_count: 0
      secret: *id004

  #

Ok just to be clear it looks like these issues are unrelated but please confirm before I separate out into another issue.
The first issue I mentioned is obviously occurring because the generic "Class" is being stored in the handler and that method is not defined on Class.
I think the second issue has to do with serialization/deserialization of a specific object. If I replace that "email" object with "email.id" when I call the delayed method and then query for the Email object inside the delayed method everything works fine.  If I do not do that then I get that nil error by simply doing email.inspect so the ONLY difference is that we are serializing and deserializing a string instead of an Email object when it does work.  If you think it's a delayed job specific bug then I can email you some data outside of this thread

Does the latest gem has the fix for this issue? I am using the delayed job (3.0.0) and delayed_job_active_record (0.3.1) gems and still seeing this issue in production.

I've pushed out 3.0.1. Please give it a try and report back if there are still issues.

Thanks bryckbost, will give a whirl.

Just gave this a try in production and it is working fine. Thanks for the fix bryckbost.

This just works for me with DJ 4.0.4
class Foo
  def self.bar(s)
    Rails.logger.info "From Foo.bar('#{s}')"
  end
end

# then ...
Foo.delay.bar('hi')


Postgres Schema Change. DBeaver 7.0.4, Windows 10. When creating new tables, or compiling procedures, DBeaver is now ignoring default schema setting. Even if default setting shows schema_1, after compile it switches to Public. Appears to have something to do with Alt X.

System information:

Operating system (distribution) and version
DBeaver version
Additional extensions

Connection specification:

Database name and version
Driver name
Do you use tunnels or proxies (SSH, SOCKS, etc)?

Describe the problem you're observing:
Steps to reproduce, if exist:
Include any warning/errors/backtraces from the logs

Hi @ianamac ,
cannot reproduce an issue. works work for me. probably some special steps are needed?

See attached screenshots. See default schema in navigator, and in top bar on both. It compiled into public.


Charing Plan > Create a Copy feature to copy an existing Charging Plan to another Charging Station

Tobias must align with Serge beforehand


small mods to get toys working

missing file (?): don't require 'MemoryChainDualDirect' in lstm/init.lua
optional: for lua 5.2 compatibility I also added
unpack = unpack or table.unpack
to init.lua

These are fixed now.


docs:  explain how to build cdn js file

I was trying to figure out how to re-build the same file that is served from CDNs, and I got confused and tripped over myself on the way.  through my own mistakes, I had actually convinced myself that the build script in this repo did not produce the file that the CDN was serving.   Nothing in the docs talked about it, so I just assumed it was some "special thing that exists somewhere else."
I am adding this to the docs now so that the next person reading through will be re-assured and hopefully find the right file.

Not sure if this would be valuable or just confuse people, because I'm not sure it is common to try to reproduce something in cdn. What about NPM etc.

Ok, then how about this? instead of

file you would get from a CDN will be located at ./dist/chart.umd.js

it could say

if you want to include the Chart.js javascript file that you just built directly on an HTML page instead of importing it as a module, use ... dist/chart.umd.js

I kind of doubt that I'm not the only chartjs user who doesn't know what umd means and doesn't know that I should look for "jsdelivr": "./dist/chart.umd.js",  in package.json to learn that  "chart.umd.js is the one you can just plop onto the page in a script tag"


Project Wiki Permissions Restrict Editing

The project wiki is not currently allowing page create/update operations by community. Repository manager might consider delegating appropriate permissions to project contributors or allowing open access to community,

Found related documentation at https://help.github.com/articles/changing-access-permissions-for-wikis/

Permissions should allow editing now.


While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either that the input has been truncated or that an embedded message misreported its own length.

While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either that the input has been truncated or that an embedded message misreported its own length.

Unclear issue.


Superflous dependencies declared

The following libraries are defined as compile dependencies:
          "org.slf4j:jcl-over-slf4j:1.7.21",
          "org.apache.logging.log4j:log4j-core:2.6.2",
          "org.apache.logging.log4j:log4j-api:2.6.2",
          "org.apache.logging.log4j:log4j-slf4j-impl:2.6.2",

However, as far as I can see this project uses the slf4j api, so it should be up to the application that uses jsondb to decide and package the desired logging implementation. I therefore suggest to drop them from here - or maybe add them as testCompile dependency if really needed for running the tests.

Thanks for fixing this Simon
Farooq

This was released to Maven as build 1.0.64
MavenCentral should be updated in a hour,
mvnrepository.com should start showing it in about 5 to 7 days


suggest to make "preston process" an alias of "preston update"

If I understand correctly, @jhpoelen proposed this change to make process online and reuse the test cases already in place for update.
Currently, process receives a string of RDF quads as input, but update doesn't have a way to process them. Maybe we could either
a) add an RDF nquads parser to the list of statement processors (bad idea?)
b) instead of making process an alias, extend the CmdUpdate class and override initQueue to parse System.in for quads (to preserve current behavior, if this is desired)

related to #37
I much like option b. to get started.
I am not sure if I understand option a. - how would a processor be notified of new quads streaming in via stdin ?

Right, option a doesn't make sense, haha. I was mixing a couple unrelated ideas in my head. Let's ignore that. Option b it is.

decided to keep process and update separate:
process operates only on the "content-based" universe,
whereas update implements a loco (location -> content) transform (aka fortes transform).


[BUG]earthhack making it impossible to join singleplayer worlds and more

basically if you edit a config a lot then there is a chance the config wont let you join any singleplayer world and if you try going to a different dimension you go in the sky with no blocks and cant move or do shit and you have to rejoin the server to fix it but if you go to a another dimension the same thing happens

try 1.6.2, it fixed it

still happens

Other mods, config, logs??


When the browser tries to re fetch the image for the second time, fallback-src dont work any more

Hi, there.
I'm using md-autocomplete fro the material spec, and when you scroll and the item enter the visible part of the view, for some reason the browser tries to fetch the src image, and since the plugin unregisters from the error event, it no longer works
You'll see it in line 15:
element.off('error', errorHanlder);
If you want to, I can try to make a pull request
thanks!

@siulung4073 First of all, yes. pull requests are welcome and appreciated.
Second, @david-meza PQ should have fixed the issue, can you please confirm?