traceback

Is there any reason for the script to stop in the middle of a stream? I've been getting lots of these lately. My internet's pretty okay with 10 MBps download speed..
python tester.py -message_type all https://www.youtube.com/watch?v=Ei8iGpELhUc -output Ei8iGpELhUc1.txt
Running the script after the stream ends always works fine of course, it's just that some messages are still being sent out after the stream ends, so I'd like to get them as well. Also, I've been trying to find a way to grab the ones that aren't even showing in the live chat replay although that's not the case here.
Traceback (most recent call last):
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 639, in <module>
    chat_messages = chat_downloader.get_chat_replay(
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 563, in get_chat_replay
    return self.get_youtube_messages(match.group(1), start_time, end_time, message_type, chat_type, callback)
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 474, in get_youtube_messages
    callback(data)
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 625, in write_to_file
    print_item(item)
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 616, in print_item
    chat_downloader.print_item(item)
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 208, in print_item
    message = emoji.demojize(self.message_to_string(item))
  File "C:\Users\x\Downloads\Compressed\New folder\tester.py", line 199, in message_to_string
    item['author'],
KeyError: 'author'

Now that i think of it, it probably fails if there are too many live chats.

Hi there! This was actually fixed before #32 with this commit: https://github.com/xenova/chat-replay-downloader/commit/da1b70c48a7d6ee81d118076a82662dbf5589364.
You should be able to fix it by just updating. 👍 (https://github.com/xenova/chat-replay-downloader/releases/latest)

Alright, then. I'll see to it, thanks!


[Ansible][contrib] Fix ansible gateway interface for subsequent runs

The OVN Gateway Helper service requires the physical
interface name as an argument. On subsequent playbook
runs, it will pass the bridge name instead of the
physical interface name. It should use the variable
physical_interface_name instead of interface_name when
creating the service.
Found by inspection.
Signed-off-by: Alin Balutoiu<EMAIL_ADDRESS>

CC: @aserdean @ionutbalutoiu

/LGTM


[Meta] v2 API thoughts

Hey, i've had a chance to prototype the v2 api and I'd like to share my thoughts on it.
Stateless is awesome
I really love how Deku's component API isn't made with classes. This was one of the things I disliked about React: if components are classes, when are they constructed? How can I access the component instance? Thinking outside classes really drives in the functional and immutable aspect of the API design.
But removing setState was a bad idea
The biggest change from v2 is the removal of state and instead relying on Redux. I think this can cause a lot of headaches.
React's rendering works something like this:
ReactDOM.render = (element) => {
  while (true) {
    tree = render(element) // render components to a virtual dom tree, recursively

    if (someone called setState()) {
      applyStatesToComponents() // and then render again
    } else {
      break
    }
  }

  applyChangesToDOM(tree)
}

Effectively, this means 30 components can call setState() in one render pass, but re-rendering will only happen once. This is good, because it means we don't re-render 30 times if 30 components want to change states.
Using Redux for states
In contrast, deku v2 asks you to dispatch a store action instead. If 30 components want to change states. This means store.subscribe(() => { ... })'s callbacks will be called 30 times, which means re-rendering 30 times.
Also, this dispatching can happen /while/ the tree is rendering, causing problems. Consider this naive example:
export function onCreate({ path, dispatch }) {
  dispatch({ type: 'UI_SET_STATE', path, values: { loaded_at: +new Date() } })
}

This is a bad idea, because it means a re-rendering will happen while the onCreate action is executed. You can mitigate this by using requestAnimationFrame or process.nextTick or similar, so that they happen after rendering:
export function onCreate({ path, dispatch }) {
  process.nextTick(() => {
    dispatch({ type: 'UI_SET_STATE', path, values: { loaded_at: +new Date() } })
  })
}

But this means DOM updates might happen twice, and the rendering is now needlessly asynchronous.
Use cases of states
Here are some use cases for setState:

a flag to check if the <img> loaded completely
a flag for when the dropdown is open or not
a movable window's x/y coordinates

...these transient state flags will only polute the Redux state.

A bias towards Redux is not necessary
The deku v2 API looks like this:
import { dom } from 'deku'

const store = /* a redux store-like object */

const render = dom.createRenderer(document.body, store.dispatch)
render(<MyApp />, store.getState())

When used with Redux, it'd be more like this:
const store = createStore(...)

const render = dom.createRenderer(document.body, store.dispatch)
const update = () => { render(<MyApp />, store.getState()) }
store.subscribe(update) // re-run render() when new things happen
update()

As far as the user is concerned, all she needs to expose to Deku v2 is the dispatch and context, which are arbitrary objects that will be passed onto render(), onCreate(), and so on.
export function render({ context, dispatch }) { ... }
export function onUpdate({ context, dispatch }) { ... }
export function onCreate({ context, dispatch }) { ... }

Instead of having a bias towards the names context and dispatch, why not let the user pick their own names, in case they don't want to use Redux? All it really is is just a mechanism to pass down objects all the way down the render tree.
render = dom.createRenderer(document.body)
const update = () => {
  render(<MyApp />, { state: store.getState(), dispatch: store.dispatch, foo: bar })
}

// elsewhere, pass that `context` object as splatted out into the `model` argument:
export function render({ context, dispatch, foo }) { ... }
export function onUpdate({ context, dispatch, foo }) { ... }
export function onCreate({ context, dispatch, foo }) { ... }

In contrast, deku v2 asks you to dispatch a store action instead

it doesn't need to be an action, and it doesn't need to be sent to a store. The point of dispatch is to channel all UI actions to a single place. It can then act as a proxy, dispatching to more than one place.

The point of dispatch is to channel all UI actions to a single place.

States are a bit more than this. For instance, if I have an <Image> component and I want to track how long it took to load, I'd probably do:
export function initialState () {
  return { startedAt: new Date() }
}

// if the event handler was given access to state
function onLoad ({ state }) {
  var elapsed = +new Date() - state.startedAt
}

With the new API, this isn't possible. You can probably trigger a dispatch at onCreate instead:
export function onCreate({ dispatch, path }) {
  // hypothetical non-redux dispatch() that saves UI states
  dispatch({ path, loadedAt: +new Date() })
}

...But for any dispatch to be useful, it needs to re-render the tree (ie, call render() again). This is just one of the pitfalls of not having component states.

Effectively, this means 30 components can call setState() in one render pass, but re-rendering will only happen once. This is good, because it means we don't re-render 30 times if 30 components want to change states.

The idea is that Deku is lower-level than that. You could use something like raf-debounce to make sure the render function is only called once per frame.
I think what would be nice is to have a higher-level module that handles a lot of the wiring and setup for you. It's just outside of the scope of Deku itself. Sort of like how Elm has the StartApp module, you could have a similar thing that hooks up Deku, Redux, rendering loop, handles side-effects, handles adding local state middleware etc.
This is similar to @ashaffer's vdux:
start(app, node, [...middleware])

these transient state flags will only polute the Redux state.

True, but you also don't have to store the state in Redux. It's just a way to get actions from the UI. You could do something like:
let state = {}

let render = createRenderer(node, action => {
  if (action.type === 'update state') {
    state[action.path] = { ...(state[action.path] || {}), ...action.state }
  } else {
    store.dispatch(action)
  }
  scheduleRender()
})

render(<App />, {
  state,
  store: store.getState()
})

You could even go so far as to have two updates, use Redux to update the context, and use the Elm-style way of passing down an update function for local state. This would allow you to have reducers within each component for their own local state, and use dispatch when you want to change something on the context.
You could also wrap components in a higher-level component that manages pulling UI state from the context and handing it to the component. You'd get an updateState function passed in to the model. It could also manage clearing the state when it's removed, debouncing, adding the correct shouldUpdate etc. That way it would be mostly transparent to users.

Instead of having a bias towards the names context and dispatch, why not let the user pick their own names, in case they don't want to use Redux?

The only reason I made dispatch it's own thing is that I wanted to make the idea of UI actions a first-class citizen. The dispatcher shouldn't ever change over the lifetime of the program, so it's different than context. It's just a port the UI can use to send data, similar to requesting a url, so that you don't couple the state logic with the view logic.

...But for any dispatch to be useful, it needs to re-render the tree (ie, call render() again), which you don't need at that point. This is just one of the pitfalls of not having component states.

The problem is not dispatch or component states. You keep local state using your own registry and identifying components by state. The problem is more that you don't have any mechanism re-render a specific sub-tree or leaf.
It is particularly useful for images like mentioned, and also content which needs to change without a data change (when time rather than data is the trigger): look at https://github.com/troch/react-timer-hoc for example.
Maybe I am looking at it the wrong way? As you said, deku is quite low-level. Could an application tree have many deku sub-trees?

An example of the higher-level component that handles state:
function stateful (Component) {
  let state = {}
  let pendingState = {}

  function updateState (path, dispatch) {
    return state => {
      pendingState[path] = state
      dispatch({
        type: 'state changed'
      })
    }
  }

  function onCreate ({ path }) {
    // you could even do a Component.initialState call here
    state[path] = {}
  }

  function render ({ path, props, dispatch }) {
    state[path] = {...state[path], ...pendingState[path] }
    return <Component state={state[path]} updateState={updateState(path, dispatch)} {...props} />
  }

  function onRemove ({ path }) {
    delete state[path]
  }

  function shouldUpdate ({ path }) {
    return path in pendingState
  }

  return {
    render,
    onCreate,
    onRemove,
    shouldUpdate
  }
}

Then in your component:
let App = {
  render: ({ props }) => {
    return <button onClick={props.updateState({ text: 'world' })}>{props.state.text || 'hello'}</button>
  },
  onCreate
}

export default stateful(App)

Then you just need to handle the state changed action at the top-level of your app so that you re-render. It will re-render everything, but only if things have actually changed.
This way is a little too magic-y for me, and I'd probably go the Elm route for local state and just pass down an update function that gets reduced the whole way up.

For the record, even in v1, and in React, the whole tree is just re-rendered on a state change. All it did was just trigger the top-level render function action. Components work as thunks to prevent rendering branches of the tree. With a really basic shouldUpdate in there, it should skip re-rendering the majority of the tree when it doesn't need to.
Remember the only thing you're actually skipping is the diffing. It won't actually apply any changes to the dom and the diffing should be rather quick. You can manually speed up the diffing too by splitting your render function into smaller functions and memoizing them.
I'm going to put together some docs for all of this so people can more easily make a choice :)

Interesting.
I guess passing something other than a Function to dispatch can work:
state = {}
render = createRenderer(document.body, { state: setPathState, store: store.dispatch() })
update = debounce(() => render(<App />, { state, store: store.getStore() })

let setPathState = (path) => (values) => {
  state[path] = { ...(state[path] || {}), ...values }
  update()
}

And in your components:
render ({ dispatch, path }) {
  const setState = dispatch.state(path)
  return <button onClick={onclick(setState)}>
}

let onclick = (setState) => (path) => {
  setState({ clicked: true })
}

A bit long winded but I'll take it :) We do miss the ability to set an initialState, though.

There is still something I trip over: in React the whole tree is re-evaluated on each setState / mutation, but isetState marks nodes as dirty, forcing their render function to be re-evaluated.
Without having the ability to marked nodes dirty: does it prevent optimizations? Are shouldUpdate or memoized render functions possible for non-leaf components? A component can only compare what it uses (props & context) but cannot account for data dependencies of components down its path.
For example, with redux and react, connect is used to slice some parts of the state and pass them to a connected component.  However it is possible to nest them, thanks to dirty marking.

cannot account for data dependencies of components down its path

True. I didn't think of that. You could still mark nodes as dirty using their path. When a component is checking to see if it should update, it could check to see if there is any pending state in any deeper paths, which is pretty easy because you know <IP_ADDRESS>.6 is within 0.1.
The downside is that if you have a 'pure' component at the top level with a pure shouldUpdate, it will skip the whole sub-tree. So you'd need to set the shouldUpdate for every component higher in the tree to be checking some pending state object.
I wonder if the shouldUpdate function could just be declared at the top level on the renderer, so that it affects all components. It is a renderer-level piece of functionality.
function shouldUpdate (component, prev, next) {
  // if the state has change for this component or any components within this `path`
  // then return true. If prev and next have different props, children, or context, also
  // return true.
}

let render = createRenderer(el, dispatch, shouldUpdate)

Then you could apply a 'pure' update function as well as a check for state changes in a single spot for your entire UI.

Another idea, going down the path of memoized render functions:

path is used as an ID for memoization
Marking a component dirty causes all upstream known memoized paths to be forgotten

I managed to hack together a setState replacement like so:
function render ({ props, path, context, dispatch }) {
  let state = context.ui[path]
  let setState = (data) => { dispatch({ type: 'ui:set', path, data }) }

and in Redux:
const ui = createReducer({
  'ui:set': (state, { path, data }) => {
    return { ...state, ui: { ...state.ui, [path]: { ...state.ui[path], ...data } }
  }
})

and in App:
    let render = dom.createRenderer(
      document.getElementById('_app'),
      this.store.dispatch)

    let update = () => { render(<AppRoot />, this.store.getState()) }
    this.store.subscribe(debounce(update, 0))

I managed to hack together a setState replacement like so:
function render ({ props, path, context, dispatch }) {
  let state = context.ui[path]
  let setState = (data) => { dispatch({ type: 'ui:set', path, data }) }

and in Redux:
const ui = createReducer({
  'ui:set': (state, { path, data }) => {
    return { ...state, ui: { ...state.ui, [path]: { ...state.ui[path], ...data } }
  }
})

and in App:
    let render = dom.createRenderer(
      document.getElementById('_app'),
      this.store.dispatch)

    let update = () => { render(<AppRoot />, this.store.getState()) }
    this.store.subscribe(debounce(update, 0))

Removing setState was a great idea
const state = new Map()

const initialState = {
  isLoaded: false
}

function render (model) {
  const { src, alt } = model.props
  const { isLoaded } = state.has(model.path) ? state.get(model.path) : initialState

  return (
    <img role='presentation'
           src={src}
           alt={alt ? alt : 'image'}
           class={isLoaded ? 'ready' : 'loading'}
           onLoad={handleLoad(model)}/>
  )
}

Set the initial state once
function onCreate ({ path }) {
  state.set(path, initialState)
}

Will be called after
function handleLoad (model) {
  return (event) => {
    state.set(model.path, Object.assign(state.get(model.path), {
      isLoaded: true
    }))

    render(model)
  }
}

Do not forget to delete the shebang
function onRemove ({ path }) {
  state.delete(path)
}

Feels comfy man

ohh, not bad.

An example of the higher-level component that handles state:
https://github.com/dekujs/deku/issues/337#issuecomment-168034492

Mind if I make an npm package out of that concept?

@rstacruz You may want to take a look at state-lens and redux-ephemeral. The state lens thing is just sort of a rough idea, but it works.

@ashaffer, nice work on those! I like it. However, if you're using, say, Immutable.js or Baobab or Scour as your redux state, it isn't as easy to integrate.

@rstacruz Ya, I know that's a problem. I'm planning on allowing you to mixin getProp/setProp to redux-ephemeral to support that use-case.

@anthonyshort: the problem with initialState on onCreate in your example, though, is that it triggers after the first render... so your first render has no state.

function onCreate ({ path }) {
// you could even do a Component.initialState call here
state[path] = {}
}

Here you go!
https://www.npmjs.com/package/deku-stateful
Using it now... works like a charm. (I've also updated decca to be completely 100% compatible with deku's v2 API—that is, no states.)


"lxc list" has no timeout in the event of a stuck container not responding

Using LXD 5.9 on gentoo/openrc with kernel 6.0.12
I'm seeing intermittent failures where container instances stop responding on both startup/shutdown (will post separate report about this). However, once a container stops responding, then the lxd/lxc tooling also gets "stuck" and this makes recovery more difficult
Basic symptom is:

Say container v1 is not responding
"lxc list" will hang and not give any output
it is still possible to start/stop instances if you know their names, but I'm not familiar enough with the tooling to otherwise know how to list instances and figure out which one is stuck

To reproduce you need a stuck container
Then observe that "lxc list" will never return any result
I can use side effects such as looking at the results from "mount" or "ps ax|grep monitor" to determine which containers are running (is there some other way?). Then I can do things such as "lxc exec instance something" to try and discover if that instance is locked up.
Interestingly, "lxc exec stuckinstance ls" will timeout after a few seconds with a "not running" or "instance in error state" message. However, "lxc list" appears to sit forever
Could the underlying implementation of "lxc list" and other tools have a timeout implemented please. Perhaps in the case of a stuck container it could show status "not responding" or similar?

Please provide output of lxc config show <instance> --expanded along with any additional customization you are doing to the container (you mentioned bind mounts in the forum post).
Please also provide reproducer steps to getting the container "stuck" as that is very important to understand what is going on and provide a fix.
Thanks

Please can you also fill in the github issue template that is asked for when opening an issue. Thanks

(will post separate report about this)

Lets keep it to one issue for now please.

Related issue https://github.com/lxc/lxd/issues/11228

It's your issue tracker, will defer to you. Feels like a separate issue to me?
I've updated the title, on further reflection, some of the lxc tooling has timeouts and will exit after a few seconds with some result. However, "lxc list" freezes indefinitely in the event that some container is not responding.
Most other commands seem to timeout. Only "lxc stop" also freezes indefinitely, but I'm not sure if that's a deliberate feature?
So my bug report is:

In the event of a misbehaving container which isn't responding, lxc list should have a timeout and return results for the remaining containers, and showing some error report for the stuck container

Is that a simple fix? (Seems like it is a handled case already in other tools?)

Yeah, I think we should probably move this stuff over to a liblxc issue. It's not a new problem with the monitor being single threaded and potentially blocking when something goes wrong. It would make sense for liblxc to have some kind of timeout by default on those.
@tomponline want to file something over there, possibly assigned to @mihalicyn and then close the two LXD issues?

Created https://github.com/lxc/lxc/issues/4257 for this.


A documentation reference isn't a compile-time error

Analyze this program:
     1	main() {
     2	  /// Use [odd] if [x] is odd.
     3	  even(x) => true;
     4
     5	  /// Use [even] if [x] is even.
     6	  odd(x) => true;
     7
     8	  odd(1);
     9	}

What is expected: no errors reported.
What happens:
Analyzing t.dart...
  error • Local variable 'odd' can't be referenced before it is declared at t.dart:2:12 • referenced_before_declaration
1 error found.

Observed at 28084d1f8503404e9fdda3efa5b27bf441aa64d3.

This also affects detection of unused elements.

Analyzer is not giving any errors for me now.


Require Node.js 8 and clean up

Cleans up and modernizes a few things. This commit is inspired by similar “Require Node.js 8” or “Meta tweaks” commits I’ve seen in repositories maintained by @sindresorhus.

Thanks :)


Plugin Compatibility

Your Neo plugin does not seem to be compatible with the newest version of Solspace's Calendar plugin.  With both plugins at the latest version and the calender using a Neo field, the calendar dies and throws an error when trying trying to create an event.

Same here.

I don't have a Solspace Calendar license to test compatibility on Craft 2 (given that there is no way to trial the Craft 2 version of Calendar) but the timing of this issue report suggests that, if the error was caused by Neo, it was probably related to the issues with Neo 1.5.0 that were fixed in later 1.5.x releases.
In any case, the Craft 2 versions of both plugins are out-of-date at this point, and the latest versions of Neo and Calendar for Craft 3 seem to work well together, so this issue can be closed now.


[bug] @tauri-apps/api/event listen type

Describe the bug
In TypeScript when using the listen<T>((event)) the type of event.payload is not longer inferred from T but is any

Reproduction
No response
Expected behavior
event.payload is T
Platform and versions
[✔] Environment
    - OS: Mac OS 13.3.1 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.70.0 (90c541806 2023-05-31)
    ✔ Cargo: 1.70.0 (ec8a8a0ca 2023-04-25)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 18.12.1
    - npm: 8.19.2

[-] Packages
    - tauri [RUST]: 1.4.1
    - tauri-build [RUST]: 1.4.0
    - wry [RUST]: 0.24.3
    - tao [RUST]: 0.16.1
    - @tauri-apps/api [NPM]: 1.4.0
    - @tauri-apps/cli [NPM]: 1.4.0

[-] App
    - build-type: bundle
    - CSP: unset
    - distDir: ../dist
    - devPath: http://localhost:1420/
    - framework: Vue.js
    - bundler: Rollup

Stack trace
No response
Additional context
No response

I can't really reproduce.  Can you share an example repo we can use to see it?

I tried deleting node_modules and reinstall all by doing npm i and the issue is gone, I really don't know what happened


Add key combinations for ctrl-delete and shift-delete

Currently there is not option to bind ctrl-delete and shift-delete. As suggested by issue #3240, shift-delete could be used to bind "delete entry from history" as it is a common way to do so in other applications, e.g. browsers.
This, however, does only implement to use the key combination itself and does not assign a default action to any of them. This does enable to call one's all predefined actions. With the exec action this can expanded like the issue #3240 suggested.
If desirable, the key combinations could later get a default behavior.
I mainly wanted to use shift-delete like suggested in #3240. My approach would be to use the exec() action to build this functionality myself. I would not be comfortable deleting from the uses history due to expansion/escape issue and deleting too much or the wrong thing (for me I would risk it).
Two issues I would like to point to:

I am not sure which tests need to be expanded on and how. I could use some feedback on this, if the current tests, are not sufficient.
I modified the switch case for Del. In my testing, pressing only Del yielded an r.buffer with a length of 4. When combined with Ctrl or Shift the lenght went up to 6. Index 3 was always ; though. So I skipped it for now. Should I check for for this explicitly and if so. Should I start a new switch to keep it analogous to other code and easier expansion, if there is ever another key combination that needs it?

Hey @junegunn, I was wondering if you find this PR useful.
Since https://github.com/junegunn/fzf/issues/1933 I assume the reason these key combinations are not already a thing, might be an issue with some terminals. Unfortunately, I cannot test if these keybinds work for iTerm or Terminal.app.
Also, is there an option to use a "raw" mode for arbitrary keys? What I mean by that is to not be bound by the predefined keys manual definition, but use the escape sequence directly, e.g. ^[[3~ for Delete. I don't think this is possible right now. Issues I foresee would be that is is quite advanced and might lead to bug reports, reporting that some terminals behave different. This would need to be clarified in the man page.
TL;DR: Is this PR (ctrl-delete and shift-delete) interesting to you? Would you be interested in accepting a PR that implements binding arbitrary keys?

Is this PR (ctrl-delete and shift-delete) interesting to you?

I mainly use iTerm2 and it doesn't appear to recognize those keys, so I'm not personally going to use it. But I have confirmed that it works on Terminal.app, so I'm going to merge this.

Would you be interested in accepting a PR that implements binding arbitrary keys?

I honestly think it's a bit too much for this program.

Would you be interested in accepting a PR that implements binding arbitrary keys?

I honestly think it's a bit too much for this program.

Okay thanks, I'd rather know before I spend the time :)

I mainly use iTerm2 and it doesn't appear to recognize those keys, so I'm not personally going to use it. But I have confirmed that it works on Terminal.app, so I'm going to merge this.

Should I add an disclaimer that some terminals might not recognise these key combinations or is this a general concern with all of the keys?

Need to address these errors in tcell build (tcell is only used for Windows).

The latter. Let's just see if anyone complains.

Merged, thanks. Let me know if you have see issues.

Is this supposed to work with the ctrl-r history? I would like to delete lines with typos, for example, but shift-delete doesn't do anything (v0.41.1). Do I have to the binding somehow? Thanks.

Thanks, but I cannot get this to do what I thought it would.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(echo {} >/tmp/test)'"

This writes the entry to /tmp/test but it still remains in the history list. I thought that the entry was supposed to be removed and I don't understand the need for the /tmp/test file.

This is not the solution to the problem of removing the entry from the history. And I don't have the solution for it.
I only provided a starting-off point, so you could tackle the problem yourself.
You need to find something to replace echo {} >/tmp/test with the right command/script, to do what you want.

I see. Well I tried this hoping that it'd work (after backing up my history file), but it doesn't. I would prefer to avoid having to use a separate script.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(LC_ALL=C sed -i "/{}/d" $HISTFILE)'"

ref: https://stackoverflow.com/a/13661794/140872

It's possible that the command number changes before the command is executed, so I tried this:
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(str="$(echo {} | cut -d " " -f2-)" && LC_ALL=C sed -i "/$str/d" $HISTFILE)'"

Hopefully someone can come up with some better ideas.

If it was an easy problem, I would have included it in my PR :wink:.
What I can tell you is, that you have better chances with 'shift-delete:execute(LC_ALL=C sed -i /{}/d $HISTFILE)' (no double quotes). But this is not perfect. It will fail for commands with slashes, quotes, variables (e.g. $1), and multi-line commands, which is not acceptable for me.

I've made some progress (zsh):
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(echo {} >/tmp/test)'"

% cat fzf-history-delete.sh
#!/bin/bash -x
str="$(echo "$*" | awk '{$1=""}1' | colrm 1 1 | sed -e 's/[]\/$*.^[]/\\&/g')"
LC_ALL=C sed -i "/$str$/d" "$HISTFILE"

% cp $HISTFILE{,.bak}

* Use `Ctrl-R` , `shift-delete`

% cat /tmp/test
 1774  fc -p $HISTFILE

% HISTFILE=$HISTFILE ./fzf-history-delete.sh $(cat /tmp/test)
++ echo '1774 fc -p $HISTFILE'
++ colrm 1 1
++ awk '{$1=""}1'
++ sed -e 's/[]\/$*.^[]/\\&/g'
+ str='fc -p \$HISTFILE'
+ LC_ALL=C
+ sed -i '/fc -p \$HISTFILE$/d' /home/jason/.cache/zsh/zsh_history

% fc -R $HISTFILE

This seems to work with everything I've tried with it, in zsh. Doesn't seem to work in bash.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(HISTFILE=$HISTFILE fzf-history-delete.sh {})'"

This doesn't seem to work.
I tried making it script-less, but this nuked the history file.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(HISTFILE=$HISTFILE str="$(echo {} | awk '{$1=""}1' | colrm 1 1 | sed -e 's/[]\/$*.^[]/\\&/g')" ;\
    LC_ALL=C sed -i "/$str$/d" "$HISTFILE")'"

I'll add a test to avoid empty $str and simplify the echo|awk|colrm with shift.

I've made some progress (zsh):
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(echo {} >/tmp/test)'"

% cat fzf-history-delete.sh
#!/bin/bash -x
str="$(echo "$*" | awk '{$1=""}1' | colrm 1 1 | sed -e 's/[]\/$*.^[]/\\&/g')"
LC_ALL=C sed -i "/$str$/d" "$HISTFILE"

% cp $HISTFILE{,.bak}

* Use `Ctrl-R` , `shift-delete`

% cat /tmp/test
 1774  fc -R $HISTFILE

% HISTFILE=$HISTFILE ./fzf-history-delete.sh $(cat /tmp/test)
++ echo '1774 fc -R $HISTFILE'
++ colrm 1 1
++ awk '{$1=""}1'
++ sed -e 's/[]\/$*.^[]/\\&/g'
+ str='fc -R \$HISTFILE'
+ LC_ALL=C
+ sed -i '/fc -p \$HISTFILE$/d' /home/jason/.cache/zsh/zsh_history

% fc -R $HISTFILE   # Reload history

This seems to work with everything I've tried with it, in zsh. Doesn't seem to work in bash.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(HISTFILE=$HISTFILE fzf-history-delete.sh {})'"

This doesn't seem to work.
I tried making it script-less, but this nuked the history file.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(str="$(echo {} | awk '{$1=""}1' | colrm 1 1 | sed -e 's/[]\/$*.^[]/\\&/g')" ; \
    LC_ALL=C sed -i "/$str$/d" "$HISTFILE"; \
    fc -R "$HISTFILE")'"

I'll add a test to avoid empty $str and simplify the echo|awk|colrm with shift.

I've made some progress (zsh):
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(echo {} >/tmp/test)'"

% cat fzf-history-delete.sh
#!/bin/bash -x
str="$(echo "$*" | awk '{$1=""}1' | colrm 1 1 | sed -e 's/[]\/$*.^[]/\\&/g')"
LC_ALL=C sed -i "/$str$/d" "$HISTFILE"

% cp $HISTFILE{,.bak}

* Use `Ctrl-R` , `shift-delete`

% cat /tmp/test
 1774  fc -R $HISTFILE

% HISTFILE=$HISTFILE ./fzf-history-delete.sh $(cat /tmp/test)
++ echo '1774 fc -R $HISTFILE'
++ colrm 1 1
++ awk '{$1=""}1'
++ sed -e 's/[]\/$*.^[]/\\&/g'
+ str='fc -R \$HISTFILE'
+ LC_ALL=C
+ sed -i '/fc -p \$HISTFILE$/d' /home/jason/.cache/zsh/zsh_history

% fc -R $HISTFILE   # Reload history

This seems to work with everything I've tried with it, in zsh. Doesn't seem to work in bash.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(HISTFILE=$HISTFILE fzf-history-delete.sh {})'"

This doesn't seem to work.
I tried making it script-less, but this nuked the history file.
export FZF_CTRL_R_OPTS=" \
  --bind 'shift-delete:execute(str="$(echo {} | awk '{$1=""}1' | colrm 1 1 | sed -e 's/[]\/$*.^[]/\\&/g')" ; \
    LC_ALL=C sed -i "/$str$/d" "$HISTFILE"; \
    fc -R "$HISTFILE")'"

I'll should test to avoid empty $str, or whatever is going on and simplify the echo|awk|colrm with shift.


Update DuoLog chat channels

Sets the DuoLog output channel to match the settings in Dalamud messaging, allowing users to easily filter messages.
Anything that is error related prints using the print error call instead for simplicity.

thank you!


nixos system-activation: support activation scripts run in a user context

Motivation for this change
#47842 for 18.09
Cc: @samueldr @vcunat
Things done

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

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

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

No, I wonder why have an “activation script” not part of the “activate” script, instead of just having these modules create their own use case specific systemd unit.

On Oct 6, 2018, at 8:41 AM, Vladimír Čunát<EMAIL_ADDRESS>wrote:
@vcunat commented on this pull request.
In nixos/modules/services/x11/desktop-managers/plasma5.nix:

@@ -225,11 +225,8 @@ in
security.pam.services.sddm.enableKwallet = true;
security.pam.services.slim.enableKwallet = true;

 # Update the start menu for each user that has `isNormalUser` set.

 system.activationScripts.plasmaSetup = stringAfter [ "users" "groups" ]

   (concatStringsSep "\n"

     (mapAttrsToList (name: value: "${pkgs.su}/bin/su ${name} -c ${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5")

       (filterAttrs (n: v: v.isNormalUser) config.users.users)));

 # Update the start menu for each user that is currently logged in

 system.userActivationScripts.plasmaSetup = "${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5";

You missed that system.userActivationScripts is implemented via a systemd unit?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

The system activation script is ran once and with system privileges.  This is to be ran for each (active) user with their privileges.

Right. Based on the definition it seems it will run on every login. I’m just not sure why we need the concept of a user activation script when a one shot user unit works just the same.
This is in contrast to system activation scripts which aren’t typically implementable as systemd units.

On Oct 6, 2018, at 10:29 AM, Vladimír Čunát<EMAIL_ADDRESS>wrote:
The system activation script is ran once and with system privileges. This is to be ran for each (active) user with their privileges.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Right. Based on the definition it seems it will run on every login.

That's not entirely true. The system level activation scripts do run on every boot, but the user context scripts are only triggered for users logged in (we get a list of active sessions from logind).

I’m just not sure why we need the concept of a user activation script when a one shot user unit works just the same.

That's how it's implemented - as a oneshot unit. We still need a way to trigger it though so that is what the system level activation script handles.

This is in contrast to system activation scripts which aren’t typically implementable as systemd units.

Well, it's actually moving that way - @jameysharp has done some nice work in https://github.com/NixOS/nixpkgs/pull/47563.

Nice. I understand now. Thank you!

On Oct 7, 2018, at 8:07 AM, Peter Hoeg<EMAIL_ADDRESS>wrote:
Right. Based on the definition it seems it will run on every login.
That's not entirely true. The system level activation scripts do run on every boot, but the user context scripts are only triggered for users logged in (we get a list of active sessions from logind).
I’m just not sure why we need the concept of a user activation script when a one shot user unit works just the same.
That's how it's implemented - as a oneshot unit. We still need a way to trigger it though so that is what the system level activation script handles.
This is in contrast to system activation scripts which aren’t typically implementable as systemd units.
Well, it's actually moving that way - @jameysharp has done some nice work in #47563.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Ooh, I like it. Although I think I'd like it even better if nixos-activation.service were instead nixos-activation.target. Then instead of system.userActivationScripts, you'd have systemd.user.services with wantedBy = [ "nixos-activation.target" ];.

@jameysharp  - I'm not ignoring you. I know how disheartening it can be when putting in a lot of thought into something, writing it up and then to be met with silence, but time's been a little tight on this side. I want us to work on getting something solid out of this and will get back to you shortly.


Add support for all params from ci

For the minimal implementation, we've implemented only a part of the model parameters, now we need to add the support for the rest in order to be fully customizable from client.

We should add them in the plugin too, however that should be handled by the schema. @iboB Should we implemented them now or wait for the schema redesign to be finished.

Wait for the schema redesign :)


Loading pepper plugins and EME support via CDMs

Is there an aim for Electron to support the loading of generic pepper plugins in the future? I'm asking as I'd like to understand the chances of getting a fork that achieves this (or part of it) merged into master.
Specifically my goal is to support EMEs and allow pepper plugin based CDMs load in a <webview>.
Trouble is I have a naive understanding of how Electron and Chromium work together. Looking at how the Pepper Flash Player was integrated then generic support appears to be easier. It should require exetending Electrons switches to recognise and proxy --register-pepper-plugins, there isn't any code needed to handle plugin versions.
Starting with a build of Chromium 45 I can get encrypted Widevine media playing back by using the  switch --register-pepper-plugins="widevinecdmadapter.plugin;application/x-ppapi-widevine-cdm". This suggests that once versions align (I think it can be done with m44) then it's possible to experiment in Electron.
The above is pretty specific, so I'd be glad to hear about anything I've missed that might trip this up. Or if it sounds like I'm on the right track then any pointers (aside from the Flash implementation) would be valuable.

register-pepper-plugins need not be proxied, its already handled by the content layer of chromium and the ppapi binary interfaces are already present in Electron. So there should be no problem loading trusted plugins. I didnt try loading complex plugins, just a few from nacl_sdk examples.

There is some ground work left on Electron to get widevine work successfully, we need to override ContentRendererClient::AddKeySystems which registers the key systems used to select appropriate cdm. You can check ChromeContentRendererClient::AddKeySystems for usage

Thanks @deepak1556 that really helps. This is my first attempt at working with a c/c++ based project so progress is slow.
I'd taken the list of supported Chrome command line switches as exlusive. I now understand that they're not and that any switches under content should also be available.
I will start experimenting in AtomRendererClient with the code from ChromeContentRendererClient::AddKeySystems and see where I get to as this should be testable with the widevine plugin that is distributed with Chrome 43.

@simongregory any update on this? I as well am interested in using Widevine (and potentially other pepper based EME key systems). Let me know if there is anything I can help out with.

I too am curious about the state of this.  The hope is Electron could provide a base to create a portable and customizable base for streaming Netflix.  I am disappointed with the limited options avaialbe for my Arch Linux based Kodi HTPC.

I have tried introducing the AddKeySystems code from Chrome that @deepak1556 mentioned. Found it really slow as I don't know enough C. Likely to be September until I've the time to take another look - but it's still on my backlog.

Have you ever tried the instead of the pepper-plugin using the chromium-widevine one?

CEF added support for this here https://bitbucket.org/chromiumembedded/cef/commits/b97781424875fcde970c1a2b440acecc86683ad3 just as a starting point if anyone wants to take this.

Thanks @FWeinb that change set is really helpful. Progress wise this has been picked up again and is slowly moving forward.

@simongregory Have you made any interesting progress?

@simongregory Ok awesome! Any chance you could comment on this thread when you have the update mechanism working?
On a related note, anything that would make your branches un-mergeable with the main electron/brightray repos?

Will this work on arm devices like the raspberry pi or is there something else needed to get that working there.

@romaincointepas Sure, I'll link the PR. In terms of merging I'm expecting some discussion on the implementation (i.e. making sure it's inline with Electron conventions), and to go over any licensing issues that may be relevant regarding proprietary codecs and Widevine.
@FWeinb it's not something I've looked into yet, I hope it does - assuming it's possible to find compatible widevine plugins.

@simongregory @deepak1556 As this is the missing piece for my project, I've added a $100 bounty to this (widevine support for Mac/Win): https://www.bountysource.com/issues/23320402-loading-pepper-plugins-and-eme-support-via-cdms.
Also, I would love to give a hand during testing but this is way too low-level for me to help.

I have tested simongregory branches of electron and libchromium projects and with some minor changes and a lot of patience, it works for me on Linux.
The first thing todo before submitting a pull request on electron is to submit 2 pull requests on brightray and libchromium.
As Simon told us and because of licence issues, I am not sure that these pull requests will be merged.
It would be great if the lead developer of these projects could answer to the licence question

@simongregory I have merged your 2 forks with atom/electron and atom/libchromiumcontent recent masters (I needed to get the recent Xcode 7 fixes), it's all here:
https://github.com/romaincointepas/electron
https://github.com/romaincointepas/brightray
https://github.com/romaincointepas/libchromiumcontent/tree/atom
Note: I've updated the relevant submodules in electron and brightray to point to the respective forks
When building electron I'm getting a lot of C++ errors like those:
../../chromium_src/chrome/renderer/media/chrome_key_systems.cc:55:3: error: expected expression
  return is_available;
  ^
../../chromium_src/chrome/renderer/media/chrome_key_systems.cc:178:2: error: expected '}'
}
 ^
../../chromium_src/chrome/renderer/media/chrome_key_systems.cc:40:59: note: to match this '{'
    std::vector<base::string16>* additional_param_values) {

Potential culprit: https://github.com/atom/brightray/pull/151?
And also, neither GOOGLE_CHROME_BUILD nor CHROMIUM_BUILD are defined so the error is thrown and PRODUCT_STRING never gets defined in https://github.com/simongregory/electron/blob/widevine-cdm/chromium_src/chrome/common/chrome_constants.cc#L13-L19
Any suggestions on how to fix this?

@romaincointepas any progress? I'm also trying to build electron and I'm getting the same errors.

@massimopalmieri it works for me now, try with my forks (i've pushed to electron/master).

@romaincointepas I'm trying with your fork, now I'm getting this error
ninja: Entering directory `out/D'
[1/15] SOLINK "Electron Framework.framewor...Versions/A/Electron Framework", POSTBUILDS
FAILED: ../../vendor/llvm-build/Release+Asserts/bin/clang++ -shared -ObjC -stdlib=libc++ -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -arch x86_64 -L. -install_name @rpath/Electron\ Framework.framework/Electron\ Framework -Wl,-rpath,@loader_path/Libraries -F/Users/massimo/electron/external_binaries -o "Electron Framework.framework/Versions/A/Electron Framework" @Electron_Framework.framework.rsp
clang: error: no such file or directory: '/Users/massimo/electron/vendor/brightray/vendor/download/libchromiumcontent/shared_library/libcdm_renderer.a'
clang: error: no such file or directory: '/Users/massimo/electron/vendor/brightray/vendor/download/libchromiumcontent/shared_library/libcomponent_updater.a'
ninja: build stopped: subcommand failed.

@massimopalmieri I think you didn't build the atom branch of libchromiumcontent?

@romaincointepas Have you planned to submit a pull request on libchromiumcontent, brightray and finally on electron ?

@clebeaupin I only merged @simongregory's branches with master and fixed a weird error, and I will try to keep my forks up to date, but I didn't add anything.
Please read https://github.com/atom/electron/issues/2085#issuecomment-150531415 for more info.

@romaincointepas you're right, I wasn't compiling the right branch of libchromiumcontent. Once I compiled it I run ./script/create-dist and then in electron I run ./script/bootstrap.py -v -u file:///path-to/libchromiumcontent.zip but I get errors like this:
../../chromium_src/chrome/common/chrome_paths.cc:35:10: fatal error: 'third_party/widevine/cdm/stub/widevine_cdm_version.h' file not found
#include "third_party/widevine/cdm/stub/widevine_cdm_version.h"

@romaincointepas I just pulled your branch and got it to build, but it doesn't look widevine playback is working.
These are the steps I followed to do the build:
# checkout the electron branch w/ EME support
git clone --recursive git@github.com:romaincointepas/electron.git

# build libchromiumcontent
cd electron/vendor/brightray/vendor/libchromiumcontent
./script/bootstrap -v
./script/update -t x64
./script/build -t x64
./script/create-dist

# move libchromiumcontent zips to the right spot
mkdir -p osx/x64/464aff2398f619b1d4d91b9187de69803919dca2
cp libchromiumcontent.zip osx/x64/464aff2398f619b1d4d91b9187de69803919dca2/
cp libchromiumcontent-static.zip osx/x64/464aff2398f619b1d4d91b9187de69803919dca2
cd ../../../../

# add the widevinecdmadpater
cp ~/Library/Application\ Support/Google/Chrome/WidevineCDM/<IP_ADDRESS>4/_platform_specific/mac_x64/widevinecdmadapter.plugin vendor/brightray/vendor/download/libchromiumcontent/shared_library

# trigger the build
./script/bootstrap.py -v -u file://`pwd`/vendor/brightray/vendor/libchromiumcontent
./script/build.py -c D

Here's how i'm testing for widevine support:
 var video = document.createElement('video');
 video.canPlayType('video/mp4; codecs="avc1.640028', 'com.widevine.alpha');
// returns "" on electron, chrome it returns "probably"

Please let me know what i'm missing. Thanks for effort, I'm super excited to get this working!

Again, it's @simongregory and @natgolov's work, I just happen to be less busy.
@massimopalmieri Follow @rewiredpictures step called # add the widevinecdmadpater before building, the follow instructions below.
@rewiredpictures I've copied both widevinecdmadapter.plugin and libwidevinecdm.dylib from the Google Application Support/ location to a `plugins' folder in my app, then in main.js I added:
widevine_adapter_path = path.join __dirname, '../plugins/widevinecdmadapter.plugin'
app.commandLine.appendSwitch 'register-pepper-plugins', "#{widevine_adapter_path};application/x-ppapi-widevine-cdm"

Also, don't forget to add plugins: true to the BrowserWindow or the plugins attribute to the webview when necessary.
You easily can check if the plugin is loaded by typing navigator.plugins in the dev tools console.

thanks @romaincointepas, that worked

@rewiredpictures try with navigator.requestMediaKeySystemAccess('com.widevine.alpha', [{contentType: 'video/mp4; codecs="avc1.4d401e"'}]) to test for widevine support, canPlayType was deprecated

has anyone tried to use shaka player after enabling widevine?

Although I did highlight I got this working on an edited version of the Electron branch sorry they didn't compile out of the box. For clarity I've detailed the steps  I used to build electron and the upstream projects.
@clebeaupin glad to hear it's working on Linux.
@romaincointepas I'm working for the BBC on this, them adding extra funding via bountysource is unlikely but I've floated the idea. Good to hear that it's still working with the most recent changes from master.
@massimopalmieri yes I've tested using the Shaka reference player and it worked both with the Widevine test manifests and some custom content I have access to.
To test playback I've been using the following in main.js (interesting that @romaincointepas has been successful using the register-pepper-plugins switch).
//You need to manually source the widevinecdmadapter.plugin and add to the dir below
var widevinePath = app.getPath('appData').concat('/YOUR-APP-NAME/WidevineCDM/widevinecdmadapter.plugin');
app.commandLine.appendSwitch('widevine-cdm-path', widevinePath);
app.commandLine.appendSwitch('widevine-cdm-version', '<IP_ADDRESS>4');

And then one of the following in the html:
<webview id="netflix" src="http://netflix.co.uk" plugins></webview>
</webview>```

@simongregory Does the same trick work on Windows? (load widevinecdmadapter.dll and widevinecdm.dll directly, same as what works for Mac right now)

@romaincointepas I am trying to compile a windows version and I have added these 2 dlls. I will tell you if the compilation works

@simongregory good to hear that shaka player worked for you, the plugin doesn't get loaded for me if I use the widevine-cdm-path switch, but it's loaded if I use the register-pepper-plugins switch as suggested by @romaincointepas.
When the plugin is loaded I can play content on Netflix and BitDash, but not on the Shaka reference player, it returns:
DOMException: None of the requested configurations were supported.

@romaincointepas did you compile libchromiumcontent on El capitan? I was able to compile it on OSX 10.10.1 and Xcode 6.1.1, but I get errors when trying to compile on OS X 10.11.1 with Xcode 7.1.1

@massimopalmieri Compile with Xcode 6.4 and it will work. As soon as electron switches to Chrome 46+ you will be able to build with Xcode 7.

@simongregory I've tried to get a working build by following the steps you posted in your gist, but the electron build itself is throwing an error:
In file included from ../../atom/app/atom_content_client.cc:16:
../../chromium_src/chrome/browser/component_updater/chrome_component_updater_configurator.h:9:10: fatal error: 'components/update_client/configurator.h' file not found

It looks like chrome_component_updater_configurator.h is in the libchromiumcontent working directory, but doesn't make it over to the electron working directory after it extracts the libchromiumcontent zips. Anyone have any ideas of what's going on?

@rewiredpictures did you modify brightray.gyp? I'd imagine components/update_client/configurator.h is from libcomponent_updater.a, but that's only a vaguely educated guess.

I managed to build the custom libchromium and electron described here, the library is loaded well by electron at startup (got a dyld: Library not loaded: @loader_path/libwidevinecdm.dylib if I try to remove it from my library path), but I do not manage to load the plugin at startup (ie. navigator.plugins.length equals 0 and navigator.requestMediaKeySystemAccess('com.widevine.alpha', [{contentType: 'video/mp4; codecs="avc1.4d401e"'}]); throws a Unsupported keySystem exception).
I tried :
app.commandLine.appendSwitch('widevine-cdm-version', '<IP_ADDRESS>6');

and :
app.commandLine.appendSwitch('widevine-cdm-version', '<IP_ADDRESS>6');```

Any idea of what I am missing ? Many thanks in advance !

Widevine CDM support is now implemented on master branch and will be included in v0.36.3.

Super awesome! Thanks @zcbenz

Using Electron 0.36.3 I've followed all of the above and not been able to get the component to be detected by Netflix unfortunately...
Webvine is showing in navigator.plugins
Running navigator.requestMediaKeySystemAccess('com.widevine.alpha', [{contentType: 'video/mp4; codecs="avc1.4d401e"'}]) also seems to return a correct promise
@simongregory does your code from November work on todays release? Cheers!

@tommoor which platform are you on? I compiled Electron on the Mac shortly after this was merged into master and it's been working for me. I hadn't got around to building it on the other platforms.
If you've followed the above, and loaded the CDM via a standard 'register-pepper-plugins' then you won't have triggered the Key registration. To do this use 'widevine-cdm-path' ('widevine-cdm-version' is also needed but you can set it to anything from my testing).
That's detailed in the using-widevine-cdm-plugin.md docs.

On Mac here too, I've followed all of the various methods from above and have the correct files in place. The plugin appears to be picked up by Electron but Netflix won't use it - perhaps Netflix is looking for something else... could be doing some sort of browser / feature sniffing I'm not aware of..

Just tried the new release on OS X 10.11.2 and can successfully watch movies on Amazon Prime.
This is the code I am using:
'use strict';

const electron = require('electron');
const path = require('path');

electron.app.commandLine.appendSwitch('widevine-cdm-path', path.join(__dirname, 'widevinecdmadapter.plugin'));
electron.app.commandLine.appendSwitch('widevine-cdm-version', '<IP_ADDRESS>6');

let mainWindow = null;

electron.app.on('ready', () => {
	mainWindow = new electron.BrowserWindow({
		webPreferences: {
			plugins: true
		}
	});
	mainWindow.loadUrl('https://amazon.de');
});

I've now tried the Electron release binary on OS X 10.11.2 (verified with Shaka Player) and 10.9.5 (verified with Ep1 Series1 of Breaking Bad on Netflix UK and Shaka) without issue.
That's using a Widevine CDM Adapter versioned at 47.0.2526.106 and a WidevineCDM versioned at <IP_ADDRESS>6.  Compatibility is maintained to 3 prior versions of Chrome (there's a manifest.json file bundled with the Widevine binaries that'll give you the oldest version exactly) so that's unlikely to be the issue.
The code I'm using isn't different in any meaningful way to @FWeinb's.
When Netflix fails it usually does so with an error id that quickly resolves to a Widevine upgrade/install issue via a google search.
Are things any better with the WV playlists on the Shaka Player demo: https://shaka-player-demo.appspot.com/

So strange, I just copy and pasted your code @FWeinb just to be 100% sure - changed the URL to the shaka-player-demo, still no luck:

Hmph. I copied the files from chrome into the application directory, I checked their permissions and everything seems good there too. hmph.

One last thought, I wonder if it's because I took the plugin and lib from my Chrome version 49, and the current version in Electron is 47. Any chance you could upload those somewhere @simongregory or let me know how you got the exact version number from the .plugin file?

In instances where Shaka is expected to be global, I had to include nodeIntegration: false in the webPreferences hash when instantiating the BrowserWindow. In that case, seems to be checking for the existence of things like require, which are on the window in Electron.

still gettin issue with netflix all plugins included widevine - also present, but netflix return 3003 error  without any description, any suggestions?

Are there a win64 build for dummies? :)

Netfix can't work on Electron
electron . --widevine-cdm-path /Applications/Google\ Chrome.app/Contents/Versions/56.0.2924.87/Google\ Chrome\ Framework.framework/Libraries/WidevineCdm/_platform_specific/mac_x64/widevinecdmadapter.plugin  --widevine-cdm-version <IP_ADDRESS>2
/Users/shinriyo/electron_apps/lithium/widevine/<IP_ADDRESS>6/_platform_specific/mac_x64/widevinecdmadapter.plugin

const path = require('path');

let widevineVersion = '<IP_ADDRESS>6';
let baseWidevinePath = './widevine/' + widevineVersion + '/_platform_specific/';
var widevine_adapter_path = '';

switch (process.platform) {
    case "win32":
        widevine_adapter_path = baseWidevinePath + process.platform + "/" + process.arch + '/widevinecdmadapter.dll';
        break;
    default:
        widevine_adapter_path = baseWidevinePath + 'mac_x64/widevinecdmadapter.plugin';
        break
}

app.commandLine.appendSwitch('widevine-cdm-path', path.join(__dirname, widevine_adapter_path));
app.commandLine.appendSwitch('widevine-cdm-version', widevineVersion);
console.log(path.join(__dirname, widevine_adapter_path));

app.on('ready', function() {
    mainWindow = new BrowserWindow({
        width: 1000,
        height: 600,
        backgroundColor: '#000000',
        'plugins': true,
        'webPreferences': {
            'plugins': true,
            'web-security': false,
            ' webaudio': true,
            'extra-plugin-dirs': [__dirname + '/plugins'],
        }
    });

@shinriyo I can play Netflix content ok with Widevine plugin version <IP_ADDRESS>3 in Electron v1.6.0 beta. Which version of Electron are you using? It may be that your version of Electron/Chromium isn't close enough version wise to latest Widevine plugin.

@simongregory
My Electon of package.json is 1.2.5. I will try 1.6.0.
   "devDependencies": {
         "electron-window-manager": "^1.1.0",
         "electron-prebuilt": "^1.2.5",
         "os-locale": "^1.4.0"
     },

I replaced "electron-prebuilt": "^1.2.5" to "electron": "^1.6.1".
However, not worked for me.
I don't know what is different with -prebuilt and without it....
I will try Widevine plugin version <IP_ADDRESS>3 again.

Mine is <IP_ADDRESS>2. so I replaced <IP_ADDRESS>2 plugin but not work...

Both electron and electron-prebuilt are the same package. You should use electron as the other is deprecated and occasionally (and currently) outdated.
To use beta releases you will want to install electron@beta though.

@baconface
Thank you for replying.
I installed via npm install electron@beta --save-dev..
however, not work yet..
https://github.com/shinriyo/lithium

Can any one help me integrating the OCDM ( https://github.com/fraunhoferfokus/open-content-decryption-module) in chromium browser. I tried building the compatible chromium browser ( V43.0.2357.81) but the chromium build itself is failing .
I want some demo on how OCDM + CDMi works along with browser
Any suggestion on the above will really be helpful.
Thanks
Pujari


zig default master

The zig default command is meant to set the default compiler without fetching it.  In contrast, when referencing the zig master version, the latest version is requested from the zig download site each time.  This would mean that zigup default master would fail with "compiler not installed" if the website has published a new version since it was last fetched.  That being said, the "spirit" of the default command is not to fetch anything, so in this case, I think it makes more sense to have zigup default master set the default compiler to the last master version that was fetched, rather than trying to get the latest version and fail most of the time.

Having default also fetch would have it overlap with fetch, no? In other compiler toolchains you explicitly have to pass update to, well, update the compiler to latest.
# fetch a compiler and set it as the default
zigup <version>
zigup master
zigup 0.6.0

Also, having default fetch would have it overlap with this as well, no? Kind of speaking out of line here since I have not used zigup in a bit.

Yeah if zig default VERSION also fetched, then it would be exactly the same as zig VERSION, not very helpful.

I guess you can have zig default <VERSION> fetch only if that version is not installed yet.

@cmyka1b2c3d4 what you are asking for is already done by zigup <VERSION> command. The spirit of zigup default <VERSION> is to set the mentioned version as default and show an error if it is not installed, i,e it does not fetch anything in any case.


[e2e] Fix Learning Path test case

Description
[e2e] Investigate and fix Learning path, rbac and key-clock test failures.
Which issue(s) does this PR fix
https://issues.redhat.com/browse/RHIDP-3387
PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

/test e2e-tests

/test e2e-tests

/test e2e-tests

/cherry-pick 1.2.x


finally fixed issues template

Codecov Report

Merging #1228 into master will decrease coverage by 0.6%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1228      +/-   ##
==========================================
- Coverage   43.55%   42.94%   -0.61%
==========================================
  Files          32       32
  Lines        3577     3539      -38
  Branches      581      581
==========================================
- Hits         1558     1520      -38
- Misses       1877     1878       +1
+ Partials      142      141       -1

Impacted Files
Coverage Δ

instabot/bot/bot.py
75.75% <0%> (-1.43%)
:arrow_down:

instabot/utils.py
86.66% <0%> (-0.57%)
:arrow_down:

instabot/api/api.py
49.72% <0%> (-0.5%)
:arrow_down:

instabot/api/prepare.py
10.76% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1e97770...e3d2b6c. Read the comment docs.


Try adding CodeQL static analysis workflow

Free, easy setup for what seems like a decent tool to be scanning our code regularly for vulnerabilities.
Example results: https://github.com/conveyal/analysis-ui/security/code-scanning/1?query=ref%3Arefs%2Fheads%2Fdev

I am archiving this repository (which has been merged into R5). As part of this process I'm closing all PRs. We can consider migrating any PRs over to R5.


nss_latest: 3.82 -> 3.83

https://github.com/nss-dev/nss/blob/master/doc/rst/releases/nss_3_83.rst
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Changelog suggest we need to update cacert. Can you open a separate PR against staging for that?

Bumping cacert in #191410

Result of nixpkgs-review pr 191377 run on x86_64-linux 1

7 packages built:

adoptopenjdk-icedtea-web
firefox-esr-unwrapped (firefox-esr-102-unwrapped ,firefoxPackages.firefox-esr-102)
xulrunner (firefox-unwrapped)
librewolf-unwrapped
nss_latest
slimerjs
thunderbird-unwrapped (thunderbirdPackages.thunderbird ,thunderbirdPackages.thunderbird-102)

Can't seem to get a bunch of them to build on aarch64-linux, but that's probably because my machine does not have enough memory.


wxWebViewBlink performance

wxWebViewBlink works great, but I have some performance issues. CSS animations in wxWebView element with wxWebViewBackendMiniBlink looks slow, with low FPS. How I can fix it? Maybe I need to enable some acceleration?

HW acceleration is NOT enabled in the MiniBlink, at least the version used in this project.
Try open an issue in MiniBlink project and see if the latest version supports HW acceleration.

Ok, thank you.


Migrate to Babel 7

Few things:

Looks like Babel dropped support for Node 4. We have to a major version upgrade.
Didn't realize that there was a submodule for babylon fixtures. Fixing those tests right now.

Is a goal for CST to support flow, TypeScript, and experimental JS features?

Looks like Babel dropped support for Node 4. We have to a major version upgrade.

Sounds good to me

Didn't realize that there was a submodule for babylon fixtures. Fixing those tests right now.

Oh yeah, that's our gotcha

Is it a goal for CST to support flow, TypeScript, and experimental JS features?

I would say yes :), "how" that's another convo :).
So it seems those fixtures are still an issue?

 See #167; I have more details there.


Add a TPC-H connector

Similarly to what Presto has for java, let's create a native TPC-H connector for Velox so we can easily generate synthetic TPC-H data on-the-fly. We could leverage duckdb's tpc-h generator, which will generate duck vector that can be easily converted into Velox vectors.
This is some documentation on the java connectos:

https://prestodb.io/docs/current/connector/tpch.html

Mostly done. See #1551 and other related PRs. The remaining work for now is to remove the single threaded limitation in dbgen.

This is finished. DuckDB dbge locks were removed as part: https://github.com/duckdb/duckdb/pull/4049


ECO:0000120 - ECO:0005027 relationship

We were wondering whether ECO:0000120 should be a child of ECO:0005027, since ECO:0000120 implies introduction of DNA for overexpression, which is covered by the ECO:0005027 transformation term.

I don't think transformation implies overexpression, it usually implies
exogenous expression.
Thanks, Pascale
Le mer. 20 févr. 2019 à 12:14 AM, Ivan Erill<EMAIL_ADDRESS>a
écrit :

We were wondering whether ECO:0000120 should be a child of ECO:0005027,
since ECO:0000120 implies introduction of DNA for overexpression, which is
covered by the ECO:0005027 transformation term.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/evidenceontology/evidenceontology/issues/200, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEj7UMKTLeToXGKsH-K13yVMeqFrvGxpks5vPIVJgaJpZM4bEEI5
.

Hi @pgaudet ,
I agree. It may have come across wrongly, but our idea was the opposite: that overexpression (ECO:0000120) might imply transformation (ECO:0005027). At least the way it's worded out now, ECO:0000120 "...a transgenic organism that has been engineered to overexpress..." and ECO:0005027 "the introduction of exogenous DNA". Transgenic seems to me to imply exogenous DNA?
Cheers,
Ivan

Hi @ivanerill and @pgaudet
Posting the terms and definitions to the above discussion below and putting the issue on the list of items for discussion at the next ECO meeting.
James
ECO:0000120 'over expression analysis evidence'
child of: 'experimental phenotypic evidence'
def: A type of experimental phenotypic evidence in which a gene and/or gene product is investigated in a transgenic organism that has been engineered to overexpress that gene product.
has_related_synonym: IMP: analysis of overexpression/ectopic expression phenotype
ECO:0000059 'experimental phenotypic evidence'
current parent for 'over expression analysis evidence'
def: A type of experimental evidence that is based on an observable characteristic trait, which is the result of the expression of an organisms genotype in an environment.
ECO:0005027 'genetic transformation evidence'
suggested new parent for 'over expression analysis evidence'
def: A type of mutant phenotype evidence resulting from the conversion of one genotype into another by the introduction of exogenous DNA.

That seems OK to me.

to complete the list:
ECO:0005027 'mutant phenotype evidence'
Current parent for 'genetic transformation evidence'
A type of experimental phenotypic evidence derived from the difference in two alleles of a corresponding gene that result from one or more changes in the genome.

Apologies for not getting to this sooner.  I checked the mapping files and making ECO:0000120 a child of  ECO:000502 will have no impact so I will make this change and get it pushed this morning.
Closing this ticket.
James


Receiver location incorrectly marked

As per the example, the X to mark the receiver location is appearing in the wrong location.

From the settings.ini file (note - not the exact location of my receiver, but within 25km of it:
Latitude=-36.920
Longitude=-174.800

As per Google Maps, this is located within Auckland, not a significant distance out in the Pacific on what looks to be the same latitude, but a more easterly longitude.

What I suspect may be happening is that the longitude is impacted by a calculation linked to the current time in New Zealand being UTC + 13 since it is during our daylight savings time for being summer, the opposite for the northern hemisphere. We're normally on UTC + 12 over our winter.
Source file for settings.ini and the .s and .tle files - https://kiwiweather.com/downloads/meteordemod.zip (339MB - let me know when you've downloaded this so I can remove it). I can supply the .wav files, but that is about twice as much space!
Commands used to generate the images:
meteordemod -i 2022-12-01-16-41-42-METEOR-M_2.s -t 2022-12-01-16-41-42-METEOR-M_2weather.tle -f jpg -d 01-12-2022
meteordemod -i 2022-12-01-18-21-57-METEOR-M_2.s -t 2022-12-01-18-21-57-METEOR-M_2weather.tle -f jpg -d 01-12-2022
meteordemod -i 2022-12-02-06-41-13-METEOR-M_2.s -t 2022-12-02-06-41-13-METEOR-M_2weather.tle -f jpg -d 02-12-2022

Meteordemod is a great tool and I'm really impressed by what it can do, so hoping that by logging these tickets that it can be improved further still.

Note - the city locations from the shapefiles are being positioned correctly, e.g. where Wellington is positioned on the image below.

Latitude=-36.920
Longitude=-184.800

I got this result by increasing the longitude from 174.8 to 184.8, i.e. adding 10 degrees. It isn't perfectly aligned with this adjustment, but pretty close.

Meteordemod is a great tool and I'm really impressed by what it can do, so hoping that by logging these tickets that it can be improved further still.

No problem at all! I am happy that someone finally uses meteordemod that part of the Earth. I know lots of users across Europe, north America and someone in India, but nobody used it yet from the south! So it was not tested there.
There is a discord server for weather satellites, I'd like to invite you: https://discord.gg/zCApHGHB
There is a dedicated channel for meteordemod where I keep the people updated about meteordemod changes, and also you can chat with me, it is easier than communicating through Github tickets.
I downloaded the files, I will investigate the problems as my time allows it.

Hi @KiwiInNZ
You set negative the longitude, that is the problem. See your attached picture from google maps.
Please use the following convention:

Latitude: North positive, South negative
Longitude: East positive,  West negative

Your Correct setting:

Latitude=-36.920
Longitude=174.800

Fix validated with using the correct sign convention.


tools/cmd/godoc: Public methods of unexported embedded interfaces not shown.

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

tip @  3c6b668

What operating system and processor architecture are you using (go env)?

N/A

What did you do?

If possible, provide a recipe for reproducing the error.
jnml@4670:~/src/tmp$ echo $GOPATH
/home/jnml
jnml@4670:~/src/tmp$ cat tmp.go
package foo

type t interface {
	Public()
}

type T interface {
	t
}
jnml@4670:~/src/tmp$ godoc tmp T

What did you expect to see?

use 'godoc cmd/tmp' for documentation on the tmp command

type T interface {
    Public()
    // contains filtered or unexported methods
}

What did you see instead?

use 'godoc cmd/tmp' for documentation on the tmp command

type T interface {
    // contains filtered or unexported methods
}

FTR: Importing the package and calling method Public on an instance of foo.T compiles just fine.

Same as #2971?

CC @griesemer

related  #6600 #10593 #7823 (contains more related issues, some fixed)

@ianlancetaylor Yes, this is a duplicate of #2971. Closing.


bluez-tools: 2015-09-10 -> 2016-12-12

Motivation for this change
Update
I do not have bluetooth adapter to test
Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

cc maintainer @dasuxullebt

@joachifm Guess previous maintainer isn't around anymore?

@ndowens looks like it. If you're confident in the change, maybe just integrate it.


papers

hello，
Is there any papers about your work？ If yes, can you give me a URL or paper name?
Thkan you.

This implements an EKF as explained in the book Probabilistic Robotics.


pureDrive

Hello, I am currently working on an opensource cloud storage platform and I am using wavesurfer.js for audio payback. you can see the project here at http://puredrive.org
I also wanted to note that wavesurfer takes forever to load and create the waveform. is there a way to set it up s it creates the form then buffers the audio?

@calgarc please add it to the list here: https://github.com/katspaugh/wavesurfer.js/edit/gh-pages/projects/index.html and submit it as a pull request.

no feedback, closing.


LDAPLookup Action

Lookup the LDAP directory for a given query string. The data will become available in a datasheet that can be used for further processing

Setup the LDAP connection in the application.xml
LDAPLookup based on the query string

Items to close for issue closure

[ ] Coding
[ ] Unit tests
[ ] Example
[ ] Documentation


How to iteratively send get request to different endpoints which the endpoints are constructed dynamically within one scenario in Karate script

I want to send get requests to different endpoints, which the endpoints are constructed dynamically using an array within a single scenario in Karate script. I tried the following code using JavaScript. But it seems the "karate.get(endpoint)" is invalid. May I know how I could do what I want to achieve?
Scenario: Verify dataset query correctness in the database
Given path 'Metadata'
When method GET
Given def datasetInDatabase = []
* karate.forEach(response, function(item){ if (!datasetInDatabase.includes(item.Name)) { datasetInDatabase.push(item.Name)} })
* def getDatasetQuery =
"""
function(datasetInDatabase){
karate.forEach(datasetInDatabase, function(datasetName){
var requestPath = baseUrl + tenant + '/Dataquery/' + datasetName;
//karate.log('Base URL: ' + baseUrl + tenant + '/Dataquery/' + datasetName);
karate.log('URL: ' + requestPath);
var result = karate.get(requestPath);
karate.log('query result: ' + result.status);
  });
}
"""
* if (datasetInDatabase.length > 0) getDatasetQuery(datasetInDatabase)

please ask questions like this on stack overflow: https://stackoverflow.com/a/75991456/143475


Brexit report task

Create rake tasks to report on the number of SubscriberLists relating to Brexit content.
https://trello.com/c/xIXJJM8p/355-produce-email-stats-for-paul-cronk-for-specific-date-range
https://trello.com/c/yHKowGks/346-produce-regular-email-stats-for-paul-cronk

@hannako  Sorry to comment post-merge, I didn't see this PR until the incident.
There's some things in here that'd be good to resolve where this is inconsistent with the existing report tasks.

There don't seem to be any tests for this
Looks like the previous CSV generation task outputted the CSV to stdout when the task was run whereas this one writes to a temp file, any reason this needs to be different? I imagine the temp file approach is quite a bit harder to work with

Some minor code aspects:

it seems unconventional that everything is a private method and that there isn't a #call method to do the action to correspond with the .call method
line 38 looks super long.

Would you be able to have a look at these?

Hi @kevindew - sorry for delay, have been on AL since you left the comments. Will take a look, thanks 👍


"path" : "/usr/lib/swift/libswiftCoreGraphics.dylib",
"name" : "libswiftCoreGraphics.dylib"
},
{
"source" : "P",
"arch" : "x86_64",
"base" :<PHONE_NUMBER>21408,
"CFBundleShortVersionString" : "1.0",
"CFBundleIdentifier" : "com.apple.RealityFoundation",
"size" : 3440640,
"uuid" : "cfc8fd29-89b5-306c-94d5-cec5966cb826",
"path" : "/System/Library/Frameworks/RealityFoundation.framework/Versions/A/RealityFoundation",
"name" : "RealityFoundation",
"CFBundleVersion" : "161.303.1"
},
{
"source" : "P",
"arch" : "x86_64",
"base" :<PHONE_NUMBER>92512,
"size" : 3907584,
"uuid" : "bb94747f-126a-35bd-ba02-b5328b7790b6",
"path" : "/usr/lib/swift/libswiftCore.dylib",
"name" : "libswiftCore.dylib"
}
],
"sharedCache" : {
"base" :<PHONE_NUMBER>74240,
"size" :<PHONE_NUMBER>8,
"uuid" : "985a74d2-8e9c-3f64-9035-a786b4845287"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=1.1G resident=0K(0%) swapped_out_or_unallocated=1.1G(100%)\nWritable regions: Total=679.7M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=679.7M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nAccelerate framework               512K        4 \nActivity Tracing                   256K        1 \nCG backing stores                  720K        4 \nCG image                            40K        8 \nCG raster data                      16K        2 \nColorSync                          240K       28 \nCoreAnimation                      616K       60 \nCoreGraphics                        12K        2 \nCoreUI image data                 2256K       29 \nFoundation                          16K        1 \nImage IO                          1024K        1 \nKernel Alloc Once                    8K        1 \nMALLOC                           232.1M       63 \nMALLOC guard page                   32K        8 \nMALLOC_LARGE (reserved)           46.5M        1         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                       56.0M       11 \nStack                             13.1M       11 \nVM_ALLOCATE                       1092K       16 \n__DATA                            27.1M      455 \n__DATA_CONST                      27.1M      297 \n__DATA_DIRTY                      1398K      172 \n__FONT_DATA                          4K        1 \n__LINKEDIT                       641.3M        8 \n__OBJC_RO                         81.8M        1 \n__OBJC_RW                         3136K        2 \n__TEXT                           491.3M      475 \n__UNICODE                          588K        1 \ndyld private memory               1024K        1 \nmapped file                      151.3M       28 \nshared memory                      784K       18 \n===========                     =======  ======= \nTOTAL                              2.1G     1711 \nTOTAL, minus reserved VM space     1.7G     1711 \n",
"legacyInfo" : {
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
},
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "607844aa04477260f58a8077",
"factorPackIds" : {
"SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
},
"deploymentId" : 240000066
},
{
"rolloutId" : "60da5e84ab0ca017dace9abf",
"factorPackIds" : {
  },
  "deploymentId" : 240000008
},
{
  "rolloutId" : "601d9415f79519000ccd4b69",
  "factorPackIds" : {
    "SIRI_TEXT_TO_SPEECH" : "61f0405329647d394933a4c4"
  },
  "deploymentId" : 240000377
},
{
  "rolloutId" : "602ad4dac86151000cf27e46",
  "factorPackIds" : {
    "SIRI_DICTATION_ASSETS" : "6193d03f2171a2330e561dfc"
  },
  "deploymentId" : 240000298
},
{
  "rolloutId" : "5ffde50ce2aacd000d47a95f",
  "factorPackIds" : {

  },
  "deploymentId" : 240000102
},
{
  "rolloutId" : "5fc94383418129005b4e9ae0",
  "factorPackIds" : {

  },
  "deploymentId" : 240000229
}

],
"experiments" : [
]
}
}
Model: MacBookPro13,3, BootROM 4<IP_ADDRESS>.0, 4 processors, Quad-Core Intel Core i7, 2.9 GHz, 16 GB, SMC 2.38f12
Graphics: Intel HD Graphics 530, Intel HD Graphics 530, Built-In
Graphics: Radeon Pro 460, AMD Radeon Pro 460, PCIe, 4 GB
Display: Color LCD, 2880 x 1800 Retina, MirrorOn, Online
Display: LED Cinema Display, 1920 x 1200 (WUXGA - Widescreen Ultra eXtended Graphics Array), Main, MirrorOn, Online
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x15A), Broadcom BCM43xx 1.0 (<IP_ADDRESS> AirPortDriverBrcmNIC-1710.3)
AirPort:
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: AirPort, AirPort, en0
Network Service: USB 10/100/1000 LAN, Ethernet, en13
Network Service: iPad, Ethernet, en5
USB Device: USB3.0 Hub
USB Device: USB3.0 Card Reader
USB Device: USB 10/100/1000 LAN
USB Device: USB30Bus
USB Device: iPad
USB Device: Apple T1 Controller
USB Device: USB 2.0 Hub
USB Device: USB2.0 Hub
USB Device: hub_device
USB Device: Keyboard Hub
USB Device: Apple Keyboard
USB Device: hub_device
USB Device: Apple LED Cinema Display
USB Device: Display iSight
USB Device: Display Audio
USB Device: USB 2.0 BILLBOARD
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.5
Thunderbolt Bus: MacBook Pro, Apple Inc., 41.5

Thank you so much! If it's working with the other apps, then there is most probably no need to test with the command line tool. I'll try my best to figure it out, and thanks again for everything. Have an amazing day.

Upon showing the crash logs and talking about the issue with Apple engineers in a WWDC lab back in June, we were almost certain that this is a SwiftUI bug related to the specific macOS version at the time and it was most probably resolved with the later updates.
Looking app my app analytics crash reports, this very same issue has happened a handful more times to other people as well. But it shouldn't keep happening after updating the software.
Do you still experience this issue after updating your Mac? If not, I will deem this issue resolved and close this issue. Or we can keep investigating if it does.
Thank you so much for you help and interest. Have a great day!


Precaching

Automatically download and prepare all necessary resource so app can be build with online data already available.

Downloading is implemented.


[Epic] - Generate Element Templates from Miranum-Connect projects

[ ] Description created
[ ] Reviewed by peer (24 hr window):
[ ] Prioritised

Description
As a developer I want to generate Element Templates from code to increase the reusability of the integrations I have written. This should be possible via a simple maven or gradle dependency. It saves me time not to create the JSON templates by myself and have them generated.
This should apply for Camunda Platform 7 and 8.
Sub-Tasks
### Tasks
- [ ]  #53
- [ ]  #51
- [ ]  #52

Stakeholder

@dominikhorn93

Acceptance

A tool which:

Scans the project it was added to for miranum-workers
Analyses their input parameters
Generates an Element Template which is compatible to Camunda Platform 8/7
Stores them in the ressource folder of the project

FYI: this epic is now being replaced by #89 and hence being archived


service: when we close stopCh we need to nil it to avoid panic v3.9.3

Propagate 22 for v3.9.3
in case we fail to connect and then we reconnect we would get to a point where we close(stopCh) and on the second iteration we would go into the if stopCh != nil { and try to close it again.
this change will make sure we only close it once and will not go in this if again.
this issue occured in situations where the DSC failed to connect then succeeded and in the third iteration it would panic on closing already closed chan.
issue: LBM1-33584

@shaharz-lb / @alon-lb , can we please convert this repo to github actions based PR checks? The tests that should run are
Note that this repo is public.
These are the tests that should run in the PR check.
muli@blackfish ~/lightbits/src $ testtagger.sh -t discovery-client -i allci --without-unstable
coverage=discovery-client:
    -> /home/muli/lightbits/src/systests/racktests/239_alma_8_vm_installation_test.py [CI: sanity minisanity]
    -> /home/muli/lightbits/src/systests/racktests/280_monitoring_installation_test.py [CI: nightly]
    -> /home/muli/lightbits/src/systests/racktests/529_discovery_vm_installation_add_node.py [CI: weekly]
    -> /home/muli/lightbits/src/systests/racktests/625_vm_installation_add_new_server_to_cluster.py [CI: nightly]

@muliby-lb I hope I'll be able to do it one day, but I do not think I can help here...

@alon-lb oops I meant to tag @elada-lb

@shaharz-lb / @alon-lb , can we please convert this repo to github actions based PR checks? The tests that should run are Note that this repo is public. These are the tests that should run in the PR check.
muli@blackfish ~/lightbits/src $ testtagger.sh -t discovery-client -i allci --without-unstable
coverage=discovery-client:
    -> /home/muli/lightbits/src/systests/racktests/239_alma_8_vm_installation_test.py [CI: sanity minisanity]
    -> /home/muli/lightbits/src/systests/racktests/280_monitoring_installation_test.py [CI: nightly]
    -> /home/muli/lightbits/src/systests/racktests/529_discovery_vm_installation_add_node.py [CI: weekly]
    -> /home/muli/lightbits/src/systests/racktests/625_vm_installation_add_new_server_to_cluster.py [CI: nightly]

@elada-lb ^^^

@shaharz-lb / @alon-lb , can we please convert this repo to github actions based PR checks? The tests that should run are Note that this repo is public. These are the tests that should run in the PR check.
muli@blackfish ~/lightbits/src $ testtagger.sh -t discovery-client -i allci --without-unstable
coverage=discovery-client:
    -> /home/muli/lightbits/src/systests/racktests/239_alma_8_vm_installation_test.py [CI: sanity minisanity]
    -> /home/muli/lightbits/src/systests/racktests/280_monitoring_installation_test.py [CI: nightly]
    -> /home/muli/lightbits/src/systests/racktests/529_discovery_vm_installation_add_node.py [CI: weekly]
    -> /home/muli/lightbits/src/systests/racktests/625_vm_installation_add_new_server_to_cluster.py [CI: nightly]

Running GitHub Actions on a self-hosted runner in a public repo is not best practice because it exposes the runner to potentially malicious pull requests or code.

@shaharz-lb understood. Perhaps check who submitted the PR, and if it was not triggered by someone at @ lightbits, don't run it? How do others do this?


Feat: implement get_execute_order_params

Pull Request type
Please add the labels corresponding to the type of changes your PR introduces:

Feature

What is the current behavior?
Resolves: #356
What is the new behavior?
Implemented the get_execute_order_params which is the only function in the contract
Does this introduce a breaking change?
No
Clearly there are several util functions that are used that are yet implemented.

What scenarios should I be testing? Would the missing util implementations influence the tests carried out?

Mmh since testing would just consist of asserting that returned fields are ok and knowing that most of the called functions called in get_execute_order_params are missing I think it doesn't make much sense to test it right now. But it's good that you created the test file, just add a TODO to test when all functions will be implemented and it should be ok


Ability to have rancher server check that agent-instances are able to communicate with each other

There are numerous issues out there which start off as issues with specific services/LBs, but it ends up boiling down to the fact that the network agents are unable to communicate with each other.
We are adding additional FAQs on ways to troubleshoot this scenario (#2177), but it would be helpful if there was something that rancher/agent, rancher/agent-instance, rancher/server could attempt to do so that there could be some kind of error messages in either the rancher/server logs, UI or somewhere.

With the introduction of CNI and network drivers in v1.2.0, there is no network agent running on hosts anymore. This is no longer applicable.


OSSM-5832 Changes to being able to run test on arm cluster

Jira: https://issues.redhat.com/browse/OSSM-5832
Whit this small changes we will be able to run the test against arm cluster by duplicating the scenarios that we currently have but with the arm configuration

/retest

/retest


Expose mqt-core Functionality to Python

Description
To make mqt-core accessible from python - in particular to make commonly used mqt-core methods and datatypes available to other mqt tools in python - this PR aims to port the core functionality to python.
This PR does not aim to provide every functionality available in the C++ library to python. This is left for future changes when the demand for such functionality arises.
Checklist:

[ ] The pull request only contains commits that are related to it.
[ ] I have added appropriate tests and documentation.
[ ] I have made sure that all CI jobs on GitHub pass.
[ ] The pull request introduces no new warnings and follows the project's style guidelines.

@pehamTom many thanks for working on this; much appreciated help!
Just wanted to write down some thoughts:
Once the QuantumComputation class is "fully" exposed to Python, I would argue that the existing binding functionality from the .../qiskit/*.cpp files should be directly ported to Python as the C++ implementation is cumbersome (and not even that efficient I believe, due to the frequent calls from C++ to Python).
One could think about adopting a similar naming to the TKET library, which would be something like qiskit_to_mqt and mqt_to_qiskit.
To this end, I would like to introduce a certain separation of concerns between the core library and its extensions (like the adapter to Qiskit).
Someone who does not depend or rely on Qiskit should not have to install it as part of MQT Core. I believe this should be fairly easy to accomplish by adding an optional qiskit extra to the package and handling all related code in a separate submodule mqt.core.qiskit. The functions of that module are not re-exported as part of the mqt.core.__init__.py. Users have to explicitly import the submodule and/or the functions to use them.
This allows us to set a precedent for how to provide adapters from the MQT to other toolkits and should keep the code rather modular. I hope this makes sense. If you do not agree with something or something is not clear, let's discuss.


[bc-breaking] switch argument order to module_filter_fn

Stack from ghstack (oldest at bottom):

#330
#329
-> #328
#327

Summary:
before: module_filter_fn(fqn, mod)
after: module_filter_fn(mod, fqn)
This is to better match the format of similar functions in torchao.
Test Plan:
./test/test_everything.sh

Reviewers:
Subscribers:
Tasks:
Tags:
Differential Revision: D60195664

@vkuzo has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.


Problem with fonts

Hi, first of all thank you for the wonderful work! I really like the onivim2!
After new release I have some strange behavior of rendering characters:

Here is my configuration.json:
{
  "workbench.colorTheme": "Dark+ (default dark)",
  "editor.detectIndentation": true,
  "editor.fontFamily": "FiraCode-Regular.ttf",
  "editor.fontSize": 14,
  "editor.largeFileOptimizations": true,
  "editor.highlightActiveIndentGuide": true,
  "editor.indentSize": 4,
  "editor.insertSpaces": true,
  "editor.lineNumbers": "relative",
  "editor.matchBrackets": true,
  "editor.minimap.enabled": true,
  "editor.minimap.maxColumn": 120,
  "editor.minimap.showSlider": true,
  "editor.renderIndentGuides": true,
  "editor.renderWhitespace": "all",
  "editor.rulers": [],
  "editor.tabSize": 4,
  "editor.zenMode.hideTabs": true,
  "editor.zenMode.singleFile": true,
  "files.exclude": [ "_esy", "node_modules", ".git" ],
  "workbench.activityBar.visible": true,
  "workbench.editor.showTabs": false,
  "workbench.iconTheme": "vs-seti",
  "workbench.sideBar.visible": true,
  "workbench.statusBar.visible": true,
  "workbench.tree.indent": 2,
  "vim.useSystemClipboard": [ "yank" ]
}

Maybe it is something wrong with font. How I could restart the configuration.json file to default one?
Thanks

Sorry! We moved from Fira Code to our current font Jet Brains Mono and thought all the fallback cases had been caught, but apparently not. If you delete the editor.fontFamily line in your config, it will use the default font now instead.
(We changed as Fira doesn't have an italic variant I believe, which is a pain when some themes wil render comments etc in italics, wheras Jet Brains Mono does not have that issue. It should just check and see "Tried X font and it doesn't exist, so defaulting back to the Oni2 default" but that doesn't seem to have worked here).

Thank you for answer. After deleting the editor.fontFamily everything works. Should I close this issue?


Fix access control and SQL injection

In del.php, the script doesn't make a call to exit after setting the Location header allowing for unauthenticated users to either delete posts or attack the database using the SQL injection. This pull request fixes both issues by adding a call to exit after call to header and by using mysqli_real_escape_string to cleanse the id input.

Good catch. Thank you.

You're welcome :)


added into trait for value

I have added into Trait for value, we have to create Into Traits for all primitive types so that all converting into value is seamless

Coverage remained the same at 98.039% when pulling b7067513c41120fe9b230222fb87f20450d4a4b7 on harrydevnull:feature/into into d9f888a17ef3ca5d8fad8d438db3b9f32ddf942a on AlexPikalov:master.

Codecov Report

Merging #79 into master will not change coverage.

@@           Coverage Diff           @@
##           master      #79   +/-   ##
=======================================
  Coverage   98.03%   98.03%
=======================================
  Files          14       14
  Lines         918      918
=======================================
  Hits          900      900
  Misses         18       18

Impacted Files
Coverage Δ

src/types/value.rs
95% <ø> (ø)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d9f888a...b706751. Read the comment docs.

@AlexPikalov : do you have a few moment to chat on this?


Engine: update base to 0.16.*, and make dune rebuild on binary changes

I fixed that PR (was failing due to a breaking change in the Rust support Nix library -- I updated everything)