Redux-form integration

I have a component that is wrapped within a redux-form. I successfully added reducer dynamically. When I dispatched an action, it reached the intended reducer with correct payload and updated state correctly. As soon as the reducer finished, the same reducer received a @ @ redux-form/TOUCH action and state is reverted back to initial values. Does anyone witness this behavior?

Apparently, it is a bit more complicated than i originally thought. In my environment, we use selector, redux-form, router, DEV tools among others. The only reliable way is to combine all reducers at root level. My observation may be off but so far it holds.

can you provide a sample project? by the looks of it the only condition that must be met is that the redux-forms reducer has to be brought in and loaded before any of it's related actions trigger.

Hi Marian, thanks for the quick follow up. I appreciate the thoughts given to this library and it broadened my horizon. Some background, I was experimenting with visual studio's sample create react app project. I need a way to dynamically inject reducers. During my struggle, If memory serves me well, redux-form reducer is always specified statically along with routing in the root reducer. I will try to reproduce the issue tomorrow. During meantime, I have found a decent workaround inspired by logic-injectors npm package. Access to store instance is non issue since it is a HOC wrapping my component. It augments store object with injectedReducers property that holds reducer map instead of a weak map. The injection logic is the first argument to redux compose function for my component. The logic is invoked when router visits the path for my component.

Hi Marian, I created a new project today and here are the details:

Setup

In Visual Studio 2017, created a ASP.NET Core Web application with React/Redux template;
I modified package.json to refer to required npm packages: "redux-form": "7.2.3", "reedux": "0.1.2";

Experiment

File ClientApp\store\index.ts: only change was to comment out Counter.reducer
import * as WeatherForecasts from './WeatherForecasts';
import * as Counter from './Counter';
import { reducer as reduxFormReducer } from 'redux-form';
// The top-level state object
export interface ApplicationState {
counter: Counter.CounterState;
weatherForecasts: WeatherForecasts.WeatherForecastsState;
}
// Whenever an action is dispatched, Redux will update each top-level application state property using
// the reducer with the matching name. It's important that the names match exactly, and that the reducer
// acts on the corresponding ApplicationState property type.
export const reducers = {
//counter: Counter.reducer,
weatherForecasts: WeatherForecasts.reducer,
form: reduxFormReducer
};
// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are
// correctly typed to match your store.
export interface AppThunkAction {
(dispatch: (action: TAction) => void, getState: () => ApplicationState): void;
}
File ClientApp\configureStore.ts: only change was to dynamically inject Counter.reducer
import { createStore, applyMiddleware, compose, combineReducers, GenericStoreEnhancer, Store, StoreEnhancerStoreCreator, ReducersMapObject } from 'redux';
import thunk from 'redux-thunk';
import { routerReducer, routerMiddleware } from 'react-router-redux';
import * as StoreModule from './store';
import { ApplicationState, reducers } from './store';
import { History } from 'history';
import * as Counter from './store/Counter';
import reedux from 'reedux';
export default function configureStore(history: History, initialState?: ApplicationState) {
// Build middleware. These are functions that can process the actions before they reach the store.
const windowIfDefined = typeof window === 'undefined' ? null : window as any;
// If devTools is installed, connect to it
const devToolsExtension = windowIfDefined && windowIfDefined.devToolsExtension as () => GenericStoreEnhancer;
const createStoreWithMiddleware = compose(
applyMiddleware(thunk, routerMiddleware(history)),
devToolsExtension ? devToolsExtension() : (next: StoreEnhancerStoreCreator) => next
)(createStore);
// Combine all reducers and instantiate the app-wide store instance
const allReducers = buildRootReducer(reducers);
const store = createStoreWithMiddleware(allReducers, initialState) as Store<ApplicationState>;

const storePath = reedux(store);
const myReducer = storePath('counter', { count: 0 });
myReducer(Counter.reducer);

// Enable Webpack hot module replacement for reducers
if (module.hot) {
    module.hot.accept('./store', () => {
        const nextRootReducer = require<typeof StoreModule>('./store');
        store.replaceReducer(buildRootReducer(nextRootReducer.reducers));
    });
}

return store;

}
function buildRootReducer(allReducers: ReducersMapObject) {
return combineReducers(Object.assign({}, allReducers, { routing: routerReducer }));
}
File ClientApp\components\Counter.tsx
import * as React from 'react';
import { Link, RouteComponentProps } from 'react-router-dom';
import { connect } from 'react-redux';
import { ApplicationState }  from '../store';
import * as CounterStore from '../store/Counter';
import * as WeatherForecasts from '../store/WeatherForecasts';
import { InjectedFormProps, Field, reduxForm, Form } from 'redux-form';
type CounterProps =
CounterStore.CounterState
& typeof CounterStore.actionCreators
& RouteComponentProps<{}>;
type InjectedProps = InjectedFormProps<CounterProps, {}>;
class Counter extends React.Component {
//
constructor(props) {
super(props);
}
// own submit function
private onSubmit(values) {
    console.log(JSON.stringify(values));
}

public render() {
    const { handleSubmit, pristine, reset, submitting } = this.props;
    return

        <Form onSubmit={handleSubmit(this.onSubmit)}>

Counter

This is a simple example of a React component.

Current count: { this.props.count }

            <button onClick={() => { this.props.increment() }}>Increment</button>

<Field name="demo" component="input" type="text" />

            <button type="submit" disabled={pristine || submitting}>Submit</button>
        </Form>

;
}

}
//
const InitCounterFromState = reduxForm(
{
form: 'CounterFromState',
} // a unique identifier for this form
)(Counter);
// Wire up the React component to the Redux store
export default connect(
(state: ApplicationState) => state.counter, // Selects which state properties are merged into the component's props
CounterStore.actionCreators                 // Selects which action creators are merged into the component's props
)(InitCounterFromState);

Observations

The reducer worked and counter was updated as expected
But I can not enter in the input field of my redux-form component
If I reverted back to static reducer in the index.ts, all behaved properly

I didn't properly understand your last message.
Can you please ZIP this sample project and send it here?

Hi Marian, I was not able to reproduce the exact issue originally reported. I will close it for now and update when more details become available. Thanks for the assistance.


strings.snakeCase

Converts a string to snake case
Checklist

[x] implementation
[x] tests
[x] jsdoc

Details
console.log(strings.snakeCase('snake case is often used for naming files'));
>'snake_case_is_often_used_for_naming_files'

References

_.snakeCase

Added in 0.73


log error and continue when pod can't be migrated due to missing metadata for the key

fix: https://github.com/containerd/containerd/issues/10848

/assign @mikebrow

/retest


Sampler.onload not fired and .loaded == false despite actually being loaded (mobile web specifically)

Describe the bug
The onload function is not called and the sampler.loaded value is false despite the sampler having successfully loaded all of the files. The code below works just fine on Chrome/Safari Desktop and iPhone Safari via Simulator. But when trying to run it on an actual iPhone in Safari OR Chrome, the onload is never called and .loaded is false (and it continues to print false even when I use the sampler successfully in later code)
To Reproduce
The following is some edited React code where I am experiencing this issue
export const SamplerContextProvider: React.FC<Props> = ({ children }) => {
  const [isLoaded, setIsLoaded] = useState(false)
  const [pianoSampler, setPianoSampler] = useState<Tone.Sampler>(
    new Tone.Sampler(),
  )

  useEffect(() => {
    const pianoSampler = new Tone.Sampler({
      urls: {
        A0: 'A0v10.mp3',
      },
      release: 1,
      baseUrl: process.env.PUBLIC_URL + '/audio/',
      onload: () => {
        console.log('audio is loaded') // NOT BEING PRINTED ON MOBILE WEB
        setIsLoaded(true)
      },
    }).toDestination()

    // Adding this as a test -- onload isn't being fired on safari mobile even
    // though the files are loaded properly. Maybe the solution is directly checking
    // pianoSampler.loaded
    if (pianoSampler.loaded) {
      console.log('pianoSampler.loaded is true') // NOT BEING PRINTED ON MOBILE WEB
      setIsLoaded(true)
    }
    setPianoSampler(pianoSampler)
  }, [])

Expected behavior
I would expect onload to be called, or at least .loaded should be true.
Thank you

@mrclay which version are you using? The latest I see published is 14.7.77, which I'm on.
I did inspect the console by connecting my phone to my dev computer and piping out the logs, hence the console.log statements in my above code snippet.

Ah, I guess I'm on the next tag. 14.8.49. My app seems to work fine in Chrome (linux, mac) and Safari iOS.


Unable to enable TOTP MFA when already setup using login with both email and phone

Environment information
System:
  OS: macOS 14.4.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 161.22 MB / 16.00 GB
  Shell: /bin/zsh
Binaries:
  Node: 21.7.3 - /usr/local/bin/node
  Yarn: 1.22.21 - /opt/homebrew/bin/yarn
  npm: 10.5.0 - /usr/local/bin/npm
  pnpm: undefined - undefined
NPM Packages:
  @aws-amplify/backend: 1.0.0
  @aws-amplify/backend-cli: 1.0.1
  aws-amplify: 6.3.0
  aws-cdk: 2.140.0
  aws-cdk-lib: 2.140.0
  typescript: 5.4.5
AWS environment variables:
  AWS_STS_REGIONAL_ENDPOINTS = regional
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
No CDK environment variables

Description

Create user pool with

export const auth = defineAuth({
  loginWith: {
    phone: true,
    email: true,
  },
})

and run npx ampx sandbox.

Then enable TOTP MFA as follows:

export const auth = defineAuth({
  loginWith: {
    phone: true,
    email: true,
  },
  multifactor: {
    mode: 'OPTIONAL',
    totp: true
  }
})

and run npx ampx sandbox.
Observe that you get an error Can't turn off SMS_MFA when SMS configuration is set for the user pool
amplify-gen2docstesting-hsinghvq-sandbox-ee1b753139-auth179371D7-17YEFXCJ1KB5V |   0 | 6:23:40 p.m. | UPDATE_FAILED        | AWS::Cognito::UserPool     | auth/amplifyAuth/UserPool (amplifyAuthUserPool4BA7F805) Resource handler returned message: "Invalid request provided: Can't turn off SMS_MFA when SMS configuration is set for the user pool with a required or optional MFAConfiguration." (RequestToken: 46ffc05a-6dd8-72c8-5a36-1f3a93d2ee3a, HandlerErrorCode: InvalidRequest)

From this I am inferring, that sms gets sent as false , thats why its trying to turn it off.
Since nothing was mentioned about sms, MFA config should remain unchanged, rather assuming a false value.
Expected behaviour:
Should be able to add TOTP MFA.

Hey @harsh62, thank you for reaching for reaching out. I was able to reproduce the issue, marking as bug for further investigation.
but did notice, if i set the sms:true, the sandbox does deploy with errors.
import { defineAuth } from "@aws-amplify/backend";
/**
 * Define and configure your auth resource
 * @see https://docs.amplify.aws/gen2/build-a-backend/auth
 */
export const auth = defineAuth({
  loginWith: {
    email: true,
    phone: true,
  },
  multifactor: {
    mode: "OPTIONAL",
    totp: true,
    sms: true,
  },
});

similar issue on cdk lib: https://github.com/aws/aws-cdk/issues/11478#issuecomment-1654098890


Invalid default configuration, undocumented configuration options, and no session error logging

Gitea version (or commit ref): Gitea version 1.8.0 built with go1.12.4 : bindata, sqlite, sqlite_unlock_notify

Git version:  dna

Operating system: Ubuntu 18.04

Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
I am just installing gitea for the first time on Ubuntu as a linux service.
The data for my installation is located under /data/gitea.
Here is a snippet of my configuration
[repository]
ROOT = /data/gitea/repositories
[session]
PROVIDER = file
[log]
MODE      = file
LEVEL     = Trace
ROOT_PATH = /data/gitea/logs

Here's my service file
[Unit]
Description=gitea server
After=network-online.target

[Service]
Type=simple
User=gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always

[Install]
WantedBy=multi-user.target

When I try to login the username and password are validated but I am returned to the login screen with an empty form. There is no error on the web. There is no error output in the logs. The only messages that show up are these:
2019/05/05 22:16:22 [D] Session ID: <someid>
2019/05/05 22:16:22 [D] CSRF Token: <some token>

However, the session was not actually being written anywhere and instead failed silently. I had to guess and add the following configuration:
[session]
PROVIDER = file
PROVIDER_CONFIG = /data/gitea/sessions

There are several bugs and/or unfortunate design choices here:

There is no logging when Gitea fails to create a session file. All other failures during the installation (and there were many because of various data path and permission issues) resulted in a crash or fatal exit. However, sessions failed silently.

GITEA_WORK_DIR seems to be required but this is not explicit in the documentation, it (apparently) cannot be configured by the configuration file, and gitea will happily start without it -- i.e. it is not actually required, but gitea will just be horribly broken.

The default data path /usr/local/bin (based on the application path) is completely surprising. I have never seen another service work this way. I would expect it to use service defaults (/etc, /var/lib, etc.) or the well-established conventions $HOME/.config/appname/ or $HOME/.appname/) or PWD.

Required configuration should not be specified via a totally optional environment variable. Rather, it should be a command-line argument like gitea web /var/lib/gitea. See minio /data/dir as an example. This makes it 100% obvious that it is required for things to work and also prevents the application from starting up in a broken state.

gitea should sanity check the configuration before attempting to start with a configuration that will never work. See nginx -t as an example.

The web install UI happily creates an invalid configuration that will never work. I used the web installer and then gitea crashed as soon as it had written the config file. This is likely because of the above issues.

APP_DATA_PATH is mentioned in the FAQ, but not mentioned or explained in the docs, and it's not clear what this does. It seems there are three different ways to configure the same thing. This is at least one too many.

The setup process for gitea has been extremely frustrating. I spent about 5 minutes setting up minio the other day. By contrast, Gitea took about 3 hours of configuration whack-a-mole because it will happily start up with a completely broken, invalid configuration that will never work and then crash or fatal exit with vague or no error messages. I have Gitea up and running now and it's very nice, but the setup process was frustrating.

I suspect that part of the issue is that log.Fatal messages are currently silently disappearing on 1.8 - they're fixed on 1.9.

OK now I've looked a bit more at your issue I'll try to reply some of these. I'm sorry you've had difficulty - Gitea isn't built like a normal debian/ubuntu package, (more is the shame), and I think you've tried to force it to work like one without completely copying our documentation for it.
First of all did you look at:  https://docs.gitea.io/en-us/linux-service/  and https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service? Your service file is missing several key components and that are required and likely caused your trouble. As I said above Gitea isn't built like a debian/ubuntu package - and has only just since #6631 been able to built in such a way but we don't build it that way by default.
Gitea is effectively built to expect to be run from its own directory with the location of the gitea executable and the working directory the same. (If you just moved the gitea binary to /home/gitea and ran it from there as the gitea user you would never have experienced these problems.) There are several environment variables that will override the default places gitea uses and these have been added over time to eventually create a gitea that could work like an expected debian/ubuntu package but only if these are variables are set. This is very similar to how firefox and google-chrome work, and if you look at these executables on debian they are scripts that will set environments correctly. We currently don't have a script for gitea although I would almost certainly recommend that anyone packaging gitea for debian/ubuntu should shadow the gitea binary with such a script - if only to help prevent problems like this in future. PRs are more than welcome here.
Now since #6631, it is possible to build gitea in such a way that you will probably not need to use these environment variables - however, which configuration variables depend on working directory vs. app path needs to be clearly looked at. (Personally I don't understand the reasoning behind some of these choices - However its very difficult to change these without breaking existing users) Unfortunately, we won't be able to change the default provided gitea on gitea.io to have the correct #6631 settings set during build as it will break existing users - so either debian packagers will either have to use a shadowing script described above or should rebuild with the correct variables.
Now to address some specific points.  Regarding sessions, unfortunately the macaron.session package doesn't provide a way to test to see whether a configuration is acceptable. And in fact it is only when you attempt to login that session files should be created. It is at that point that they should cause a panic but they certainly shouldn't fail silently. Did you get a panic? You almost certainly experienced this problem because your default location was not accessible to the gitea service as your service file was incorrect.
Your issue with the GITEA_WORK_DIR and default data path are because you didn't set the service file correctly - I think I've explained above what these are doing.
I think you're partially right about checking configuration - there are certainly places were Gitea can determine whether it can create files where it wants to. However, as you see above the validity of a configuration file depends on the environment variables configured. Your configuration file is a perfectly valid file - just not from where you put gitea and where you ran it. As I said above, if you moved the gitea binary to /home/gitea and ran it from there with the gitea user you'd almost certainly have no trouble - depending on your values. We can do better, but we can't do this perfectly.
Now, what can we actually do to help prevent anyone else from experiencing these problems?

I think we need to go through our configuration and think seriously about from which directory we relativise our paths - and we need to think seriously about the appropriateness for these.
I think we need to create a shadowing gitea script that we recommend debian/ubuntu users use instead of the gitea binary - either that or we build specifically for debian/ubuntu users with their paths set within a package.
We should improve our documentation to be clearer that the Gitea binary is not like a debian/ubuntu program and where it expects things to be. We probably just need to provide information to debian/ubuntu users to explain that things are not the way they expect.
I think it's almost certainly worth going through the modules/setting/setting.go file and checking if we can test whether certain file paths are ever going to work - however, there will be a few places where this will depend on the values of the configuration in downstream packages.

However, please don't suffer in silence for 3 hours - use our discord and look at the documentation!

Thanks for the detailed response! I'll try to read through and follow-up on some of these things. I would also be happy to write some config validation code when I get some time, since this seems like low-hanging fruit.
log.Fatal fixes in 1.9

I suspect that part of the issue is that log.Fatal messages are currently silently disappearing on 1.8 - they're fixed on 1.9.

That's great! I'll pull a version from master and see if that does anything interesting for me.
Install Docs

First of all did you look at: https://docs.gitea.io/en-us/linux-service/ and https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service? Your service file is missing several key components that are required and likely caused your trouble.

I did see the linux service page but since I am familiar with systemd I wrote the .service file by hand. Also I did not notice the example service file since it was linked, while most other examples in the docs were inline. Oops!
I did read this part of the binary installation guide page that says:

NOTE: If you plan on running Gitea as a Linux service, you can skip [setting the environment variable] as the service file allows you to set WorkingDirectory. Otherwise, consider setting this environment variable (semi-)permanently so that Gitea consistently uses the correct working directory.

That line seems to be flat-out wrong, or at least misleading.
Duplicate Configs
I just took a look at https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service and I noticed it has the following (partial snippet):
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

In my (now working) configuration I have User set in my service file but I did not set USER also. This seems redundant -- is that actually required? If so, why is it required twice? Likewise for WorkingDirectory and GITEA_WORK_DIR it seems like the same thing is configured the same thing twice which is confusing.
I have now set GITEA_WORK_DIR but not WorkingDirectory. If I set WorkingDirectory only and not GITEA_WORK_DIR, the app crashes on startup. So GITEA_WORK_DIR still seems to be required either way. USER seems extraneous.
Default Settings

Unfortunately, we won't be able to change the default provided gitea on gitea.io to have the correct #6631 settings set during build as it will break existing users

I'm curious to know more about this. I have only skimmed a bit of 6631 so far, but on the surface I could see a simple approach:
Either --work-dir flag / argument / config option or GIT_WORK_DIR must be present to start the program. If neither is set, it exits.
I've done quite a bit of backwards-compatibility surgery in the past and it seems like there could be a reasonable upgrade path here. For example, the unspecified "magic" configuration could be marked as deprecated, and warn that the config is invalid and the option must be explicitly configured.
A future version of gitea will implement the correct behavior and refuse to start if the config is missing. The user simply has to specify the configuration to continue, but their current database and working directory will not need to be changed manually.
Sessions

Now to address some specific points. Regarding sessions, unfortunately the macaron.session package doesn't provide a way to test to see whether a configuration is acceptable. And in fact it is only when you attempt to login that session files should be created. It is at that point that they should cause a panic but they certainly shouldn't fail silently. Did you get a panic

As far as I could tell there was no panic. After I entered my username and password I would be immediately returned to the login page with a blank form. The logs were empty. I will double-check this.
(In)valid Configuration

Your configuration file is a perfectly valid file - just not from where you put gitea and where you ran it.

While the config may be syntactically valid it is not correct, and in that sense it is not going to work. But most importantly, this is opaque to me. I don't actually know what gitea is doing internally, so there's no way for me to know it's incorrect.

As I said above, if you moved the gitea binary to /home/gitea and ran it from there with the gitea user you'd almost certainly have no trouble - depending on your values. We can do better, but we can't do this perfectly.

This is so surprising to me! I can't think of another program that doesn't expect to be run from the path, and where the location of the binary rather than pwd controls its behavior. It's very unusual.
Gitea is pulling configuration from 5 places(!): the environment, it's current binary path, the command line flags, the configuration file, and baked-in constants. At a minimum it uses 4 of these config sources. This is very complicated. My gut tells me it could/should use a minimum of 2.
Distro conventions

We should improve our documentation to be clearer that the Gitea binary is not like a debian/ubuntu program and where it expects things to be.

I am coming from regularly using consul, nomad, vault, nginx, git, postgres etc. which do not strictly conform to debian packaging conventions, but also are compatible with them. FWIW I have also used FreeBSD and CentOS / RHEL and generally things use /etc/ there too.
Regardless of any small differences between unixes, gitea's behavior breaks all the standard conventions I can think of. Is that intended, or just incidental? I can't discern a design goal that would preclude it so I think gitea would be improved by following the same convention as everything else. Path of least surprise.
Forward
I realize that there are some past decisions here that are not easy to unwind. I have sporadically followed Gitea's development since before the Gogs fork, so I do not begrudge that there were decisions made in the past that were beyond your control. I'm also willing to put in a patch or two, though right now I am still trying to understand how things work and the best path forward.
Based on what you've said above I think a config-checker is the most straight foward way to proceed. At the very least it will make visible whatever logic and hidden or magic constants gitea is using, and make the problem more visible.
For the time being I think it would also be a good idea to emphasize the important of GITEA_WORK_DIR as being the thing that makes everything work. If I ran gitea as root (i.e. in docker) I would not notice most of these problems because with root permissions it will happily clobber everything else. In a traditional linux environment this option is still required.

OK work-path CLI option PR has been made.

I've also added a Contrib script in #6923 which we could use to shadow the gitea binary to set reasonable defaults.


encoding/gob Debug function prints uint values incorrectly

Please answer these questions before submitting your issue. Thanks!

Use the Debug function in encoding/gob to try to view a gob. A simplified gob that has the error is here:
package main

import (
	"bytes"
	"encoding/gob"
)

var gobBytes = []byte{0x3, 0x6, 0x0, 0xa}

func main() {
	gob.Debug(bytes.NewReader(gobBytes))
}

(Sorry I can't put this in the playground as you need to build the gob package without the build guard for Debug)
What did you expect to see?
Output of Debug should have been
Start of debugging
10

What did you see instead?
Start of debugging
5

Basically this was being treated as an integer and not an unsigned integer and so decoded with the
y := (x >> 1)
if x&1 != 0 {
   y = ^y
}

integer decoding method.

Looks like a copy-paste error here:
    case tInt:
        x := deb.int64()
        fmt.Fprintf(os.Stderr, "%s%d\n", indent, x)
    case tUint:
        x := deb.int64()
        fmt.Fprintf(os.Stderr, "%s%d\n", indent, x)

Notice how the case tUint branch calls x := deb.int64() instead of x := deb.uint64().

I submitted a fix this.


FR: Lint on autosave

Is Your Feature Request Related to a Problem? Please Describe.
I use Obsidian primarily on mobile, and therefore executing manual saves is bothersome.
Describe the Solution You'd Like
I would like Lint to optionally fire whenever a file is modified and saved.
Describe Alternatives You've Considered
Update time on edit purports to do this, but works only sporadically, at least on mobile.

This seems similar to https://github.com/platers/obsidian-linter/issues/188, but it is slightly different. I am not sure how often autosave gets run. It could cause issues with the Linter getting into an infinite loop. Would it be better to add the command to the mobile toolbar and use that instead?
Also, would linting on file close or file change make more sense? I ask because of my concern with accidentally causing an infinite loop with the linter if another autosave is triggered by the linter making changes.

File close or change would work fine. I didn't see #188; that would do nicely.

I am still looking into whether that is something that fires off an event since I know that I can check the active leaf, but it would be more convenient if I could check run it via a method that checks when you swap the active file for another in the case of swapping to a popout window or changing tabs as in version 16 (which is still in beta).

I will close this in favor of #188 .


[BUG] The app doesn't open when lock by pattern is set on the watch

Describe the bug
The app doesn't open when lock by pattern is set on the watch.
Wear OS
To Reproduce
Steps to reproduce the behavior:

I have enabled Pattern unlock in the device settings.
I try to open Wristkey, and it asks me for my pattern.
I enter it, and the app closes and I am left on the Wear OS menu to select apps.

Expected behavior
The app should open when I enter my pattern.
Screenshots
N/A
Watch:

Watch Name and model number: Mobvoi TicWatch E D15J
OS: 2.31
Wristkey version 1.3.1

Home app 2.51.0...
Google Play Services 21.33.14
Android 8.0.0
Android security patch August 1st 2018
Smartphone (if applicable):

Device: iPhone 6S Plus
OS: iOS14.8

Thanks!

You can use a PIN instead of a pattern.

Hi!
I am having a similar problem with the Galaxy Watch 4 which I think could be relatable. For me the app closes no matter if I have pattern unlock turned on or off.
However, 1/15 times it actually succeeds in opening the app and the app runs like normal.
Do you guys think these problems are related or do you have an idea of what is going on?
Thanks in advance!

I think this may be an issue with the Wear OS SDK or Wear OS itself. It's especially strange that it works sometimes and doesn't at other times.

Hey there, I'm rewriting parts of this app to make it Wear OS 3.0 friendly. I think I've fixed this bug. I'll be merging to master shortly, but you can try it on the wear-3.0-redesign branch anyway try it and tell me if the bug is fixed.


Correct typos in source code

Codecov Report
Attention: 11 lines in your changes are missing coverage. Please review.

Comparison is base (e384eee) 83.51% compared to head (c3422ce) 83.54%.

Files
Patch %
Lines

ANode/src/ecflow/node/EcfFile.cpp
60.00%
8 Missing :warning:

ANode/src/ecflow/node/Submittable.cpp
66.66%
2 Missing :warning:

ANode/src/ecflow/node/NodeFind.cpp
50.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #71      +/-   ##
===========================================
+ Coverage    83.51%   83.54%   +0.03%
===========================================
  Files          591      591
  Lines        52488    52488
===========================================
+ Hits         43836    43853      +17
+ Misses        8652     8635      -17

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Sort out APIs for message sending for data model

Problem
The Silicon Labs code has a bunch of APIs for message sending.  These can do different things depending on the EmberOutgoingMessageType passed in, have some sort of "sent" callbacks, etc.
Proposed Solution

Figure out what values of EmberOutgoingMessageType we actually need to support on the API level (as opposed to down in the CHIP library guts).
Figure out how to support them.
Figure out whether we need the callback bits.  @wehale @selissia @tecimovic what are those used for?
Figure out whether we need a ChipResponseDestination passed through all this stuff or whether we could nix that struct and just pass around chip::NodeId plus some globals for getting the secure channel bits.

@pan-apple do you have any bandwidth to think about this stuff?
@bhaskar-apple @shana-apple @rwalker-apple

One specific issue which causes this to block https://github.com/project-chip/connectedhomeip/issues/2057: iasZoneClientServiceDiscoveryCallback is handed an EmberAfServiceDiscoveryResult.  It then tries to send a command that that results node id.  We can probably rejigger this stuff to store a chip::NodeId but making it store a ChipResponseDestination does not seem too plausible.

@bzbarsky-apple , I can take a look at it. I'll reach out to you on IM to discuss the use-case further.


[WIP] Add timeout setting to build and buildrun

Resolves #55.
Adding timeout to build and buildrun. In generate task run, assign the timeout to the taskrun where the one from the buildrun wins over the one from the build. e2e and unit test as well as documentation included.

Rebased on master.

/assign @otaviof

@otaviof @zhangtbj I am ready with this here. Please review. Thank you.

/lgtm
/approve


dialog as reactive

does any one know how can i implament  the dialog with ngrx ?

https://github.com/angular/material2/pull/3460
https://github.com/angular/material2/pull/2855

@fxck  sorry i dont undrstand , is this a feature to be done ?
or is it already working ?

@yaronmil fxck has a pr out for the issue.

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.


🪲[Bug]:  Text is not visible in the night background

Text is not visible in the night background
The content at the About page and the contact page is not visible at the night mode
To Reproduce
I will add font styles and font colors to make it visible at the night mode
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
@akshitagupta15june I'm contributing under VSOC 2024 and I would like to work on this issue

please assign this to me


Round iteration should be limited.

Round iteration needs to be limited so that the user cannot iterate backwards into 'negative' rounds or past the 'winning' round (the round in which a candidate has > 50% of the votes)

fixed


when i access the http://localhost/bagisto/public/ i got this issue Undefined variable $__env but every other views are working well

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
latest
Issue Description
Undefined variable $__env (View: C:\xampp\htdocs\bagisto\public) (View: C:\xampp\htdocs\bagisto\resources\themes\velocity\views\home\index.blade.php)
Preconditions
xampp local host PHP 8.2.0 laravel 9.52.4
Steps to reproduce

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected Result
get my public view
Actual Result
Undefined variable $__env (View: C:\xampp\htdocs\bagisto\public) (View: C:\xampp\htdocs\bagisto\resources\themes\velocity\views\home\index.blade.php)
Screenshots
No response
Additional context
No response

I have started using bagisto just today for the first time, configuring it in my Local environment and I have the same issue.
The other views seems to be working fine, seems like only the homepage has this problem.
I have tried config:cache, cache:clear, and similar things but nothing worked.
Bagisto 1.4.5, PHP 8.1.10, Laravel 9.52.4

@digitalia24 I think I figured out what the problem was for me, can you verify the same?
Basically, I reinstalled bagisto in another folder with:
composer create-project bagisto/bagisto
Here I noticed that there was a message telling me I was missing the PHP extension sodium. I don't know if this was the problem but seems that after enabling it, and reinstalling bagisto with the command above, it started working correctly.
So, I stopped my installation, I went to my php.ini and checked I had this enabled:
extension=sodium
I enabled it and then I ran again:
composer create-project bagisto/bagisto
Since I already had the database configured from before, I just copied the .env file I had over the new one.
Otherwise, just modify your .env with database and email settings.
Now, run php artisan bagisto:install
It will migrate the database and install the rest.
For me it started working correctly.
Does it work for you too?

@eartahhj  Thank you. Your solution has worked for me.
The bagisto installation documentation the only required php extstion are:

php-intl extension
php-gd extension

but php-sodium extension should be with required too.

bonjour je suis nouveau sur laravel et bagisto J'ai suivi toute les étapes de bagisto mais malheureusement la page  d accueil affiche cette erreur
Undefined variable $__env (View: C:\xampp\htdocs\bagisto\public) (View: C:\xampp\htdocs\bagisto\resources\themes\velocity\views\home\index.blade.php)
si quelqu un peut m aider
merci

@abdulmalikalomayri good, I think this is linked to jwt since Sodium is about encryption.
I have indeed found this issue that could agree with my hypotesis: lcobucci/jwt requires sodium
@linux85 pouvez-vous essayer d'activer l'extension php "sodium" dans votre php.ini ?
extension=sodium
puis réessayez:
composer create-project bagisto/bagisto

@digitalia24 I think I figured out what the problem was for me, can you verify the same?
Basically, I reinstalled bagisto in another folder with:
composer create-project bagisto/bagisto
Here I noticed that there was a message telling me I was missing the PHP extension sodium. I don't know if this was the problem but seems that after enabling it, and reinstalling bagisto with the command above, it started working correctly.
So, I stopped my installation, I went to my php.ini and checked I had this enabled: extension=sodium
I enabled it and then I ran again: composer create-project bagisto/bagisto
Since I already had the database configured from before, I just copied the .env file I had over the new one. Otherwise, just modify your .env with database and email settings.
Now, run php artisan bagisto:install
It will migrate the database and install the rest.
For me it started working correctly.
Does it work for you too?

Actually i removed the directory and download the zip file from get and i didn't use 'php artisan bagisto:install' i did all steps manually and it worked for me but i faced another issue product images don't show up

@digitalia24 did you run php artisan vendor:publish ?

@eartahhj yes i did now it s working fine thank you

Closing this as the user already resolved at its its ends.


Feature Request: Implement findOne function!

Fireorm's .find always return an array of elements (even if only one document matches the query), but there are situations when we want to do a query and just take the first result. We could do something in the line of (await query.limit(1).find())[0] but that's cumbersome and prone to error.
Implement a findOne function in fireorm repositories to support this use case.
Acceptance Criteria:

Must return null if no document was retrieved
Add findOne in IQueryBuilder
Modify execute in IQueryExecutor to receive a single: bool prop
Edit AbstractFirestoreRepository and BatchFirestoreRepository to implement the new function
Add unit tests
Add integration test in the simple_repository file

closed in #92


website: iPad devices,  lost expo simulator in all examples,  after change horizontally.

Description
this is issue it's about,  for all examples in expo simulator lost after change iPad horizontally test in iPad Air 4 generation i believe for iPad pro it's the same issue

Documentation version
version: 0.64

Hi @luism3861, I'm not sure, but is looks like iPads are categorized/detected by Snack as mobile devices, and on mobile device the preview pane is disabled by default. I don't have an iPad right now, but I will try to use simulator to look at this issue.
Meanwhile you can always launch Snack example in a new window, which will should redirect you to the Snack website, and the preview should be available (can you confirm that the preview pane is visible on https://snack.expo.io/ when visiting from iPad?).

CC: @IjzerenHein

Hi @luism3861, I'm not sure, but is looks like iPads are categorized/detected by Snack as mobile devices, and on mobile device the preview pane is disabled by default. I don't have an iPad right now, but I will try to use simulator to look at this issue.
Meanwhile you can always launch Snack example in a new window, which will should redirect you to the Snack website, and the preview should be available (can you confirm that the preview pane is visible on https://snack.expo.io/ when visiting from iPad?).

CC: @IjzerenHein

Hi @Simek i can confirmed example link works in iPad horizontally.

This happens when the width of the Snack window/iframe is less than 700px. In that case we consider there to be too little room to display the preview pane. The following media-query is responsible for it:
https://github.com/expo/snack/blob/main/website/src/client/components/DevicePreview/DevicePreview.tsx#L47
If you think this behavior is wrong, please create an issue/PR in https://github.com/expo/snack with a suggested change.


Add Web API permission prompts

Sites can request permission to use Web APIs. Electron exposes this with http://electron.atom.io/docs/api/session/#sessetpermissionrequesthandlerhandler.
Beaker is currently denying all requests. This should be replaced with a prompt to let the user decide.

Done


add unparam

Adds linter mvdan/unparam (checking for unused function parameters).

Very nice, thank you. Love the tests!


Plots are not automatically opening in external browser

I would like to open plots/graphs in an external web browser rather than directly in VSC. Per documentatin, I am using this in my .Rprofile:
if (interactive() && Sys.getenv("RSTUDIO") == "") {
  Sys.setenv(TERM_PROGRAM = "vscode")
  if ("httpgd" %in% .packages(all.available = TRUE)) {
    options(vsc.plot = FALSE)
    options(device = function(...) {
      httpgd::hgd(silent = TRUE)
      .vsc.browser(httpgd::hgd_url(history = FALSE), viewer = "Beside")
    })
  }
}

As said in the documentation, this will pop the graphs inside VSC. Any possibility to open them in my web browser (externally)? I have also tried to use:
.vsc.browser(httpgd::hgd_url(history = FALSE), viewer = FALSE)

Anything I am missing out?
r$> sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 21

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.20.so

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8
 [5] LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8
 [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods
[7] base

loaded via a namespace (and not attached):
[1] compiler_4.2.1    cli_3.3.0         later_1.3.0
[4] Rcpp_1.0.9        httpgd_1.3.0      jsonlite_1.8.0
[7] systemfonts_1.0.4 rlang_1.0.4

Environment (please complete the following information):

OS: Ubuntu 22.04
VSCode Version: 1.70.2
R Version: 4.2.1
vscode-R version: 2.5.2

.vsc.browser(httpgd::hgd_url(history = FALSE), viewer = FALSE)

should open the httpgd viewer in an external web browser. How does it behave differently?

should open the httpgd viewer in an external web browser. How does it behave differently?

It does nothing on my external browser (Firefox). The plot only appears inside VSC. I h ave tried to use it in my .Rprofile but also directly in a live session:

.

What if you disable r.plot.useHttpgd?

I set "r.plot.useHttpgd": false, in settings.json. The same thing happens, except it is a png file that opens inside VSC.

I do not remember where, but I found a post from you somewhere with this keybinding.
{
    "key": "ctrl+alt+p",
    "command": "r.runCommand",
    "when": "editorTextFocus && editorLangId == 'r'",
    "args": ".vsc.browser(httpgd::hgd_url(), viewer = FALSE)"
  }

If I use it, it will indeed open the plot in a web browser.

I just found that it is working only if the following is defined in the project .Rprofile file. It is not working if used in the global .Rprofile.

if (interactive() && Sys.getenv("RSTUDIO") == "") {
  Sys.setenv(TERM_PROGRAM = "vscode")
  if ("httpgd" %in% .packages(all.available = TRUE)) {
    options(vsc.plot = FALSE)
    options(device = function(...) {
      httpgd::hgd(silent = TRUE)
      .vsc.browser(httpgd::hgd_url(history = FALSE), viewer = FALSE)
    })
  }
}

Do you have both project .Rprofile and global ~/.Rprofile?
If it is the case, then only project .Rprofile will be sourced by R session started from the project directory.

That was the problem. I had an empty .Rprofile inside my project. I never thought that although empty, it will prevent the global one to be loaded. Tx for your assistance.


Treat default values as constraints instead of separate fields

This PR fixes issue #16 by introducing a new RowConstraint constructor DefaultConstraint, which holds a default value. It also adds a test that ensures DEFAULT may occur after another constraint. I hope it doesn't introduce any AG issues.
To make sure I didn't break any kind of type checking, I tested the following statement:
CREATE TABLE t (a integer DEFAULT 'a');

PostgreSQL rejected this statement with ERROR:  invalid input syntax for integer: "a". (I personally expected it to accept the syntax and reject the type, but the end result is what matters.) I then tried to type-check the statement using both hssqlppp-0.6.0 and this version, and both versions (apparently) accepted it. I'm fairly confident this means that I neither improved nor worsened the type-checking part of the system.

The patch looks great. Thanks very much, and sorry for the slow response!.


Some confusions about this code

Hi,
Thank you for sharing the great work. I have some confusions about the code, and I put these questions in a PDF file, please check it out, thanks for your reply！
Some confusions about this code.pdf

Loss for lane can be found in 'lane_scoring' module (in our updated code)
New detailed description for this function may be helpful
Scores of heatmap indicate probability distribution of final position. Generated 6 trajectories together with their scores can be treated as  a simplification of the heatmap.

Thank for your reply!
I have another question about Goal_2D, in the code, the function     def get_subdivide_points(polygon):  is still dense sampling on the lane centerline, where can it be expressed that it is dense sampling on the lane?

We treat sampling on the centerline as sparse sampling. Dense sampling is performed at https://github.com/Tsinghua-MARS-Lab/DenseTNT/blob/a0e3b8a51aecf9f9046db4fb72e2793684c96e69/src/modeling/decoder.py#L143

Thank for your reply!
I also want to ask you a question，without using " a set predictor ", we calculate the loss in " goals_2D_per_example_calc_loss ",we get a " predict_traj " It's just to calculate loss?  and we get 6 trajectories using the topk(6) scores. How do we determine that the calculated " predict_traj " must be in the 6 trajectories with the highest score in the end?

I also have the similar question. We get the "highest_goal" in
https://github.com/Tsinghua-MARS-Lab/DenseTNT/blob/a0e3b8a51aecf9f9046db4fb72e2793684c96e69/src/modeling/decoder.py#L228
But it not used for generating the trajectory. So what is the usage of it?

predict_traj here is only used to calculate loss for trajectory completion. During training, we don't need to generate top K goals. During evaluation, we get top K goals at https://github.com/Tsinghua-MARS-Lab/DenseTNT/blob/a0e3b8a51aecf9f9046db4fb72e2793684c96e69/src/modeling/decoder.py#L263


ANDROID_HOME not found in mingc/android-build-box:1.12.0 (via rultor)

@rultor release, tag=0.9.0

@glusk2 Oops, I failed. You can see the full log here (spent 2min)
+ export head=git@github.com:Glusk2/sprouts.git
+ head=git@github.com:Glusk2/sprouts.git
+ export tag=0.9.0
+ tag=0.9.0
+ export head_branch=master
+ head_branch=master
+ export author=glusk2
+ author=glusk2
+ chmod +x gradlew
+ perl -i.orig -pe '/versionCode/ && s/([0-9]+)/$1+1 . $2/e' android/build.gradle
+ echo '$tag'
+ ./gradlew updateVersion
Downloading https://services.gradle.org/distributions/gradle-5.4.1-bin.zip
...................................................................................

Welcome to Gradle 5.4.1!

Here are the highlights of this release:
 - Run builds with JDK12
 - New API for Incremental Tasks
 - Updates to native projects, including Swift 5 support

For more details see https://docs.gradle.org/5.4.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file '/home/r/repo/android/build.gradle' line: 68

* What went wrong:
A problem occurred evaluating project ':android'.
> SDK location not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring project ':android'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/home/r/repo/local.properties'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
==============================================================================

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1m 0s
container 539931181c3654dbacab372b5e581cb2e7b7c846a1d3ef853b44905e254623d2 is dead
Tue Oct 22 01:57:13 CEST 2019

Originally posted by @rultor in https://github.com/Glusk2/sprouts/issues/163#issuecomment-544756051

Lets try to add as_root: true in .rultor.yml


Preprocessing the Dataset

Since the dataset consists of text and it contains lots of code, user name, version number , URL and many more insignificant portions to identify the information type.
Target

Replace user name starting with @ with "SCREEN_NAME"
Replace url with keyword "URL"
Remove duplicate data
Clean Text like trimming, removing emoticon, removing newline/ascii code

I have observed Bert does well even with having name or url. so no need to do 1 and 2

Could you please elaborate the removal of emoticons? When I checked the dataset, it contains only ascii characters for some emoticons such as :) (found 42 instances). Do you want to remove all such smileys? Usually, some twitters have unicode emojis which are visual such as 😎. To remove the visual emojis libraries such as demoji could be used. However, it seems that the dataset already contains the ascii characters.

I think these ascii characters can help to detect social conversation type. So for now, no need to remove those. What we have till now should be enough.


Infer Groovy 3 jars from classpath if found, otherwise declare external dependencies

Fixes https://github.com/gradle/gradle/issues/16667
Groovy 3 is not repackaged in groovy-all jar as was the case for previous versions.
When inferring Groovy3 classpath for tools (like groovydoc), we will never have
the -all artifact, thus we have to look for its individual pieces
(possibly added via localGroovy()) and use those if found.
Otherwise, declare external dependencies (as was the case for Groovy <3
when no -all artifact was found on classpath).

@bot-gradle test and merge this

OK, I've already triggered a build for you.

Thanks for fixing this, @rieske! 👏


userDefinedTypes forces symbolic name ARM generation

Bicep version
Bicep CLI version 0.17.1 (d423d61882)
Describe the bug
Hi! I believe that using the userDefinedTypes flag implicitly enables symbolic names in ARM generation., even when explicitly turned off in the bicep settings.
I am not sure whether it is a bug (I didn't expect user defined types to require symbolic resource names) or perhaps something to make clearer in the docs - on my side it fails my deployment.
To Reproduce
Steps to reproduce the behavior:

Create a config file with the following config:

{
    "experimentalFeaturesEnabled": {
        "userDefinedTypes": true,
        "symbolicNameCodegen": false
    }
}

Create a basic bicep file like the following

// simple-test.bicep
param location string

resource storageaccount 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: 'name'
  location: location
  kind: 'StorageV2'
  sku: {
    name: 'Premium_LRS'
  }
}

Produce the ARM with az bicep build --file simple-test.bicep --outfile experimentalFeaturesEnabled.json
See that the resulting ARM template uses symbolic names

Additional context
I wanted to leverage user-defined types for parameters, so I enabled it in the experimental features. But then, my deployments kept failing with cryptic reasons, although they used to. In my case, I was creating an A record on a private DNS zone (for a redis private link), and I kept hitting a weird error:

The resource 'privatelink.redis.cache.windows.net' already exists in location 'global' in resource group 'my-resource-group'. A resource with the same name cannot be created in location '<null>'. Please select a new resource name.

I kept seeing "WARNING : Symbolic name support in ARM is experimental" although I explicitly disabled it, so I figured it was the thing causing my deployment to fail. Indeed, when I remove the user-defined types, the deployment succeeds. For now I'll just have to give up on user-defined types 🥺, because I don't know what symbolic names imply for ARM deployments / why it fails - but any pointers are welcome!

Is there any chance you could share the template that failed with the error reported?

@jeskew sure! The code I gave above is the simplest reproduction one, but here you go with my actual use case.
I tend to use "scoped"  and "unscoped"  bicep file, depending on whether the importing module is in the same resource group as the one it imports or not.
//a-record.scoped.bicep
param privateDnsZoneId string

@minLength(1)
param recordName string

param ipv4Address string

@minValue(60)
param ttl int = 3600

var splitDnsZoneId = split(privateDnsZoneId, '/')
var subscriptionScope = splitDnsZoneId[2]
var resourceGroupScope = splitDnsZoneId[4]
var dnsZoneName = last(splitDnsZoneId)

module scopedModule './a-record.unscoped.bicep' = {
  name: 'arecord-${uniqueString(privateDnsZoneId, recordName, ipv4Address)}'
  scope: resourceGroup(subscriptionScope, resourceGroupScope)
  params: {
    dnsZoneName: dnsZoneName
    recordName: recordName
    ipv4Address: ipv4Address
    ttl: ttl
  }
}

//a-record.unscoped.bicep
param dnsZoneName string

@minLength(1)
param recordName string

param ipv4Address string

@minValue(60)
param ttl int = 3600

resource dnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' existing = {
  name: dnsZoneName
}

resource Identifier 'Microsoft.Network/privateDnsZones/A@2020-06-01' = {
  name: recordName
  parent: dnsZone
  properties: {
    ttl: ttl
    aRecords: [
      {
        ipv4Address: ipv4Address
      }
    ]
  }
}

Using a-record.scoped.bicep allows to set an A record in a private dns zone in a different resource group. When deploying to a resource-group-a, and my private dns zone is in resource-group-b, you can simply run:
# with a proper private dns zone id in the parameters.json file.
# Note that in my case, I want a record for privatelink.redis.cache.windows.net
az deployment group create -g resource-group-a --template-file a-record.scoped.bicep --parameters @parameters.json

With userDefinedTypes set to false, this works perfectly, but when set to true, I get almost immediately the following:
{
    "code": "InvalidResourceLocation",
    "message": "The resource 'privatelink.redis.cache.windows.net' already exists in location 'global' in resource group ' resource-group-b'. A resource with the same name cannot be created in location '<null>'. Please select a new resource name."
}

Thanks for sharing, @Marchelune. It's not possible to use user-defined types in ARM without using symbolic name templates, so setting the userDefinedTypes feature flag to true will enable symbolic name codegen (regardless of what (if anything) is provided for the symbolicNameCodegen feature flag). Maybe an error should be raised when incompatible feature flags are set?
For the underlying ARM bug, it looks like the only difference between the symbolic name (JSON) template and its non-symbolic name counterpart is the presence of an existing resource:
{
  "resources": {
    "dnsZone": {
      "existing": true,
      "type": "Microsoft.Network/privateDnsZones",
      "apiVersion": "2020-06-01",
      "name": "[parameters('dnsZoneName')]"
    }
}

The error message's mention of a resource being "created" indicates that some of ARM's validation is not aware of existing resources.

I also discovered this happens when extensibility is enabled.
  "experimentalFeaturesEnabled": {
    "extensibility": true,
    "symbolicNameCodegen": false
  }

I picked this up as generated ARM passed to the Azure Portal threw the following error:
n.filter is not a function

@jeskew thanks for the clarification! And yes, perhaps an error could be raised - there is a warning in the produced ARM and when running the deployment via AZ CLI, but I falsely believed I could avoid symbolic name generation with the symbolicNameCodegen flag. Maybe it could make sense to also mention it in the docs?
You are right regarding the underlying ARM issue, it is referenced in https://github.com/Azure/bicep/issues/10678 as well

I picked this up as generated ARM passed to the Azure Portal threw the following error:
n.filter is not a function

Thanks for raising this - this is something we've raised with the Portal team and are awaiting a fix.


Tile images don't have the expected quality

Comparing results with its counterpart tool, ZoomifyFileProcessor.py, which uses the same underlying library for jpeg images (PIL.Image), differences in tile image quality are noticeable. Although this is based on subjective assessment, it's easy to see the differences by zooming in and inspecting the edges. According to documentation, the imageio PIL-JPG driver has a default quality of 75, while ZoomifyFileProcessor.py uses 80. However, even after setting that value to its maximum (100) in dataflow-zoomify-image, quality is still poorer than ZoomifyFileProcessor.py. Why is that?
You can find below an example (check the letters):
1- part of a tile generated with ZoomifyFileProcessor.py

2- same part generated with dataflow-zoomify-image:

I made a commit to use a slower algorithm but with a better perceived quality. Let me know what you think. @regiov

@egonrian apparently this one was also solved. I'll now try to merge with our last branch, which I didn't send a pull request as it contains functionality probably too specific for our case (including bigquery to store image metadata and moving the input images to a final bucket after being processed). I just wanted to confirm with you: the new code can handle other file formats, such as png and tiff, but it always saves the corresponding tiles as jpeg, right?

That is right. It always save in RGB format and as a JPEG file.


🐛 Bug: Volume Delay Functions are incorrectly applied

Describe the bug
The volume delay functions used in tm2py should align with the methods used in TM1, as defined here. It appears that the translation to tm2py did not account for the change in the facility types. In TM1, the facility types are as follows:

Freeway-to-freeway connector (BPR)
Freeway (BPR)
Expressway (Akcelik)
Collector (Akcelik)
Freeway ramp (Akcelik)
Dummy link (N/A)
Major arterial (Akcelik)
Managed Freeway (BPR)
Special facility (BPR)
Toll plaza (Akcelik)

For the new TM2 networks, the facility types are as follows:

Freeway
Expressway
Ramp
Divided Arterial
Undivided Arterial
Collector
Local
Dummy

It appears from this code that Akceliks are being applied to the old facility types -- see this snippet:
akcelik_vdfs = [3, 4, 5, 7, 8, 10, 11, 12, 13, 14]
-->
Progress:

[ ] Sufficient information provided
[ ] Cause identified/found
[ ] Test developed/identified
[ ] Approach determined
[ ] Test passes

To Reproduce
Magic number error
Failing tests

[ ] No applicable test failed, need to create.
[ ] other...specify

Triggering line of code
(https://github.com/BayAreaMetro/tm2py/blob/develop/tm2py/components/network/highway/highway_network.py#L264)
Thoughts on resolution
This array should be:
akcelik_vdfs = [2, 3, 4, 5, 6, 7]
This retains the magic number problem, but fixes the bug. It's also not clear where in the code the BPR parameters are applied for the other facility types.
Full stack trace
Environment
Operating system:
Context (conda, jupyter, etc):
Environment (e.g. output from conda list):

@inrokevin, @e-lo: do either of you know where the BPR parameters are defined in the system?
FYI @lmz, @gregerhardt, @i-am-sijia

@arashasadabadi It looks like the critical speeds you have defined here are not correct. See here for the correct values. These need to be mapped to the correct facility types. Please reference a commit here that fixes this problem.


[Spike] Check possibility to use python v3 as default.

At least pgbouncer 1.10 uses python 2.7 (might be upgraded to newer version)
Check if have any other components which require python 2.

With Redhat 8.x we should have everything on Python 3.x, also pgbouncer was upgraded already to use this so closing.


Feature Request: Collapse All for find results

VSCode Version: 1.7.2
OS Version: Windows 10

Steps to Reproduce:

Search for something with 1 or 2 hits (e.g. A C# Reference Include) in a large project folder
Search results display as expected but if you only want to see the folder/files view you have to manually collapse the view of each file. With 90+ hits, this becomes tiresome.

We routinely have projects that have thousand of files and a few hundred VS solutions/projects. Searching for something like an included reference can result in a large number of hits of 1 to 3 lines.
It would be a nice feature to be able to collapse all the find results in a single click (or key shortcut) rather than selecting them individually.

You mean this kind of search right?

That middle button on the right will collapse all the results

:flushed: I totally missed that...
Apologies - thanks for pointing this out. 😃  This was what I was looking for.
Thanks.

Is there some option, which can help do it by default?


Unsupported MySQL 8 Heatwave

MySQL 8 Heatwave database schema can contains SECONDARY Engine:
CREATE DATABASE example;

CREATE TABLE example.test (
  id int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
  test mediumtext NOT NULL NOT SECONDARY
) ENGINE=InnoDB SECONDARY_ENGINE=RAPID;

SECONDARY_ENGINE in table definition
NOT SECONDARY in column definition

On running schema inspect
atlas schema inspect -d "mysql://root:root@tcp(localhost:3306)/example" > example.hcl

I receive following error:
Error: mysql: unknown extra column attribute "NOT SECONDARY"

https://dev.mysql.com/doc/heatwave/en/mys-hw-exclude-table-columns.html
https://dev.mysql.com/doc/heatwave/en/mys-hw-defining-secondary-engine.html

Any progress on this demand?

I you can't support these now, please, only allow this keywords to exists in the HCL.


[Task]: Show the query toolbar below the query and above the response pane with dummy buttons

fixed in #30655


Running test in parallel

Hi Folks,
I am using TestNG with eclipse plugin along with selenium
the only reason I moved to TestNG is to use parallel running of my test cases, which anyways supported by Junit4+ but, reports were not getting generated out of it.
Using TestNG that issues (reports related) looks like resolved but really speaking tests are not running in parallel,
Issue is :
it is launching 1 browser and waits for it to load and then opens another.
when another browser is loading, it keeps on waiting once the 2nd browser load completed moves back to first 1 and performs operation.
really speaking it is not doing in parallel, but using only 1 thread.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "TestNGdtd.dtd" >
<suite name="Sample Test suite demo" parallel="tests">

    <test name="Test Project1">
        <classes >
            <class name="Project1.TestCase1"></class>
            <class name="Project1.TestCase2"></class>
        </classes>
    </test>

    <test name="Test Project2">
        <classes >
            <class name="Project2.TestCase1"></class>
            <class name="Project2.TestCase2"></class>
        </classes>
    </test>
</suite>

am i missing something, here ? or this is a issue with TestNG

Not much information is provided to debug this. Closing this issue. Please feel free to re-open if this is still a problem (but please add more context along with sample tests)


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-28-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4200

Questions ?
Please refer to the Backport tool documentation


Adding QA editor block

Closes #42

Adds a QA editor block
Installs the Genesis Block Editor plugin

Notes:

I'm not sure this is how we want to approach this, but it works.
We'd have to create this QA block on the live env, I can't find a way to export the block settings itself.

To Review

[ ] Checkout Branch.
[ ] Run npm run local (or npm run refresh if you want a fresh database.)
[ ] Go to http://the-world-wp.lndo.site/.

...then...

[ ] Go here
[ ] Add a block called QA
[ ] Add a text field called question
[ ] Add a textarea called answer
[ ] Publish
[ ] Go to any post, add a new paragraph, and insert a "QA block"
[ ] Add content to the QA block
[ ] Note, the styling should reflect that of a QA block.
[ ] Inspect styling to confirm proper markup (it should match the frontend output)
[ ] Confirm in API output.

@brandonhundt Is this still a WIP?

@rpeterman-gp I removed the WIP label. Feel free to vet and give your opinion.


"Items Shop" loading forever after listing items from "My Items"

Hi there,
Thanks for the excellent example!
After listing the items from "Items Shop", are these items supposed to go back and show up under the "Items Shop" tab?
If so, the page has been loading forever ( a spinning circle by ID), although the items in "My Items" tab have been updated.
Thanks so much and have a good day!

Another one. This should be fixed when we merge this PR #27

Fixed by #27


Connect user accounts from different login sources

Consider using features from: https://pythonhosted.org/Flask-Social/

Will fix with Girder.


Cheat Discontinued ?

Hey, did you discontinue the Hunt cheat? Because there are still some major bugs left, and you're not updating the cheat anymore. So, did you abandon it, or will there be updates in the future?

I might touch upon it in the future but I am submerged up to my neck in work. I just checked UC and someone posted a sig for systemglobalenvironment that should be good for quite a long while.

Yes, I got my offset from there. Additionally, I added all the bosses to the ESP and removed the zombies from the monster ESP, making it much easier to spot the bosses. However, I'm currently stuck on removing your custom GUI so I can replace it with ImGui and have a transparent overlay for my Hunt. I'm running it on a single PC with DMA without any issues, similar to how I manage it for Apex ,Tarkovand others.
I understand you're swamped with work right now and can't continue updating the cheat. Any tips or pointers you can provide to help with the GUI issue would be greatly appreciated. Your work has been incredibly valuable, and any small guidance would help me keep improving it in your absence.


How can I use display name (Alias) instead of login username?

Need help on customizing the display of names and date ranges, can it be the same of other parts of kimai?
Appreciate your work on this awesome plugin!

Hi, using the displayName (Alias when available, otherwise username) is a nice feature. This will be available in the next update (expected within 2 weeks). You can use the "dev" version for now.
For the date-ranges - it is a standard form which Kimai uses - you see the same under "Administration" -> "Reporting". When you are familar with Kimai programming, feel free to update the file: WeeklyUserListForm.php.

thank you!
btw, the date ranges format is fine, it's just not localized, that's what I mean😃
I duplicated the file 'messages.en.xliff' to make my own localization, but the month names like 'September' are not covered.

The "date-ranges" form is one from Kimai - it might be reported there to localize this - no changes in the approvalBundle are possible for this. The alias will come soon also for "main", so I close this issue.


feat: add onObjectDefinition / onInputObjectDefinition

The onObjectDefinition plugin option allows for a plugin to declarative modify the definition of an object type.
For example:
const Post = objectType({
  name: 'Post',
  node: 'uuid',
  resolve(t) {
    t.string('name')
  }
})

This allows the plugin to intercept the t (definition block builder) after the fields are applied, and based on the presence of node in the object definition, add:
onObjectDefinition((t, config) => {
  if (config.node) {
    t.implements('Node')
    t.id('id', {
      nullable: false,
      resolve: (root, args, ctx, info) => `${info.parentType.name}:${root[config.node]}`
    })
  }
})

Also added onInputObjectDefinition for symmetry, but not sure if it'd be useful yet.

Awesome @tgriesser! Will look at this tomorrow.

@jasonkuhrt thinking about it more, it seems like this sort of thing could also be useful for Prisma, especially if we added a way to determine what fields may have been already defined in the "definition" block.
export const User = objectType({
  prismaModel: 'User',
})

export const Post = objectType({
  prismaModel: 'Post',
  definition(t) {
    t.string('title', {
       resolve: customResolver
    })
  }
})


Added assertion for completable future for it to complete within peri…

Added a new willCompleteWithValueMatching method to AbstractCompletableFutureAssert to check that CompletableFuture will complete within the given period with value matching given Predicate. Found this kind of assertion very handy in my project.

@mipo256 the code does not compile on java 8 which is AssertJ Core 3.x baseline, can you fix it ?
FYI we will bump it to java 17 for 4.x

Hey @joel-costigliola, of course, I can fix it to run on JDK 8. Will do it today.
P.SL In contribution guidelines it is mentioned that the project needs to be built with JDK 17

We actually raised it to 21 🙃 but the language syntax and feature set are still restricted to 8

Thanks. guys, I've fixed it. Now the build should run just fine.
FYI: @joel-costigliola, @scordio

Hey @joel-costigliola, any news on reviewing this PR?

LGTM, I'm integrating it but will rename the assertion to isCompletedWithValueMatchingWithin(Predicate<RESULT> resultPredicate, Duration completionDuration) and invert the parameters to be consistent with the other assertions.
ex:
 assertThat(completedFuture("something")).isCompletedWithValueMatchingWithin(result -> result.equals("something"),
                                                                            Duration.ofSeconds(10));

LGTM, I'm integrating it but will rename the assertion to isCompletedWithValueMatchingWithin(Predicate<RESULT> resultPredicate, Duration completionDuration) and invert the parameters to be consistent with the other assertions.
ex:
 assertThat(completedFuture("something")).isCompletedWithValueMatchingWithin(result -> result.equals("something"),
                                                                            Duration.ofSeconds(10));

Integrated thanks @mipo256 !

LGTM, I'm integrating it but will rename the assertion to isCompletedWithValueMatchingWithin(Predicate<RESULT> resultPredicate, Duration completionDuration) and invert the parameters to be consistent with the other assertions.
ex:
 assertThat(completedFuture("something")).isCompletedWithValueMatchingWithin(result -> result.equals("something"),
                                                                            Duration.ofSeconds(10));

Okay, fine, thanks!)

You'll get the full credit for it anyway ;-)


Raise warning if patientslice contains no temporal events

          A sidenote - perhaps we should raise an error or warning, if we are generating PatientSlices with no contents?

Originally posted by @MartinBernstorff in https://github.com/Aarhus-Psychiatry-Research/psycop-common/issues/279#issuecomment-1772203417

Maybe the same for Patients without temporal events.

@KennethEnevoldsen This might be something you guys want to implement. If not, feel free to close 👍


merge from arlac77/template-arlac77-github,arlac77/template-esm-only,arlac77/template-node-component

package.json

chore(deps): add github:arlac77/documentation remove ^13.1.0 (devDependencies.documentation)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


SvelteKit 2: Importing $env/dynamic/public in safari causes a Cannot access uninitialized variable on hydration

Describe the bug
My company tried upgrading our app to SvelteKit 2, except that using it on Safari would always cause a panic both in dev mode and a production build. SvelteKit 1 still works fine.
I was trying to investigate the bug, and was able to reproduce it in dev mode by just importing $env/dynamic/public from a layout file more than once. I assume that a production build does some tree shaking or something that prevents it from being reproduced in such a contrived way.
Reproduction
This link should fail on dev mode in Safari with Cannot access uninitialized variable. All of my coworkers who tried it in Safari also experienced the same behavior.
https://stackblitz.com/edit/sveltejs-kit-template-default-ankg48?file=src%2Froutes%2F%2Bpage.svelte
Logs
[Error] ReferenceError: Cannot access uninitialized variable.
validate — exports.js:12
(anonymous function) — client.js:519

	handleError (app.js:16)
	handle_error (client.js:1485)
	(anonymous function) (client.js:2088)

System Info
Safari 16.5, Ventura 13.4

Severity
blocking an upgrade
Additional Information
I recognize this bug is similar to https://github.com/sveltejs/kit/issues/2889 but we've been able to reproduce it consistently, and changing any build parameters doesnt fix it.
Any help in solving this would be appreciated, as we really want to use Shallow Routing!

We are having the same issue after upgrading to v2.0.0.

I also get the error. However only in the production build and not in dev mode. 🤔 (Maybe it's a separate issue then, idk)
It also only happens during in client side navigation. The initial page load works without errors.
Safari 16.4, Ventura 13.3

I fixed it for me by using $env/static/public instead of $env/dynamic/public as the migration docs suggest:
-- import { env } from '$env/dynamic/public';
++ import { PUBLIC_API_URL } from '$env/static/public';

https://kit.svelte.dev/docs/migrating-to-sveltekit-2#dynamic-environment-variables-cannot-be-used-during-prerendering

Regardless of static or dynamic, it still shouldn't be causing a hard crash in only one browser by just importing it. In our production app, we need some server side secrets, so putting everything in static isn't feasible.

Correct me if I'm wrong, but isn't the only difference between static and dynamic that static variables are known at build time (.env read with dotenv for instance) whereas dynamic variables are for example set in a docker-compose.
So regardless of your variables being public or private, static variables are still usable for both.
But I totally agree that the behaviour should not result in a bug in one browser and not in another.

I fixed it for me by using $env/static/public instead of $env/dynamic/public as the migration docs suggest:
Those do very different things though, so be clear why you were / are using one over the other.

We are explicitly using dynamic since we don't own our build servers and do not want to leak our secrets at build time, so we can't use these workarounds.
We just need someone to look into why importing some packages break SvelteKit2 in Safari.

Here are some debugger screenshots, I'm seeing the same issue.
This is in load_node (source)

This is in validate(source)

We are explicitly using dynamic since we don't own our build servers and do not want to leak our secrets at build time, so we can't use these workarounds.

I'm just catching up here, but this sounds pretty fishy. Using $env/dynamic/public doesn't fix your issue -- anything that goes in that module is, er, public. It's not secret. There's no difference, leakiness-wise, between using $env/static/public on the build server and $env/dynamic/public to populate from your webserver -- in both cases, you should only serve public variables through here.

I'm just catching up here, but this sounds pretty fishy. Using $env/dynamic/public doesn't fix your issue -- anything that goes in that module is, er, public. It's not secret. There's no difference, leakiness-wise, between using $env/static/public on the build server and $env/dynamic/public to populate from your webserver -- in both cases, you should only serve public variables through here.

We are using both $env/dynamic/public and $env/dynamic/private. Please see the minimal reproduction above, as it can be reproduced in its simplest form by indirectly including the $env/dynamic/public module more than once.

I also experienced this bug which causes very irrational behavior on Safari. Sometimes even importing a random, empty component will break the site while importing another empty component will fix it again. I just spent a lot of time debugging this to reach the same conclusion... ^^

@Coronon Can you link another stackblitz example that I can add to the issue and change the title? I think that may help a maintainer actually take a look at this! Thanks!

@thesiti92 Happy new year and sorry for the late reply. I attempted a short recreation but wasn't successful yet. Sadly I'm a little short on time this and next week :( If the issue is still open after that (let's hope not) I'll see what I can do :)

In 94391905f7deb33f830f3fb76df4289833ccf3bd the exports/vite/index.js the line:
  return `export const env = ${global}.env;`;

was changed into:
  return `export const env = ${global}.env ?? (await import(/* @vite-ignore */ ${global}.base + '/' + '${kit.appDir}/env.js')).env;`;

this is causing the ReferenceError: Cannot access uninitialized variable. in Safari/Webkit

We have the same error (Unhandled Promise Rejection: ReferenceError: Cannot access uninitialized variable.) on upgrading from SK1 to SK2.
It is occurring in our npmjs library app where we are having the problem (and is propagating to our production apps).  That library app does NOT use ANY env variables.  So, I wonder if that is a red herring.
Some routes work fine, but others experience this problem EVERY time when first navigating to them, but navigating somewhere else, and then back shows the page correctly.
We have been trying to track down what offending code in our app is doing this, but still haven't been able to figure it out.
Note: I've copied the offending code below.  The error occurs on the line with the 'constructors' prop.  I'm guessing the issue might have something to do with the forced @ts-ignore on the line above:
props: {
// @ts-ignore Somehow it's getting SvelteComponent and SvelteComponentDev mixed up
constructors: compact(branch).map((branch_node) => branch_node.node.component),
page
}

Yes the error likely has to do with some module loading code sk2 outputs, but I found a minimal reproduction with the env package. Because it obviously has to do with sveltekit internals, it would be helpful if a contributor could help debug it!

Safari has a bug in its global await implementation, as  #7805 points out, the following code fails when importing the dependency more than once.
export let bar = 'foo'
await 0

This is why importing  "$env/dynamic/public" is causing issues in SvelteKit v2 in Safari

Same issue. Just switched my project to sveltekit :)
The bug shows itself only in production, so I just hadn’t seen it while testing. Sadly, pity safari users.

Any update on this issue?
I can confirm that it is not just Safari for Mac that experiences this.  It breaks iOS devices as well.

fix here: https://github.com/sveltejs/kit/pull/11601
i don't love it, but i like it a lot more than the alternative fix i briefly tried using sync XHR... 🤮

fixed in 2.3.2

Thanks for the fix!  Works like a charm!

yes! thank you! we were able to upgrade to SvelteKit2 like a charm


How to change Timezone  and How to change Console to UTF-8 ?

How to change Timezone  and How to change Console to UTF-8 ?

I solve UTF-8 and Timezone problem
LANG = C.UTF-8
TZ = Asia/Taipei


Use-case: continuous builds into a Koji tag

Hi,
Project looks very interesting!
One use-case here I don't see explicitly listed (though I think can reasonably fall under Packit's scope) is doing continuous builds from an upstream repo. In Fedora CoreOS, we'd like our build tools to be rebuilt continuously. We've recently acquired a Koji tag to do this, which works well, but we really want to automate this process.
IOW, would be nice if Packit-a-a-S supported the following:

watch for every git push in an upstream repo
on push events, create an SRPM and submit Koji build targeting specific tag

At least Packit knows how to build SRPMs from upstream content, so the first part seems covered. What would be nice is if that feature was kept separate from the propose-update workflow. I.e. we want to be able to have both continuous builds, as well as regular "release" builds which follow the usual dist-git -> Koji -> Bodhi flow.
(To confirm, there's no Packit-a-a-S deployed anywhere yet, right?)

Written by @TomasTomecek
The work which needs to be done to make this work:

[ ] Packit service can send a build to koji as a reaction to a specific event
[ ] Job definition is implemented (with a handler and the specific event type)
[ ] People can configure if the builds are meant to be scratch or pick a koji target

Franta is working on koji builds this sprint, unassigning myself

Any updates on this? Or something you'd like us to take for a spin to test?

@jlebon Sorry, still too many other things around. But the sending part is in review: #547
When it's merged, it will be available on our staging app. The missing pieces after that are showing the response and document everything.

You will be able to have builds (or scratch ones) for release, branch or PR commits.

@lachmanfrantisek this is relevant, correct? https://github.com/packit-service/packit-service/pull/657

@lachmanfrantisek this is relevant, correct? #657

Yes, this should bring the last part, reporting back the results. (Only commit status for now. No retriggering possible yet.)

@lachmanfrantisek this is relevant, correct? #657

Yes, this should bring the last part -- reporting back the results. (Only commit status for now. No retriggering possible yet.)

nice, shall we close this then?
we can also provide guidance who's interested in setting this up for their projects

:+1: Documentation or example configs for this feature would be highly appreciated! :)

+1 Documentation or example configs for this feature would be highly appreciated! :)

It's already in our docs page:
https://packit.dev/docs/configuration/#supported-jobs -> production_build

nice, shall we close this then?

I am not sure if the original issue is covered but all of your bullet points are done.

on push events, create an SRPM and submit Koji build targeting specific tag

We don't support setting tags yet.

let's close this then

We don't support setting tags yet.

seems like we do :)
targets – a (list of) targets we want to build for, list of supported targets can be listed using with koji list-targets

@LorbusChris please let us know if the documentation is sufficient, and if not, we can work with you to set this up

Thanks, it looks pretty straight forward, I'll set something up soon :)
I do have one question though:
What user does the builds in Koji?
Is it my own user, or a packit user? If it's the latter, do I need to add it to the list of maintainers for the given RPM?

What user does the builds in Koji?

It's same for everything we do:

If you use packit CLI, it will use your own user/authentication.
If you use packit-service (the GitHub app), it will use our user -- so yes, you will probably need to give us(=our user) the permissions.

seems like we do :)

Yes, my bad. I was confused about tags/targets difference...  (Funny that it was me who implement that..;)

let's close this then

OK, closing the issue since the koji-builds are supported.
Please, create a new, specific, issue if you want a new trigger or miss some feature. Thanks!


Update docs to reflect V1 changes

Currently our main README includes a TODO to add installation instructions for the ODBC transport.
We can add a link in the README to to the our odbc setup guide https://github.com/IBM/ibmi-oss-examples/blob/master/odbc/odbc.md#table-of-contents

Need to update ProgramCall.addParam docs after #139 was merged.


Create setup_installation.sh

This is my first project in cybersecurity
This is setup_installation file for trail version.
Please verify and modify this file as per the successful running ration.

All resolved


xds testing: add case insensitive path matching

The new test in this PR doesn't work because ignoreCase isn't allowed by target_grpc_proxy.
Do not merge until the support is added.

The support is ready in prod, and the test run passed.
This PR is ready to go. Will revert the testing commit and merge.

The support is ready in prod, and the test run passed.
This PR is ready to go. Will revert the testing commit and merge.


Show all three kube-controller-manager because sometimes ...

... they fail over during a run
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] Optimization
[ ] Documentation Update

Description
There is not always only one active kube-controller-manager during runs.
Checklist before requesting a review

[X] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

lgtm


ValueError on multiple output problems

Training set is of the form (n_training_samples, n_features) = (14175.34)
Testing set is of the form (n_testing_samples, n_features) = (4725,34)
Running - forestci.random_forest_error(randomFor, X_train, X_test)
Yields the following error;
ValueError                                Traceback (most recent call last)
 in
21 print(X_test.shape)
22 mpg_V_IJ_unbiased = forestci.random_forest_error(randomFor, X_train,
---> 23                                             X_test)
24 hat = randomFor.predict(X_test)
25 print(' The score for is {}'.format(score[-13::]))
~\Anaconda3\lib\site-packages\forestci\forestci.py in random_forest_error(forest, X_train, X_test, inbag, calibrate, memory_constrained, memory_limit)
241     n_trees = forest.n_estimators
242     V_IJ = _core_computation(X_train, X_test, inbag, pred_centered, n_trees,
--> 243                              memory_constrained, memory_limit)
244     V_IJ_unbiased = _bias_correction(V_IJ, inbag, pred_centered, n_trees)
245
~\Anaconda3\lib\site-packages\forestci\forestci.py in _core_computation(X_train, X_test, inbag, pred_centered, n_trees, memory_constrained, memory_limit, test_mode)
110     """
111     if not memory_constrained:
--> 112         return np.sum((np.dot(inbag - 1, pred_centered.T) / n_trees) ** 2, 0)
113
114     if not memory_limit:
<array_function internals> in dot(*args, **kwargs)
ValueError: shapes (14175,700) and (700,4725,2) not aligned: 700 (dim 1) != 4725 (dim 1)

Fixed in https://github.com/scikit-learn-contrib/forest-confidence-interval/commit/ffa722702ed51f13b464fe8228cf72f456dd3db5
@arokem there are many redoundant issues mentioning the problem I solved: I guess you can close them pointing to this last commint


elapsed duration in %np command and fix invalid schema in config.example.json, closes #138

Please make sure to check the following tasks before opening and submitting a PR

[x] I understand and have followed the contribution guide
[x] I have tested my changes locally and they are working as intended
[x] These changes do not have any notable side effects on other Revolt projects

damn, I didn't even know we had a contributions guide 👀


Issue 135

Issue
https://github.com/mayn/packerlicious/issues/135
List of Changes Proposed
Adding public_port into Cloud Stack.
Testing Evidence
No testing evidence.  Is there a way to test this as part of a local build?

Coverage remained the same at 100.0% when pulling ad3de7e8688a1cf2637d9400245d43671b2f213e on gnewson:issue_135 into c9ec8582b6456dcecadd5bc208e1e57e11c8c9a2 on mayn:master.

I made a mess of trying to remove the extra commit so forked the repo again and created a new pull request: https://github.com/mayn/packerlicious/pull/141


Fix starvation and more races in BackgroundHiveSplitLoader

The race was not solved in #3411 once resume() invocation is taken into consideration.
#3411 also introduced starvation.

cc @erichwang @dain @martint @electrum

Updated to solve starvation.

Rewritten. Hopefully it is easier to reason about now.

@erichwang Can you take a look and see if rewriting introduced new races.

Had a couple comments. Have @erichwang or @dain look at this too, especially the AsyncQueue. I think the AsyncQueue needs to guarantee the following:

add will never fail
the CompleteableFuture returned from add will always be completed at some point (by finish() if nothing else), and will be completed if the queue ever becomes non-full.

After discussion with @erichwang , AsyncQueue has been completely rewritten and split into 2 classes.
All Optional<Future> return types has been changed to remove Optional.
The return type of loadSplits has been simplified.
The log rate limiting has not been addressed.

I like the way the code is structured now. This makes it much easier to understand. Had a few comments though

@erichwang, I just convinced myself that FinishableAsyncQueue is implemented correctly.
You suggested I use poison pill instead of finish() so that the FinishableAsyncQueue can be removed. This will only work if it's okay to never finish the offerResubmission future. In addition, it will not support multiple readers at all (in contrast to thundering herd when multiple readers exist).
Now, it does seem to me that never finishing the offerResubmission is okay here because all ResumableTasks and HiveSplitLoader seems to be eligible for GC once finish is detected and external reference to HiveSplitLoader from reader is dropped. But I feel nervous doing this.
I'm inclined to not take the poison pill path.

@cberner Addressed comments.

Had one question about a comment in the FinishableAsyncQueue

Other than the minor comments this looks good to me. Have @erichwang or @dain review this as well, if they haven't already

@erichwang and @dain, please review for multi-thread concurrency correctness.

Looks good

Still looks good

@martint, does this look good?

@dain do you want to take a look before commit? Rewritten to use thread pool.

AsyncQueue looks good. I haven't looked at the rest.


[loc][Query] Potential source text issue

For string below community member is suggesting potential source text update. Can you please check it and confirm whether it would make sense to update it? Thanks!
Original comment
EN_GB ISSUE
Should this string read as '...the find operation is carried out on...'
by Swotboy2000, 7 days ago
'editor.find.autoFindInSelection': {
'type': 'boolean',
'default': EDITOR_DEFAULTS.contribInfo.find.autoFindInSelection,
'description': nls.localize('find.autoFindInSelection', "Controls whether the find operation is carried on selected text or the entire file in the editor.")
},

File link

Updated to "Controls whether the find operation is carried out on selected text or the entire file in the editor."

@ramya-rao-a thanks!


refactor: upgrade go version to 1.18

This PR updates the go to 1.18
This also updates other packages
go-scm v1.11.29
jx-api/v4 v4.6.2
jx-helpers/v3 v3.4.2
jx-kube-client/v3 v3.0.5
jx-logging/v3 v3.0.10

related to: https://github.com/jenkins-x/jx/issues/8283

[x] Change the version in go.mod file.
[x] Run go mod tidy and ensure that it does not error out.
[x] Change GO_VERSION in makefile to the version you are upgrading.
[x] Check if there are any references to an older version and replace those.
[x] Verify that

[x] The build works by running make build.
[x] Tests are working, by running make test.

/cc ankitm123


feat: updates related to new keycloak version

Renamed the KEYCLOAK_ADDRESS to KC_HOSTNAME as per new version of keycloak.

Previously the SSO tokens were set to 8hours but this is not the case anymore.

At the moment Teams/groups are not automatically added in keycloak. This happens in keycloak.ts, search for 'create groups' then you will find it.

@ElderMatt you are checking the master realm in keycloak instead of otomi. Tested again and teams are being added as expected and also the correct TTL for the SSO is there.


Enforcement of keys being uppercase should raise an exception when violated

https://github.com/Preocts/secretbox/blob/2dc6392b07bba9aaeed59754cb43b5201a130f3d/src/secretbox/secretbox.py#L11
Not happy with the short-cut of normalizing the key for the dev. If an instance of SecretBox is given a key that is not in uppercase, a ValueError should be raised. This will align with the fail-fast behavior we want in the rewrite.
Because we cannot control Pythons behavior in os.environ the choice to normalize to upper-case for all keys should be explicitly noted in the docstring.
See:
https://github.com/python/cpython/blob/f9a5a3a3ef34e63dc197156e9a5f57842859ca04/Lib/os.py#L768-L781

This should be a non-issue with the logic for pulling from os.environ being removed from the SecretBox class. The loader class will read from os.environ. Any considerations for Windows special handling will be done there.


GH-38857: [Python] Fix append mode for cython 2

Rationale for this change
Small fixup of the change in https://github.com/apache/arrow/pull/38820 to fix the build failure on cython 2 (nightly crossbow build)

Closes: #38857

The question is also whether we actually need to keep this cython 2 compatibility around for longer. I think we can probably also just start requiring cython >= 3 for building pyarrow.


 I'll open a discussion for that.

Yes as you described in this issue #30. So I will let that keep active and close this one.

in 2.0

So how to do a-f0-9 or a-n0-5 ? (I mean outside of using a defined charset like https://github.com/giteshnxtlvl/cook-ingredients/pull/2).

Depending on your needs, Use cook 0-9 a-b or cook 0-9,a-b
Logic
Separated by comma -> Same column
Separated by space -> Different columns

Thank you

If I want to generate a list from 000000 to 999999 (integers from 0 to 1M-1 with 6 digits padding).
I can do
cook 0-9 0-9 0-9 0-9 0-9 0-9

I was expecting to be able to use a repeat operator but it doesn't expand the range:
$ cook 0-9\*6
0-90-90-90-90-90-9
$ cook '0-9*6'
0-90-90-90-90-90-9

Or maybe pad the min number of the range to indicate the padding required:
cook<PHONE_NUMBER>99

Yeah, the last one is the easiest.
Using ranges with repeat operators doesn't seem to have other use cases.


Advance development version to 3.5.1-SNAPSHOT

test this please
cloudbees builder was upgraded

test this please

test this please

test this please

test this please

test this please

test this please

test this please