Strange extra action evaluation

Issue type

Bug Report: yes
Feature Request: no
Question: no
Not an issue: no

Prerequisites

Can you reproduce the issue?: yes
Did you search the repository issues?: yes
Did you check the forums?: no
Did you perform a web search (google, yahoo, etc)?: no

Description
Say, I have a string with mandatory 'a' literals and optional 'x' literals around them. I want to count the actual amount of 'x'.
Steps to Reproduce
Example code:
const result = require('pegjs')
  .generate(`
    { let xx = 0; }

    root  =  (x? 'a')+ x? { return xx; }

    x  =  'x'  { xx++; }
  `)
  .parse('ax');

console.log(result);

Expected behavior:
The count is 1.
Actual behavior:
The count is 2.
Software

PEG.js: pegjs@dev (0.11.0-master.b7b87ea)
Node.js: 13.9.0
NPM or Yarn: 6.13.7
Browser: -
OS: Windows 7 x64
Editor: -

This is not bug. Parsing is performed in the following order

Try to match x in (x? 'a')+ => fail
x? always matched, so first element in sequence x? 'a' is matched, position is not changed (still 0)
Try to match 'a' => success, position now is 1
Sequence is matched iif all elements of sequence is matched. Because both x? and 'a' is matched, sequence is matched
Because of repeat in (x? 'a')+ try to match x again => success, position is 2, xx == 1
x? always matched, so first element in sequence x? 'a' is matched, position is not changed (still 2)
Try to match 'a' => fail, position is not changed (still 2)
Sequence is matched iif all elements of sequence is matched. Because 'a' is not matched, sequence is not matched. Backtrace to begin of sequence => position returned to 1
(...)+ is matched iif it matched one or more times. Now is is matched 1 time, so repetition is matched. Position is 1
Try to match x in (...)+ x? => success. Position is 2, xx == 2
x? always matched
Sequence is matched iif all elements of sequence is matched. Because both (x? 'a')+ and x? is matched, sequence is matched.
Because grammar is finished, it implicitly required EOF. End of input reached => so grammar is matched. Result is xx == 2.

Thank you. Maybe it is worth to mention in the docs that due to backtracking, side-effect actions need cautions.


issue in step 4 of Data preprocessing

i get this error when running this : python prepare/preprocess_ppg.py -w data_svc/waves-16k/ -p data_svc/whisper
Traceback (most recent call last):
File "prepare/preprocess_ppg.py", line 56, in
whisper = load_model(os.path.join("whisper_pretrain", "medium.pt"))
File "prepare/preprocess_ppg.py", line 25, in load_model
dims = ModelDimensions(**checkpoint["dims"])
TypeError: 'ModuleSpec' object is not callable

is there more detial log info?

it's all the error after running step 4 of data preprocessing
data_svc/waves-16k/
data_svc/whisper
Traceback (most recent call last):
File "prepare/preprocess_ppg.py", line 56, in
whisper = load_model(os.path.join("whisper_pretrain", "medium.pt"))
File "prepare/preprocess_ppg.py", line 25, in load_model
dims = ModelDimensions(**checkpoint["dims"])
TypeError: 'ModuleSpec' object is not callable

your code is different from this project, line 25 is " audln = audio.shape[0]"

your code is different from this project, line 25 is " audln = audio.shape[0]"

oh yes you're right it's different , but i cloned the repo yesterday
i don't know why it's different !
So i copied the code from the file preprocess_ppg.py but i got this error this time :/
data_svc/waves-16k/
data_svc/whisper

speaker0<<<<<<<<<<
Traceback (most recent call last):
File "/home/parisa/so-vits-svc-5.0_/whisper/audio.py", line 44, in load_audio
ffmpeg.input(file, threads=0)
AttributeError: module 'ffmpeg' has no attribute 'input'

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "prepare/preprocess_ppg.py", line 58, in
pred_ppg(whisper, f"{wavPath}/{spks}/{file}.wav", f"{ppgPath}/{spks}/{file}.ppg")
File "prepare/preprocess_ppg.py", line 24, in pred_ppg
audio = load_audio(wavPath)
File "/home/parisa/so-vits-svc-5.0_/whisper/audio.py", line 48, in load_audio
except ffmpeg.Error as e:
AttributeError: module 'ffmpeg' has no attribute 'Error'


Update the R definition

Remove reditorsupport.r-lsp as its functionality has been merged into ikuyadeu.r. (https://github.com/REditorSupport/vscode-R/pull/695)
r.sessionWatcher is now true by default, so remove it from settings. (https://github.com/REditorSupport/vscode-R/pull/670)
Remove the --repos option from the install2.r command, which install the R packages in the container, as it is unnecessary. (Related to the base image improvement: https://github.com/rocker-org/rocker-versioned2/pull/195)

cc @kmehant @Ikuyadeu @randy3k @renkun-ken

By the way, the current R definition says that it doesn't work with Codespaces, but containers and extensions for R have changed a lot between when this research was done 5ca22d160cbadcb3d274674618752517e81fabaa and now.
I'd like to find out what's going on now if I could, but I don't have access to Codespaces so I can't find out...

Is there a way to get access to codespaces for container maintainers?

@eitsupi Do you think we should also add R Debugger and also install vscDebugger to provide a full R development experience including debugging?

@renkun-ken Yes, it would be great if it could be added.
I also considered adding it when I added the current definition in #732, but I had never used the R Debugger myself, so I decided to forgo it.
And, it would be ideal to have the {httpgd} package installed as well, but the current container takes about 10 minutes to build, so I decided to forgo it this time.
(Half of the build time is spent running common-debian.sh in this repository, and the other half is installing R packages)
If we can use images pre-built by REditorSupport, which owns the vscode-R extension and the {languageserver} package, as Julia's definition added in #450, users can easily use R in Remote-Containers (and Codespaces) with more pre-installed packages in container.

Thanks for pointing to the Julia's devcontainer. We'll probably maintain some pre-built images under REditorSupport.

@renkun-ken Once again, I thought about the container settings and tried various things, and I think it is indeed significant to provide a better R development environment with VSCode as you said, so I would like to add the following settings.

Add the httpgd package and use it by default (httpgd's plots are really nice!)
Edit the Rprofile to enable self-managed R sessions
Add integrated terminal profile for radian

Since the base image rocker/r-ver installs packages from past CRAN snapshots by default, images tagged with versions earlier than httpgd was registered with CRAN will fail to install httpgd.
Therefore, I have updated the comments to raise the minimum version to R 4.0.3.
I decided not to install the vscDebugger package because it is not registered with CRAN and I cannot eliminate the possibility of version inconsistencies with dependent packages installed from past CRAN mirrors.
And, if we  add the R Debugger, we might have to add launch.json and update the sample project and documentation.

Thanks for the nice work!

I decided not to install the vscDebugger package because it is not registered with CRAN and I cannot eliminate the possibility of version inconsistencies with dependent packages installed from past CRAN mirrors.

From the DESCRIPTION, vscDebugger only depends on jsonlite and R6 with no specific minimum version requirement. I'm not sure what you mean by "version inconsistencies with dependent packages"?

And, if we add the R Debugger, we might have to add launch.json and update the sample project and documentation.

The current R Debugger has built-in configs to work out of the box for most cases. I guess we don't have to add launch.json for now.

From the DESCRIPTION, vscDebugger only depends on jsonlite and R6 with no specific minimum version requirement. I'm not sure what you mean by "version inconsistencies with dependent packages"?

Does it seem unlikely that a future update of vscDebugger will require version restrictions? @ManuelHentschel
(Of course, if that's the case, we could just update the Dockerfile to fix it, so maybe I'm worrying too much)
Also, I haven't decided whether it's better to install from the latest GitHub commit at the docker build stage or by using the command from R Debugger.
I believe it is possible to install from the latest release using the GitHub API, but I feel it is too long to write in this Dockerfile...

The current R Debugger has built-in configs to work out of the box for most cases. I guess we don't have to add launch.json for now.

Thank you for telling me about it. I don't understand too much about the R Debugger (and about debugging tasks in R), so I'll try to use it tomorrow.

I'm sorry, but I've touched the R Debugger, but I don't understand the proper launch.json and test-project configuration at this time, and I can't decide if I should include the vscDebugger package in the Dockerfile.
Please let me exclude the addition of R Debugger from this PR.
(Please compare "r" with containers in other languages, e.g. "python-3", for the need to add launch.json.)

LGTM!

Thank you for merging !


Update for 2.0?

Description
Are there any plans for an update to Factorio2.0?
Reproduction
No response

Yes, I am actively working on it. However, the update to 2.0 is involving a complete rewrite of the mod, so it will take a bit longer.

This is one of my favourite mods. I can’t wait for the update! :)

I can't wait either. How's the progress going so far my dude?

thanks you for your works

Looking forward to using it to measure out spacing and seeing if I can use quality power poles for a certain task on a certain planet... (avoiding spoilers just in case).
I use so many of your mods and they are invaluable! Slightly off-topic, but having rate calculator updated when I started playing space age was a godsend. Thank you so much!

and in addition, it's more cool than "F5" key

Tapeline 3.0 has been released!

Finally! It’s been tough playing without this mod. Thank you, raiguard! 💙


Hot reload of Wasm artifact(s)

A quick tests I have done seems to indicate that Spin does not support hot reloading of Wasm artifacts. The use case would be to have a fleet of Spin "servers" with a remote file system mounted where the Wasm artifacts leave and an update to the app would be as simple as re-provisioning the artifact(s) on the shared volume. This works today if you restart the Spin process (it apparently does not hot reload the new file/version). I think this would be a very useful feature but I don't have a good feeling re if this is a "yeah we will get there" or a "this is just technically impossible with the current state of the art".
Thoughts? I personally think this would be a useful feature (in some circumstances, surely not if your updates require blue/green or canary etc).

There's some discussion of this in #148 - certainly something we're thinking about, but as your last paragraph notes it's something we need to approach carefully!
For now, we have a sample Node script that can restart if a file changes - see the spin script in https://github.com/fermyon/spin/blob/main/docs/package.json.

Thanks. Good to know. To be clear (and to check if I am understanding correctly), that issue is more for external files that are consumed by a Spin-ned application (not for a change of the Wasm module itself). However, the same technique can be applied to Wasm artifacts when they change. For now this is possible via an external application/process that runs and "watches" Wasm artifacts changes but possibly, in the future, it could/should be implemented as a feature flag in Spin that would be able to "auto-reload" when it detects a change.
Am I getting it right? Thanks for the super fast turn around BTW.

As you correctly point out, there are two types of files we could watch for changes:

WebAssembly modules (from the source field in the Spin component manifest) — we currently create a module from the source and create pre-instances at startup, i.e. we only read the .wasm file once, then, for each new request, we use the pre-instance to create the final instance that handles the request.
external static assets (from the files field in the Spin component manifest) — as @itowlson points out, at startup we copy all static assets in a temporary directory and mount the temporary directory. This means that, as observed in #148, changes in the current directory are not reflected in the Spin application until a restart.

Thinking about a solution that would hot-reload Wasm sources, this would somehow need to tie into the execution context instantiation workflow (which is currently executed when building the execution context):
https://github.com/fermyon/spin/blob/6d650ef75cddb93d6c46f876226b269d28ab769d/crates/engine/src/lib.rs#L119-L143\
Would a --reload (or similar) flag to spin up that watches for file changes and restarts Spin address this issue for you, even if not in the most performant way, for now?

Your first bullet points confuses me a bit because you are talking about the source folder but I thought what Spin cares about would be only the target folder containing the compiled artifacts.
Having that said, yes, a --watch or --reload parameter for spin up that would auto-reload what needs to be reloaded to serve a brand new version of the module transparently is what I was looking for. The flow I have in mind would be something like:

cargo build --target wasm32-wasi --release
spin up --listen <IP_ADDRESS>:3000 --reload
at this point you are serving the app
tweak the source of the Rust application
cargo build --target wasm32-wasi --release
at this point you are serving the new version of the app (without having to stop / restart the spin process)

Sorry for the confusion, I meant the source field in the Spin component manifest (spin.toml):
...
[[component]]
id = "hello"
source = "target/wasm32-wasi/release/spinhelloworld.wasm" # this is the `source` I was referring to

The workflow you are describing looks good to me!

Disclaimer: I know nothing about rust and your tutorial was the first time I ran a cargo something something so I am the last one that could comment on how to implement this. :)

Having an in-between bytecode layer allows you to build application architectures in rust that would not be possible when compiling directly to machine code. Hot reloading is a good example. Having the VM hold onto resources like tcp streams and file descriptors allows you to exchange the business logic without even breaking a tcp connection.

From (https://news.ycombinator.com/item?id=30875310)
:)

So wish this issue could advance.

Yes, a hot reload of spin would be great. I raised this in Discord and then discovered this issue already created. Changes to frontend are especially frequent (at least for me), and having to restart spin for every single change manually is inconvenient. Fermyon, please implement this, at least to do simple restarts on file changes.
As a workaround, I created this small script if anyone else wants to do something similar:
`#!/bin/sh
spin up --follow-all &
while inotifywait -qq -e modify ../client/dist; do
killall spin
spin up --follow-all &
done`

Just a quick FYI related to this issue: the --direct-mounts option to spin up allows you to modify static assets in-place and have your Spin app see the updates without restarting spin up.  That's useful if you're iterating on an SPA or something similar involving static content.  It's not a solution if you're iterating on the backend code, which is the point of true hot reload, but it at least addresses part of the problem.

Yes, this works, thank you! Sure it is only for front-end changes, but this is where I'm iterating most right now, so it's very helpful. Thanks again, you guys are amazingly responsive.

Just sharing a link to a prototype version of a spin watch command https://github.com/fermyon/spin/pull/1164

Closing now that #1237 has merged


Timelapse would randomly stop working

During a work session, the timelapse would seemingly at random stop taking more screenshots without any indication. May have to do with undos. Need further investigation.

Resolved in latest commit, major issue was that Blender's undo/redo essentially reloads the whole scene, so the properties that we use to keep track of the state of the timelapse, such as is_running and num_screenshots are changed upon undo and redo. Also rewrote the operator so that it is no longer a modal operator, the screenshots are simply taken in the timer function.


Argument resolver doesn't find matching arguments

The bug
Let's  suppose there are Api and FakeApi classes, where  FakeApi extends Api.
And I want Behat to create my context class with these constructor arguments:
class MyContext implements Context
{
    public __construct(Api $api, FakeApi $fakeApi) {}
}

In this case the following error will be reported:

[Behat\Testwork\Argument\Exception\UnknownParameterValueException]
Can not find a matching value for an argument $fakeApi of the method MyContext::__construct().

Explanation
That happens because MixedArgumentOrganiser try to find which parameter to assign by checking that the parameter is an instance of the argument. Since both the Api instance and FakeApi instance are instances of Api, argument resolver will associate these parameters with the $api argument.
Workaround
As a possible solution, I removed type hinting to make argument resolver work by argument numbers.

Thanks for reporting it.

Using the Symfony2Extension, the easiest way would be to name the parameters you're passing to the Context.
The issue in this case would be an easy* fix, by checking which one has a more direct relationship to each argument (for example, using get_class to check if FakeApi is equal, where Api would fail, or by climbing the inheritance chain to find which service is the closest relative).
* I say easy, because it then becomes tricky when you have two arguments which ask for the same interface -- implemented by two different classes -- to be injected.  It is also tricky when you have two arguments which request different interfaces, and each service candidate satisfies both interfaces.
I've had a toy around with this and in this case where you're asking for FakeApi which is a child of Api, it can be solved by adding a new method to MixedArgumentOrganiser like prepareTypehintedArguments similar to the other methods, and then iterating each argument and matching the best fitting candidate. I'll make a PR as a POC shortly as I've walked in to the same issue as this…

@everzet @elvetemedve delay in making the PR due extenuating circumstances, but I have created it here: behat/behat#1028
That should resolve the issue for your case, at least. Before it is merged, it will need unit tests adding in, but I had no luck in getting them successfully on a fresh copy of master, so I have left it as it is as a POC, just in case it does not get merged / approved.


Add global keyboard shortcuts

shortcuts which are always accessible to interact with the daemon

this should not be part of this repo. Instead something like this could be done inside a separate application which uses the zentime-rs lib to communicate with a zentime server (e.g. written in Tauri)


Parallel automatic differentiation

Is there currently a way of performing automatic differentiatio in parallel?
Something like the following would be amazing:
#include <stan/math.hpp>

int main() {

    stan::math::var result = 0;
    stan::math::var x = 3;

    #pragma omp declare reduction (+ : stan::math::var : omp_out += omp_in )
    #pragma omp parallel reduction(+ : result) shared(x)
    for (int i = 0; i < 10; i++) {
        result += x * x;
    }

    std::cout << result.val() << std::endl;
    result.grad();
    std::cout << x.adj() << std::endl;

    return 0;
}

But unfortunately, this fails with
*** Error in `./simple': free(): invalid next size (fast): 0x00007faa380008c0 ***
zsh: segmentation fault (core dumped)  ./simple

while the single-threaded version works.

No, the code has two serious race conditions on the global expression graph.
But, if we could somehow factor the expression graph into independent subexpressions, we could build up in parallel and then lock on integration and we could evaluate the chain rule ("backprop") in parallel, too.
It's on our radar, but we probably won't get to it for years unless we get someone eager to dive into the C++ who understands cross-platform parallel coding (C++11 would help a bit, I think).
We have much more hope that we can parallelize our matrix operations under the hood for parallelism speedups --- that's where much of the work is in complex models.
I'm trying to keep the issues to concrete tasks, not long-term to-do lists, so I'm going to close this issue.  I added a note to our long-term to-do list:  https://github.com/stan-dev/stan/wiki/Longer-Term-To-Do-List

Thanks for the detailed response.
Parallelizing reverse mode differentiation seems to be significantly more difficult than I thought.


Review of DC2_Coadd_Run1.1p_Butler_Access_HSC_selection.ipynb

Overall very clear and well documented
Very minor comments:
Expand all acronyms, even if it seems repetitive, for those just getting started who may not be familiar (DRP, HSC, etc...)
skymap = butler.get('deepCoadd_skyMap') could use a little more explanation in the preceding comment, say a bit about what it stores about the tracts and patches as it's a little vague currently.

This is addressed in #213 so I think it can be closed.


Add aliases for some job options

The build failure is probably not related to this PR, but I'm poking at it.  bundle succeeds for me locally using Bundler 1.10.6 and Travis is on 1.7.6 (?!), so I guess Something Changed Somewhere with the webmachine spec.

Yeah, I guess that was a Travis thing.  master passes.


gopass recipients doesn't display recipients in stores

First of all, thanks for gopass and the recent updates in version 1.9.0! 😃
Unless I'm using it in the wrong way, I might have found a regression:
Summary
gopass help recipients claims "This command displays all existing recipients for all mounted stores.", but gopass 1.9.0 doesn't actually display them to me anymore.
Steps To Reproduce
Preparation:
mkdir priv; gopass init --store priv --path `pwd`/priv
mkdir team; gopass init --store team --path `pwd`/team
gopass recipients add --store team dominik.schulz

Using gopass 1.9.0 (fd53119c353b4cee01b582bb40d7ba3f9a7a8ade) go1.14.2 linux amd64,
gopass recipients

only gives me:
gopass
├── priv (…/priv)
└── team (…/team)

Expected behavior
Using gopass 1.8.6 (2020-02-29 13:42:01) go1.14 linux amd64,
gopass recipients

gives me:
gopass
├── priv (…/priv)
│   └── 0xAC641D56A2A0F2CA - Manfred Hanke<EMAIL_ADDRESS>└── team (…/team)
    ├── 0xAC641D56A2A0F2CA - Manfred Hanke<EMAIL_ADDRESS>    └── 0xD31FA054C85AEFAC - Dominik Schulz<EMAIL_ADDRESS>
Environment

OS: Manjaro Linux

OS version:
Linux 5.6.8-1-MANJARO #1 SMP PREEMPT Wed Apr 29 19:05:17 UTC 2020 x86_64 GNU/Linux`

gopass Version:

previous:gopass 1.8.6 (2020-02-29 13:42:01) go1.14 linux amd64
<root>     - gpg 2.2.20 - git 2.26.2 -   fs 0.1.0
Available Crypto Backends: gpgcli, openpgp, plain, xc
Available RCS Backends: gitcli, noop
Available Storage Backends: fs, inmem

new:gopass 1.9.0 (fd53119c353b4cee01b582bb40d7ba3f9a7a8ade) go1.14.2 linux amd64
<root>     - gpg 2.2.20 - git 2.26.2 -   fs 0.1.0
Available Crypto Backends: gpgcli, plain, xc
Available RCS Backends: gitcli, noop
Available Storage Backends: fs, inmem

Installation method:

1.8.6: pacman -S gopass
1.9.0: https://github.com/gopasspw/gopass/releases/download/v1.9.0/gopass-1.9.0-linux-amd64.tar.gz

Thank you for reporting this issue.
Indeed, displaying recipients for sub-stores seems to be broken in the current master.
Recipients for the root store are still shown for me.


Describe the feature
Thanks for a beautiful addon.
The only thing I'm truly missing is the ability to sort the categories into meta-categories that'd retain sorting functionality within themselves. That way I could put my Gear categories together, and keep them together.
It kind of works a bit like that with the subtypes and sorting alphabetically, but since the names are so long, they're often cut short.
As an added bonus, if one could optionally put some kind of visual divider between the meta-categories, that'd just be swell! Like a line or a bar between my "Gear" meta-category and my "Season 4" meta-category.
Describe the implementation
Being able to drag and drop categories into meta-categories. Optionally, being able to turn off and on the feature, and off and on any visual dividers.

Meta categories will eventually present itself as break out windows and/or tabs. You can now manually sort sections however, and keep your gear together, in the new Configure Categories menu.


lengthen the dq timer for uno

people said the new timer is too short, lengthened it

please merge to master NOT learnmove


Package request: emojione-picker

Issue description
URL: https://github.com/gentakojima/emojione-picker-ubuntu
As per their instructions, they currently use a .deb for installation.

interesting, I think this application predates gtk having an emoji picker.
Not sure if it's right for inclusion in nixpkgs, last commit was a while ago.

Fair enough. For context, I'm currently on KDE, which appears not to have one built-in.

still important to me

Currently cannot use KDE emoji picker because this ticket is open: https://github.com/NixOS/nixpkgs/issues/99678
Was surprised not to have emojione picker as failover

Ibus itself has an emoji picker so you can enable ibus and then use ctrl-shift-e.

This is great, thanks! I had no idea.


Icon name does not exist

When playing with _nav.js, I noticed that most of the icons do not work out of the box.
CIcon component: icon name 'cil3d' does not exist in React.icons object. To use icons by 'name' prop you need to make them available globally by adding them to React.icons object. CIcon component docs: https://coreui.io/react/docs/components/CIcon

Examples include:
{
    _tag: 'CSidebarNavItem',
    name: "Test1",
    to: "/test1",
    icon: <CIcon name="cil-face-dead" customClasses="c-sidebar-nav-icon"/>,
  },
  {
    _tag: 'CSidebarNavItem',
    name: "test2",
    to: "/test2",
    icon: <CIcon name="cil-gradient" customClasses="c-sidebar-nav-icon"/>,
  },
  {
      _tag: 'CSidebarNavItem',
      name: "test3",
      to: "/test3",
      icon: "cil-apple"
  },
  {
    _tag: 'CSidebarNavDropdown',
    name: "test4",
    route: "/test4",
    icon: 'cil-3d',
  }

None of these seemed to work for the sidebar. I attempted to write out all the names of the icons via:
// views/icons/brands/Brands.js

export const getIconsView = iconset => {
  return Object.entries(iconset).map(([name, value]) => {
    console.log(name) // <------------------------------------------ printing out all the icon names
    return (
      <CCol className="mb-5" xs="6" sm="4" md="3" xl="2" key={name}>
        <CIcon content={value} size="2xl"/>
        <div>{toKebabCase(name)}</div>
      </CCol>
    )
  })
}

And its seems to be present, with the same names. What is going on here?

I too experienced this frustrating issue that is not documented. Apparently, not all of the free icons are set globally to React.icons. To see where this is accomplished, see this line in src/index.js:
React.icons = icons
You can add any icons you need to the import in the src/assets/icons/index.js:
import {     cilApple,     cil3d,     cilGradient } from '@coreui/icons' export const icons = Object.assign({}, {     cilApple,     cil3d,     cilGradient })
After that, you should be able to use the icons by name.
The answers here could be useful as well:
https://stackoverflow.com/questions/62840344/coreui-icon-doesnt-appear-in-my-react-js-app


Dispatch events to parent when can't swipe to a direction

Hi!
I am using your app with a ViewPager, and I would like to swipe the viewpager to the left, and swipe to dismiss list items to the right, but currently, both touch events are consumed. Although that the item isn't swiped to the left (because I set it to not), the ViewPager doesn't respond to swipe events. Could you fix this please?
Thanks.
All the best

Hi again!
I modified myself the version 0.7.2 of the library to fix this because my app needed fix for this as I'm using Google Now Launcher like card dismiss with two swipe-able tabs. I don't have skills enough to submit a proper pull request for now, so I'm posting here the code I modified to make this enhancement working.
Here's the code:
In swipeable/RecyclerViewSwipeManager.java I added the following method:
private boolean isSwipeAllowed(RecyclerView.ViewHolder holder, int itemPosition, MotionEvent e) {
        int swipeDirection = mAdapter.getSwipeReactionType(holder, itemPosition, Math.round(e.getX()), Math.round(e.getY()));
        if (swipeDirection == REACTION_CAN_SWIPE_BOTH) return true;
        float xMoved = e.getX() - e.getHistoricalX(0);
        if (xMoved > 0f && SwipeReactionUtils.canSwipeRight(swipeDirection)) return true;
        else if (xMoved < 0f && SwipeReactionUtils.canSwipeLeft(swipeDirection)) return true;
        else if (xMoved == 0f) {
            Log.wtf(TAG, "moved with no move??");
            return true;
        } else return false;
    }

I call this method in the same class, in method private boolean handleActionMoveWhileNotSwiping(RecyclerView rv, MotionEvent e).
Just above this few lines of code at the end of the method:
if (LOCAL_LOGD) {
    Log.d(TAG, "swiping started");
}

startSwiping(rv, e, holder, itemPosition);

I added
if (!isSwipeAllowed(holder, itemPosition, e)) return false;

I also realized that Switch swiping wasn't working properly because RecyclerViewSwipeManager intercepted all touch events, even if a swipe-able widget is touched. So I added the code to prevent touch interception when onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) is called.
To do so, still in the same class, I added a member variable:
private boolean mDisallowIntercept = false;

and I used it in the callback methods defined in the constructor:
public RecyclerViewSwipeManager() {
        mInternalUseOnItemTouchListener = new RecyclerView.OnItemTouchListener() {
            @Override
            public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                if (mDisallowIntercept) {
                    Log.wtf(TAG, new RuntimeException("onInterceptTouchEvent not allowed"));
                    return false;
                }
                return RecyclerViewSwipeManager.this.onInterceptTouchEvent(rv, e);
            }

            @Override
            public void onTouchEvent(RecyclerView rv, MotionEvent e) {
                if (mDisallowIntercept) {
                    Log.wtf(TAG, new RuntimeException("onTouchEvent not allowed"));
                }
                RecyclerViewSwipeManager.this.onTouchEvent(rv, e);
            }

            @Override
            public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
                mDisallowIntercept = disallowIntercept;
            }
        };
        mItemSlideAnimator = new ItemSlidingAnimator();
        mVelocityTracker = VelocityTracker.obtain();
    }

It then allows me to disable item dismiss when I get touch action down on my swipe-able View (Switch in this case) and enable it again on touch action up.
I hope my work will help you, and will help developers using your library :wink:.
Please, let me know when you release this enhancement so I use your version again.
All the best!

Can't you include my code in the next release?

Hi. Sorry for the late reply :disappointed: I'm going to include this enhancement in the next release.

Hi. I have just published v0.8.0 and it includes a new demo "Swipeable with ViewPager", but it is implemented by a different approach.
First, I have introduced some new flags which can control how swipe starts.

REACTION_MASK_START_SWIPE_LEFT
REACTION_MASK_START_SWIPE_RIGHT
REACTION_MASK_START_SWIPE_UP
REACTION_MASK_START_SWIPE_DOWN

:point_right: If these flags are specified, swipe does not start if finger moves to the direction.

REACTION_START_SWIPE_ON_LONG_PRESS

:point_right: If this flag is specified, swipe starts on long press.
If you want to permit swipe LEFT only and do not want to consume touch event other directions, specify as follows;
REACTION_CAN_SWIPE_LEFT |
REACTION_MASK_START_SWIPE_RIGHT |
REACTION_MASK_START_SWIPE_UP |
REACTION_MASK_START_SWIPE_DOWN

However, it requires one more trick to work with ViewPager properly.
<ViewPager>
    <RecyclerView>
        <!-- list items -->
    </RecyclerView>
</ViewPager>

When a RecyclerView is placed in a ViewPager, the order of onInterceptTouchEvent() method call is;

ViewPager
RecyclerView

Then, we need to avoid the ViewPager consumes touch event if user swipes to LEFT direction. I made a custom view PagerSwipeItemFrameLayout which can control return value of the canScrollHorizontally() method.
<ViewPager>
    <RecyclerView>
        <!-- list items -->
        <PagerSwipeItemFrameLayout />
        <PagerSwipeItemFrameLayout />
        <PagerSwipeItemFrameLayout />
         ...
    </RecyclerView>
</ViewPager>

class PagerSwipeItemFrameLayout extends FrameLayout {
    ...
    @Override
    public boolean canScrollHorizontally(int direction) {
        if (mCanSwipeLeft && direction > 0) {
            // return true to avoid view pager consume swipe left (= scroll right) touch events
            return true;
        }
        if (mCanSwipeRight && direction < 0) {
            // return true to avoid view pager consume swipe right (= scroll left) touch events
            return true;
        }

        return false;
    }
   ...
}

Please check the implementation) fore more details.
Thanks.

Thank you very much! I'm going to leave my workaround version I showed above to get this new, awesome version! You rocks! The new GridLayout version is also very good! Just some more animations to make drag n drop smoother, and it will be perfect (or very close :) ). It could be used in a Launcher for example (I think RecyclerView could improve performance on low-end devices and prevent some launcher redraws)


Cannot find module 'semver'.

With eslint 1.4.13 on VS Code 1.26.1 (and 1.27 insiders), I'm seeing the error: Activating extension 'dbaeumer.vscode-eslint' failed: Cannot find module 'semver'. Seems to happen in all workspaces

Sorry for that. I published 1.4.14 which fixes this.


Group list_route with viewset base path

I have PhotosViewSet with list and list_route upload action.
I would like it to see under same 'photos' group in the docs.

What i am doing wrong? Is it supported?
for method in self.get_allowed_methods(callback):
    key = self.get_key(path, method, callback)

in SchemaGenerator get_key seems to not take 'list route' actions into account.

@marcgibbons I have done this: (with the invaluable help of @cyncyncyn), doing a class that extends from OpenAPIRenderer and writing our own add_customizations method, I think I can export this and alphabetically order (#512) in a way that works on this project with a setting or something, let me know if you would like to have a PR or if it's done now

@vladimirnani The grouping of URLs is done outside this project. The grouping (known as tags in Swagger) is converted from CoreAPI document links, and is generated by Django REST Framework.
This his how the encoder works from CoreAPI to OpenAPI formats:
https://github.com/core-api/python-openapi-codec/blob/master/openapi_codec/encode.py#L25
I'd be interested in knowing how your endpoints are grouped as CoreJSON - we can identify if this is a DRF thing, or something on the OpenAPI codec.
@angvp Saw your message. I'm about to release some basic SwaggerUI customizations (i.e. sorting, etc.) which ship out of the box with Swagger for v2.0.4. The more "schema" based overrides I think are best if they are upstream (i.e. in DRF / CoreAPI documents)

@marcgibbons Ok, so tagging is not following a good logic IMO, is just taking the last part of the url, instead of the first part, and it uses that as a "tag".
I've tried to understand the logic of python-openapi-codec and DRF and I gave up after failing at several attempts, so I just did this in OpenAPIRenderer.
Also naming of the methods it's just awful, and it's "corrected" in a way that works better for my purposes..
You can use the code below @vladimirnani while we wait @tomchristie's input on this issue (though he wasn't aware of it until this mention)
from rest_framework_swagger.renderers import OpenAPIRenderer

class MyAPIRenderer(OpenAPIRenderer):
    API_BASE_PATH = getattr(settings, 'API_BASE_PATH', '/api/v1/')
    APP_HOSTNAME = getattr(settings, 'APP_HOSTNAME', '')

def _get_url_splitted(self, url):
    splitted_url = url.replace(self.API_BASE_PATH, '').split('/')

    url_parts = [
        x for x in splitted_url
        if '{' not in x
    ]
    return filter(None, url_parts)

def add_customizations(self, data, renderer_context):
    super(MyAPIRenderer, self).add_customizations(data,
                                                  renderer_context)
    data['host'] = self.APP_HOSTNAME # not yet sure if you fixed this on 2.0.4
    tags = []
    for url, values in data['paths'].iteritems():
        methods = values.keys()
        for method in methods:
            splitted_url = self._get_url_splitted(url)
            data['paths'][url][method]['tags'] = [splitted_url[0], ]
            _operation_id = "{}_{}".format(method, '_'.join(splitted_url))

            data['paths'][url][method]['operationId'] = _operation_id
            if splitted_url[0] not in tags:
                tags.append(splitted_url[0])
    # sort alphabetically before 2.0.4
    # data['tags'] = [{'name': x} for x in sorted(tags)]

And then use this class instead OpenAPIRenderer on the decorators of schema_view

@angvp host and sorting are now released in 2.0.4.
As for the overrides, this doesn't belong here. The CoreAPI is generated in the schema generator and is grouped here: https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/schemas.py#L187.
I think what's needed here is to remove anything from the path that is common to all the patterns (i.e. /api/v1/) before grouping. Otherwise, /api/ could potentially be considered a category / tag.

@marcgibbons right, it seems that all list_route are considered "new tags" while detail_route is grouped correctly. Ok will try to play around with schema.

@vladimirnani Can you confirm against 3.4.4. Believe this was resolved in https://github.com/tomchristie/django-rest-framework/pull/4394

@tomchristie I am using 3.4.4 and still doesn't work, even without the ugly hack on add_customizations ^ (which btw grew up a little bit more cause some endpoints were from ListCreateAPIView were returning a list with just post method -and not get method-).

even without the ugly hack on add_customizations

Do you mean add_categories? That briefly existed in master, but I don't think it's any release.
The get_key you reference in the opening comment exists in 3.4.3.
In 3.4.4 we use get_action and get_category. Note that we do also have a test case for exactly this issue in 3.4.4: https://github.com/tomchristie/django-rest-framework/blob/3.4.4/tests/test_schemas.py#L95

even without the ugly hack on add_customizations
Do you mean add_categories? That briefly existed in master, but I don't think it's any release.

@tomchristie Oh, sorry for the confusion, when I said add_customizations I was referring to the one that I wrote for achieving this (see 4th comment on the thread).
And with 3.4.3 the get_category method is still producing this issue .. I will try to create a sample project similar that the one that I have in order to see where's the issue and how to improve all the projects.

And with 3.4.3 the get_category method is still producing this issue

Presume you meant 3.4.4 here, right?

I will try to create a sample project similar that the one that I have in order to see where's the issue and how to improve all the projects.

That's great thanks. If you're able to replicate the issue in the existing test suite that'd certainly drive resolution of this forward.

@tomchristie 3.4.4 resolved, all list_routes are grouped. Thanks!!!

Ehh not for me.
Please do not close this @marcgibbons .
This is how it should be seen.

And I get that splitted like this:

Is that the intended behaviour @tomchristie ? because that kind of grouping to me seems wrong.

@angvp - I don't think the style you're showing there is not how the default routers/viewsets would generate the URLs?
Normally I'd expect to see, this...
/check/{pk}/disk/
/check/{pk}/mem/

I do believe that we may still have some improvements to make for correctly generating tags against plain views and URLs, but believe that we'd still be generating the second style, rather than the first. (No clear way from that URL style to determine exactly which of the two you'd be expecting)
You may want to customize the get_category method on your SchemaGenerator class in order to get the behavior you want.

@tomchristie I don't use routers/viewsets but using generics .. when you go to /category/subcategory you get a list of subcategory I don't want to use /subcategory directly and it seems wrong to me to don't support subcategories on APIs is common than I thought, so maybe we should move this issue directly to DRF then.

Do that yup. It'll likely be a case of us providing explicit ways to get the layout you want when the default case isn't quite right, but either way we'll need to make that possible/easier.


[feature] I think the notifications's css can be custom

In the term, the style can changed by edit ~/.hyperterm.js. but the notifications can not. I think it can add this feature

OS X doesn't support this. This is not something hypeterm can control.

This isn't possible. Unless you mean the notifications implemented inside the Hyper window, styling them is accessible by classes such as notifications_view. Closing since there's no way to implement if you meant the native ones ✌


Enrich image detail logs with title, provider for usage feedback purposes

Not necessary now that we have analytics/usage data.


Tweak Retroarch config for audio latency

I experienced some pops and clicks in Super Mario 64 game that went away with this setting (previously set at 64ms). This shouldn't create any side effects at all.

Fixes #110


updated readme re: editors and viewers map

@karnthis I've updated the readMe following our discussion today. I've looked at this document extensively but please notify me if you need extra information or a correction on anything and I'll look into it.
@TheMarstonConnell Please merge this PR once @karnthis has approved.
Thank you.

For when you need @karnthis approval don't even request my review in case I miss it and approve it before him :)

This is fine for now. The document as a whole needs a rewrite, but that will have to wait for all stakeholders to have time to collaborate.
LGTM


Master issue: Extend testing suite with performance tests

After Jason Shuff's talk today, we should step up our QA game. I'm uncertain what all the changes should be, or how even begin to implement them, so this is a list that everyone should feel free to contribute to.

[ ] load testing
[ ] stress testing
[ ] capacity testing
[ ] config testing
[ ] benchmarking

We'll need better definitions to sub-step all of the above, so we should probably get in touch with Jason and figure out both (a) what this entails and (b) how to implement it.

This seems like it's more of a deployment issue, since the hosting environments for our app could differ depending on the user. Given how difficult working with our current hosting provider is, I'm going to close this due to infeasibility.


budget for livescript interfaces

Hi All
I am following your changes and not sure that you are going to create interfaces.
People around me has concern about it and do not use livescript
How many money needs to implement it?
Maybe the livescript community include me can help with it?
By the way, I had trouble with gravipay. It doesn't allow my cards

What do you mean by interfaces?

Like this http://blogs.msdn.com/b/typescript/archive/2013/01/24/interfaces-walkthrough.aspx


Switch from Kflow to use plain Postgres instead

Implement buffer to get a sliding window of metrics,
prefer dropping older metrics over newer ones.
Add basic docker-compose for Postgres/Grafana testing/verification

system_monitor is published as a hex.pm package. We should decide how to handle that.

Yes we should


Benchmark

Bechmarking binary loads a timetable and runs random queries

TODO

[ ] add start coord/station and end coord/station to run a single query between the two
[ ] print command to re-run slowest query of finished benchmark run

setting start and dest coord still needs fix


Check that client state is zeroed out for ibc client upgrade proposals

Description

closes: #291

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[x] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[x] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[x] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Codecov Report

Merging #1529 (6d8f3d5) into main (9680cb9) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #1529   +/-   ##
=======================================
  Coverage   80.29%   80.30%
=======================================
  Files         166      166
  Lines       12304    12307    +3
=======================================
+ Hits         9880     9883    +3
  Misses       1959     1959
  Partials      465      465

Impacted Files
Coverage Δ

modules/core/02-client/types/proposal.go
87.01% <100.00%> (+0.52%)
:arrow_up:

Closing in favour of #1676


Crashes using custom sodium build from FlashyReese

Fabric API: 0.23.0+build.410-1.16
Fabric: 0.10.1+build.209
FlashyReese Sodium Build: 0.1.0
ImmersivePortals: 0.36
MC crashes before the window can appear.
crash-2020-10-09_20.49.07-client.txt

Use this https://github.com/qouteall/sodium-fabric/releases/tag/ipc1161_1

The reason I used FlashyReese's version was because the build you linked says "(Merged with FlashyReese's 1.16.2 sodium fork)"


TiCDC should support  updating  the configuration of a failed changefeed

Is your feature request related to a problem?

the changefeed failed due to the wrong configuration.
the customer can't update this Changefeed's configuration and has to recreate a new one.

Describe the feature you'd like
Since the changefeed is in the failed status , the configuration is able to be modified . It's more user-friendly to update and resume a changefeed than to recreate a new one .
Describe alternatives you've considered
No response
Teachability, Documentation, Adoption, Migration Strategy
No response

/lable area/ticdc

/close

https://github.com/pingcap/tiflow/issues/8478


feat(v2): auto-generated sidebars, frontmatter-less sites

Motivation
Fixes https://github.com/facebook/docusaurus/issues/3464
Good description of this PR here: https://github.com/facebook/docusaurus/issues/3464#issuecomment-818670449

Make it easy to create a site without any sidebar, and infer the sidebar from the FS structure
Make it easy to have no frontmatter at all, and derive good metadata from FS naming conventions (file number prefixes)

Breaking changes:

A site without sidebars file will now autogenerate a sidebar automatically from the docs folder. Use an empty sidebars file if you want no sidebar at all.
By default, we strip numbers in front of folders/filenames, as numbers prefixes are often used to provide docs order:  this could have unintended side-effects if you have existing docs starting with numbers.

Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
tests, preview, dogfooding

Generating sidebar automatically is a good function. I suggest that when generating sidebar automatically, the system can add filtering rules to filter out some files (such as readme. md

By default, we strip numbers in front of folders/filenames, as numbers prefixes are often used to provide docs order:  this could have unintended side-effects if you have existing docs starting with numbers.

(emphasis mine) @slorber That is very true for us 😄. We have a numbered tutorial like this:

01-intro
02-build-ui
03-fetch-data
etc.

The files keep working as 01-intro.md but URLs are suddenly without these numbers, leading to 404s 🙁.
Any way to work around this?

@borekb not sure to understand why you want the numbers in the URLs?
In any case, you should be able to use a custom slug to add these numbers back, or simply disable the feature with numberPrefixParser: false in the docs plugin/preset config

It's just how it was, the tutorial part of our docs site used numbers in the URLs. Thanks for the tip with numberPrefixParser!


Add test case for IoUtil

Code classes that need to develop unit tests:

cn.hippo4j.common.toolkit.IoUtil

Please refer to the manual for the first contribution: guide
Unit test development refers to the following two examples:

cn.hippo4j.core.executor.DynamicThreadPoolExecutorTest
cn.hippo4j.core.executor.ExtensibleThreadPoolExecutorTest

please assign to me.

@shuhai65 Welcome


Additional embed sources and external-media consent controls

Supersedes https://github.com/bluesky-social/social-app/pull/2353 by:

Updating routing
Tuning UIs in the consent settings and modal
Simplifying copy for the consent settings
Adding an "allow all media embeds" button in the consent modal

Inherited from the original PR:
implements https://github.com/bluesky-social/social-app/issues/2314
fixes https://github.com/bluesky-social/social-app/issues/2338
fixes https://github.com/bluesky-social/social-app/issues/2386
fixes https://github.com/bluesky-social/social-app/issues/2357
Fixing:

Twitch clips embeds
Twitch video embeds
YouTube mobile embeds
International spotify embeds
Adjust aspect ratio for YT shorts

Adding:

Vimeo
Apple Music
Tenor
Giphy
Consent modal
Per-service consent setting

iOS: https://www.youtube.com/watch?v=ediW57z0Yt0
Android: https://www.youtube.com/watch?v=nLG8jTO3bhg
Web Mobile: https://www.youtube.com/watch?v=dVDMGMg3lTU
Web: https://www.youtube.com/watch?v=c2J3voPma5k
Consent:
https://github.com/bluesky-social/social-app/assets/1270099/a1b93a97-143d-41b1-827a-c02e56a32c33
https://github.com/bluesky-social/social-app/assets/1270099/7f1ad004-8820-4f40-af41-633d2c602e7f
Remove react-native-youtube-iframe
This isn't necessary. We can reliably use the WebView on native, and it's actually better performing. The library was interacting with the YT embed JS api, which we don't need.
Gifs
Displaying
Tenor and Giphy use a different player. Since we can rely on these images to not have audio and not be resource intensive, we do not need to remove them from the view once loaded. They will also maintain aspect ratio so we don't need to worry about jumping as we scroll away from them.
We don't want to load external assets before the user opts to do so. Therefore:

Thumbnail that was uploaded to bsky is shown first.
User presses play on a gif
The gif is prefetched. While prefetching, ActivityIndicator is overlayed on the thumbnail
After prefetch, the gif is displayed
User can press the gif to control playback. We don't actually remove the gif to stop playback, but rather let expo-image control the playback of the gif

In an effort to keep these as non-intrusive as possible to the view, gifs are capped at a height of 250px
Posting
Usually, tenor or giphy will give a share link that is a direct link to a gif, like so: https://media.giphy.com/media/tXL4FHPSnVJ0A/giphy.gif. This is the link that we want to use to render the image in the Image component. However, this link does not let us fetch the metadata and thumbnail.
However, we know that the ID for the gif is tXL4FHPSnVJ0A. Therefore, we can rewrite the url to be https://giphy.com/gifs/tXL4FHPSnVJ0A and giphy will resolve that to the correct link, in this case https://giphy.com/gifs/kim-novak-tXL4FHPSnVJ0A.
Therefore, we add a little workaround to link-meta.ts when we request the metadata.
    const giphyMetaUri = getGiphyMetaUri(urlp)
    if (giphyMetaUri) {
      url = giphyMetaUri
      urlp = new URL(url)
    }

Unfortunately with Tenor, we cannot (as far as I have been able to tell, and @mozzius supposedly had the same issues) reliably do this with Tenor. Since we must obtain metadata, we only support embedding links to the actual tenor website such as https://tenor.com/view/thankful-thursday-gif-17785223204185977462. We can then append .gif to that url to get the gif for displaying in the Image component. Note though here that the ID has changed, so we cannot reverse this process to get metadata.
On one hand, updating (what I'm assuming you know as CardyB? lmao) to support some sort of gif images thing would be....a possibility. Actually, a very simple one from the looks of it. However, in an effort to still maintain some level of alt text for gifs, I don't think this is the best idea. The meta data serves as a fair form of alt text.
URLs supported (Giphy links can be shared as any of the different file names such as giphy-downsized.gif, giphy.webp, giphy.mp4, etc and we will always use the webp):

https://tenor.com/view/some-link-to-gif
https://tenor.com/view/some-link-to-gif.gif
https://giphy.com/gifs/some-link-to-gif-3234
https://giphy.com/gifs/23010402
https://i.giphy.com/1030202.gif
https://i.giphy.com/media/3020340.gif
https://media.giphy.com/media/204023.gif
https://media0-4.giphy.com/media/304230.gif

Downsizing
Regardless of the type of link provided, we always will use webp when possible. Any giphy type (gif, webp, or mp4) will use the .webp version of the image. These appear to be sub 2MB in almost all cases.
Player
expo-image supports pausing/playing a gif natively. We can use this functionality easily, and don't need to bother replacing images with thumbnails or anything else.

No longer needed canvas hack
On web, things are a bit trickier. There are a few options that we have:

Don't support pause/play. This isn't very nice since it doesn't keep parity with the native app
Replace the animated image with the thumbnail when paused. This isn't a great option because some thumbnails are not the same dimensions as their respective gifs. Therefore, on every pause/play the layout would have to change. There is the option of using contentFit="contain", but we still run into issues with some placeholders and trying to maintain the same dimensions as the gif, but this is still subpar since there are differences sometimes such as background color (not transparent in the thumbnail, instead shows up as white), widths being different, etc.
Use the still image provided by Giphy. This is an excellent choice! But naturally, Tenor doesn't support this 🙃

The solution then is to use a canvas. I've created a small component, WebGifStill
  const canvasRef = React.useRef<HTMLCanvasElement>(null)
  React.useEffect(() => {
    // Create a new image and draw it to the canvas. This draws only the first frame of the gif or webp
    const img = new Image()
    img.onload = () => {
      canvasRef.current
        ?.getContext('2d')
        ?.drawImage(img, 0, 0, imageDims.width, imageDims.height)
    }
    img.src = source
  }, [source, imageDims])

  return (
    <canvas ref={canvasRef} height={imageDims.height} width={imageDims.width} />
  )

We leave this still behind the playing image to 1. to act as the "stopped" gif and 2. prevent flickers when rendering/removing the gif from the view (to simulate stop/play). Drawing the image to the canvas renders only the first frame of the image which is just what we want. Additionally, this does not create an additional request for the image.
I've tested this against both WEBP and GIFs on Edge, Chrome, Firefox, and Safari on desktop, Safari and Chrome on iOS, and Chrome and Firefox on Android. All of these browsers support this. See Canvas Browser Compatibility

https://github.com/bluesky-social/social-app/pull/2379 blocks this PR right now. I had implemented a canvas hack where we could draw an image, but this will be unnecessary once web thumb resizing is fixed 🎉 Now, all we have to do to "pause" the gif on web is to just replace the gif with the thumb.
Consent

Added external embed options to the local storage schema
Updated the legacy schema with these options
Added a useState and useSetState context in external-embeds-prefs.tsx
Added the screen and updated navigation types
Added button to the settings main screen to take you to a list of external embeds
Handled updating state logic inside of the screen
Created a modal component and updated the modal types so we can use useModalControls()

Cleanup 🧹
Tidied up embed-player.ts and the types there. It was getting a bit messy and had a bunch of details we didn't actually need.

As a side note, zod experience is fleeting. The way I did the schema (with all the .optional()) was the only way I could get it to not wipe previous settings store, but there might be an easier way to do it.

No yeah that's the move there. Old objects wont have that key


feat(sdk): default contracts portal l1 contracts

In case we use the devnet network, when initing the OptimismPortal by using SDK, these contracts in portal.contracts.l1.<contract_name> are undefined.
Because we are looping addresses.l1 to get the contract name, and value, then override these contracts by opts
Ref: https://github.com/tokamak-network/tokamak-thanos/blob/main/packages/tokamak/sdk/src/utils/contracts.ts#L253
Example:
const optimismPortal = new thanosSDK.Portals({
    l1ChainId,
    l2ChainId,
    l1SignerOrProvider: l1Wallet,
    l2SignerOrProvider: l2Wallet,
    contracts: {
      l1: {
        AddressManager: '0xA8f606cE44B7E688Ed61a703264A22931A8fdf22',
        L1CrossDomainMessenger: '0x374f7c5D6dDbAcf5c2F403B5Bfd8461585fd0841',
        L1StandardBridge: '0xE720f60538fdAEfEdb4DB00266021b45ffF02b04',
        OptimismPortal: '0x309972363B4EA329982A3CD9193e300b6d4eC0A7',
        L2OutputOracle: '0x453e9c42AfB81CAb455b5aC1CD855061fb14B829'
      }
    }
  })

console.log(`L1StandardBridge address: ${optimismPortal.contracts.l1.L1StandardBridge`)
// L1StandardBridge address: undefined

=> I use the existing function getAllOEContracts and remove the redundant function: getPortalsContracts

Thank you for your opinion, Nam
I think in context of Portal, we only need OptimismPortal and L2OutputOracle to init.

Just in case I want to deposit the native token by using onApproveAndCall function, via L1StandardBridge. And use OptimismPortal to check the status of this transaction.
What do you think about that case @nguyenzung @ohbyeongmin

Just in case I want to deposit the native token by using onApproveAndCall function, via L1StandardBridge. And use OptimismPortal to check the status of this transaction.
What do you think about that case @nguyenzung @ohbyeongmin
const approveTx = await l2NativeTokenContractInL1.approveAndCall(
    optimismPortal.contracts.l1.L1StandardBridge.address, // need to put the L1StandardBridge address here
    depositAmount,
    depositData
  )
  const approveTxReceipt = await approveTx.wait()
  console.log(`Approve and call transaction: ${approveTxReceipt.transactionHash}`)

  const relayTxHash = await optimismPortal.waitingDepositTransactionRelayed(
    approveTxReceipt,
    {}
  )
  if (!relayTxHash) {
    throw new Error("Relay tx hash empty")
  }

In this case, I think we only need deposit Transaction Hash.

Just in case I want to deposit the native token by using onApproveAndCall function, via L1StandardBridge. And use OptimismPortal to check the status of this transaction.
What do you think about that case @nguyenzung @ohbyeongmin
const approveTx = await l2NativeTokenContractInL1.approveAndCall(
    optimismPortal.contracts.l1.L1StandardBridge.address, // need to put the L1StandardBridge address here
    depositAmount,
    depositData
  )
  const approveTxReceipt = await approveTx.wait()
  console.log(`Approve and call transaction: ${approveTxReceipt.transactionHash}`)

  const relayTxHash = await optimismPortal.waitingDepositTransactionRelayed(
    approveTxReceipt,
    {}
  )
  if (!relayTxHash) {
    throw new Error("Relay tx hash empty")
  }

CrossChainMessenger has the address L1StandardBridge. code link
What do you think?

Just in case I want to deposit the native token by using onApproveAndCall function, via L1StandardBridge. And use OptimismPortal to check the status of this transaction.
What do you think about that case @nguyenzung @ohbyeongmin
const approveTx = await l2NativeTokenContractInL1.approveAndCall(
    optimismPortal.contracts.l1.L1StandardBridge.address, // need to put the L1StandardBridge address here
    depositAmount,
    depositData
  )
  const approveTxReceipt = await approveTx.wait()
  console.log(`Approve and call transaction: ${approveTxReceipt.transactionHash}`)

  const relayTxHash = await optimismPortal.waitingDepositTransactionRelayed(
    approveTxReceipt,
    {}
  )
  if (!relayTxHash) {
    throw new Error("Relay tx hash empty")
  }

In this case, I think we only need deposit Transaction Hash.

But we must have the L1StandardBridge to approve TON via this address 😄 Just in case we only init Portal instance, not have CrossDomainMessenger instance.
@nguyenzung @ohbyeongmin

I am sorry, I think my explanation was short. Basically, Portal supports:

waitingDepositTransactionRelayedUsingL1Tx(depositHash)
calculateRelayedDepositTxID

It means we can init Portal with OptimismPortal and L2OutputOracle addresses and it works for any deposit transaction Hash even if we make transaction with L1StandardBridge or L1CrossDomainMessenger. Right now, it supports for one deposit event for one deposit transaction

I know it, but maybe misunderstanding here:
For example, I want to deposit TON via L1StandardBridge contract directly by using approveAndCall function => I must have L1StandardBridge address for approving TON.
I can init the CrossDomainMessenger instance and get the L1StandardBridge address => This is a normal way
But in my code, there is an existing Portal instance. How can I get the L1StandardBridge?

I am sorry, I think my explanation was short. Basically, Portal supports:

waitingDepositTransactionRelayedUsingL1Tx(depositHash)
calculateRelayedDepositTxID

It means we can init Portal with OptimismPortal and L2OutputOracle addresses and it works for any deposit transaction Hash even if we make transaction with L1StandardBridge or L1CrossDomainMessenger. Right now, it supports for one deposit event for one deposit transaction

I know it, but maybe we have a misunderstanding here:
For example, I want to deposit TON via L1StandardBridge contract directly by using approveAndCall function => I must have L1StandardBridge address for approving TON.
I can init the CrossDomainMessenger instance and get the L1StandardBridge address => This is a normal way But in my code, there is an existing Portal instance. How can I get the L1StandardBridge without initing a CrossDomainMessenger instance?

Oh, I am sorry. I understood in another way.
In my personal opinion, Portal 's SDK does not need to know other addresses like StandardBridge, CDM. Actually, we can make more contracts like StandardBridge or CDM.

So I think I'll close this PR


[Bug]: Compiler cannot determine whether all possible cases have been covered in a match statement

Description
Consider the following scneario:
enum TimeSpan {
    DAILY, WEEKLY, MONTHLY
}

function timespanToFunction(TimeSpan span) returns string {
    match span {
        DAILY => {
            return "startofday";
        }
        WEEKLY => {
            return "startofweek";
        }
        MONTHLY => {
            return "startofmonth";
        }
    }
    // <1> complains about function not returning a result.
}

Shouldn't the compiler be able to detect that the flow will never reach point <1>?
Steps to Reproduce
No response
Affected Version(s)
2201.2.3
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Duplicate of https://github.com/ballerina-platform/ballerina-lang/issues/28869.


Redis backend

As most of us are aware, redis is just another K-V store. I was wondering if adding a redis backend to cayley would help people to make use of their already existing K-V infrastructure. I've already started working on it and will send a PR soon. I'm interested in knowing if there are concerns around this (as an idea).

Most people use redis as a in-memory cache layer. In this case, the size of the graph is essentially limited by the size of available memory. In addition, Redis's AOF/BGSAVE method of persistence is shakey at best. So I'm not sure what the value proposition is.

Can you expand "shakey" please? While i have not experienced myself i
recently heard Josiah Carlson on SE radio episode 209 about redis and they
were quite satisfied with the persistence options although thats not the
main focus for redis.
On Jan 3, 2015 7:22 PM, "Yutong Zhao"<EMAIL_ADDRESS>wrote:

Most people use redis as a in-memory cache layer. In this case, the size
of the graph is essentially limited by the size of available memory. In
addition, Redis's AOF/BGSAVE method of persistence is shakey at best. So
I'm not sure what the value proposition is.
—
Reply to this email directly or view it on GitHub
https://github.com/google/cayley/issues/193#issuecomment-68602196.

AOFs with anything other than fsync at every query is generally not considered reliable enough for anything mission critical. I wouldn't trust using Redis to do AOF saves every second (the default policy).  And If you're saving on every query, then you might as well as just use a DB where you're not limited by memory space.
Related: Redis also doesn't have any "easy" transactional guarantees so if your AOF dies in between an all-or-nothing set of queries, you've got to deal with corruption. Yes, hacking LUA/abusing pipelines are good alternatives, but they are not the most fun things to work with.

@proteneer  I was wondering, Doesn't most of the mainstream NoSQL (like Mongo, Rethink) stores make use of BGSAVE? I was under the impression that it was the triumph card that makes them faster, as they tradeoff durability for performance.

Wouldn't Redis be useful to cache a computationally expensive graph traversal and invalidate if edges that are updated in the traversal are added/deleted?

Another approach to this will be making use of Redis Graph

Backend support was moved to a separate project.

This issue is now tracked here


Remove conditional use of bouncy castle

TUF code requires Bouncy Castle in all jdk versions
Signed-off-by: Patrick Flynn<EMAIL_ADDRESS>

Just wondering: can tuf be located in its own module?
E.g.:

tuf
fulcio-client
rekor-client
verifier
...

I think it could be eventually. Currently it's very much a sigstore specific implementation.

I have no objection to breaking them out as modules. I'm not in any personal rush to do it. :)

Well, I see what you mean.
On the other hand, it might be useful to have "offline-no-dependency-verifier" module :)

Oh do you mean an offline signature verification mode?
On Mon, Sep 12, 2022 at 8:50 AM Vladimir Sitnikov @.***>
wrote:

I have no objection to breaking them out as modules. I'm not in any
personal rush to do it. :)
Well, I see what you mean.
On the other hand, it might be useful to have
"offline-no-dependency-verifier" module :)
—
Reply to this email directly, view it on GitHub
https://github.com/sigstore/sigstore-java/pull/144#issuecomment-1243694096,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB37SHJHGU4V7QNMFSWEY33V54RI3ANCNFSM6AAAAAAQKMSDCM
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Oh do you mean an offline signature verification mode?

Exactly.
If I understand it right, offline signature verification can do without many third-party dependencies, and a "small" Java library might be helpful for the users to perform the verification.

I guess it depends on the use-case and just how off-line we want to be.  I think we want verification to not generate any rekor traffic by default, but that still requires parsing and verifying the signing bundle and tuf metadata.  It'd be a really good idea to specify an offline flow but that will be a lot easier to do after the new bundle spec lands and after we've added the TUF root data to the rekor entry.


Investigate PodDisruptionBudget

These are a way to specify details about how much the scheduler can disrupt a running application.  We should evaluate whether need to specify this for neonKUBE services.
https://kubernetes.io/docs/tasks/run-application/configure-pdb/

CLOSING: Kubernetes has deprecated and removed PodDisruptionBudget for more recent versions.


instancetype: Move PreferredCPUTopology to a string pointer

What this PR does / why we need it:
This moves the PreferredCPUTopology field in preferences to a string
pointer to make applying a default value easier.
It also makes the existing validating preference webhook a mutating webhook
and introduces defaulting of the PreferredCPUTopology field.
Special notes for your reviewer:
Merge after https://github.com/kubevirt/kubevirt/pull/9575
Release note:

None

/hold

/retest-required

/cc
/area instancetype

/unhold

/lgtm

/lgtm

/approve

/test pull-kubevirt-e2e-k8s-1.25-sig-performance


Apply phpcs fixes.

What does this PR do? :robot:
Applies phpcs fixes.
Any background context you would like to provide? :construction:
No functionality has been changed in this PR.

Codecov Report
Attention: Patch coverage is 90.90909% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 92.28%. Comparing base (f0b3129) to head (87ac388).

Files
Patch %
Lines

src/Models/Merchant.php
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##                1.x      #55   +/-   ##
=========================================
  Coverage     92.28%   92.28%
  Complexity      182      182
=========================================
  Files            21       21
  Lines           635      635
=========================================
  Hits            586      586
  Misses           49       49

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


window titles not updated with status right

window titles in  w, not updated with status right.
when i ssh into a server, the hostname in status right changes to server ip, but window titles in w keep the same.
and exit,  the hostname in status right changes back to hostname.

Hello @dfang 👋
It really depends on your setup.
For instance, you can edit your ~/.tmux.conf.local copy and add set -gw allow-rename which will allow the running program to rename the window using terminal escape sequences.
Depending on how your shell is configured, this will allow to rename the window to the target hostname. It seems Oh My Zsh does that.

I apply this solution with Oh My Zsh and now windows titles are correctly set when ssh'ing remote hosts. Thanks for the suggestion!


Typo

@bravo-kernel Can you please re-post it to develop as commit with commentClose #159`? Thanks

I have changed the base branch using new Github feature :heart:  Could you please use "the merge as 1 commit" option to squash the commits? I used the online editor so I don't have the repo at hand atm.

Should be good to merge now


Questions regarding undocumented YML properties and terminology

Thanks for fixing the documentation links to the cluster conf samples.
in this conf (https://github.com/Netflix/dynomite/blob/dev/conf/redis_dc1.yml)
the following three properties are not documented in the README.md
and they do not appear in all conf files.
  datastore_connections: 3
  local_peer_connections: 3
  remote_peer_connections: 3

I also saw configurations that have:
  dyn_port: not documented

Also, trying to figure out how to run dynomite:
lets say this is my configuration:
https://github.com/Netflix/dynomite/wiki/Getting+Started#c-two-nodes-cluster-in-two-datacenters-each-having-one-rack
Now, can you please clarify as per the architecture document

What is a Node - (is it a process running on a seperate machine , or can multiple nodes run on the same machine)
Rack / Datacenter - is it a logical grouping only?

Thus, Is it correct to say that we need to run a dynomite for every node?
thus racks / datacenters only exist per the configuration and are created
by spawning the nodes?
To recap:
Having 3 data centers
2 racks per data center,
each rack having 5 nodes.
We need to run dynomite: (3 * 2 * 5 ) = 30 times (once per every node) ?
Would this be correct?

I have the same exact question! Will someone please answer this? What are those:
datastore_connections: 3
local_peer_connections: 3
remote_peer_connections: 3

Thank you!!

its been a year and no one bother to answer 👎

I'm no expert, but I've been using Dynomite for a few months. I think this wiki page outlines the topology and answers most of your questions:
https://github.com/Netflix/dynomite/wiki/Topology
Yes,  I think 1 dynomite per redis instance.
I've never used the 3 connection configs before in my 2-3 node/rack setups. Some are discussed here: https://github.com/Netflix/dynomite/issues/368

PR for adding documentation:
https://github.com/Netflix/dynomite/pull/684


Error on installation (incompatible module)

I've closely followed the installation instructions (on a Kali 2017.2) but encountered the following issue:
# yarn install
yarn install v1.3.2
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=6.9.2".
error Found incompatible module

I guess this is rather an issue with my system and yarn itself, but I wasn't sure so I thought it may be wort submitting.

As the error message says, just upgrade your node to version >=6.9.2.


Custom License Text

While most of the time using just SPDX license identifier would be enough for model uploaders, sometimes a model itself or main library that it uses, might need extra custom license lines.
So I wonder if it's a good idea to add an optional field like extra_license to the model specs to include custom license.
Also, it is worth to mention, on hugging face, there are models that when the user clicks on the source tab, a popup will appear asking for the user agreement with a custom license lines. Maybe a boolean must_agree field would cover that too.

I'm not sure why this would need to be a separate field.
Couldn't we just allow for license: "custom" and then require a LICENSE file to be attached (=listed under attachments)?
Just a side node for this discussion: We have to manually archive such resource descriptions as zenodo does support custom licenses, but does not allow creating deposits with custom licesnes through their API -- one has to use the web UI.

Just took another look at zenodo docs licenses/#custom
-- Zenodo expectes a title and allows for an optional description and an optional link.
We could specify a custom license as license: {"title": <custom title>, "source": <relative path or URL to a '.md' or '.txt' file>} (not using attachments to avoid mapping conflicts in case we deal with multiple licenses, also see zenodo docs licenses/#mixed.
From that we can extract the title and always have the file inside the record as well... the content of which could be inserted to description (although it might exceed some character limit... ?) and/or linked to if given as URL. This would be optional for us and as we have to do it by hand we should probably just leave those blank.
If I'm not mistaken we can programmatically upload a deposit without license and then edit it in their web UI (logged in as the bioimageiobot).
As file extensions, github docs mention .txt, .md and .rst... not sure we need to support all three? maybe .txt and .md are sufficient for now. We deal with .md files already anyway (documentation). If requested it'd be easy to add .rst in the future.

Nice! I didn't know that Zenodo can accept a custom license.
I think having a custom license with title and a link to a txt or md file would serve the purpose.

great! To implement this we should add a CustomLicense class to https://github.com/bioimage-io/spec-bioimage-io/blob/main/bioimageio/spec/generic/v0_3.py
and add it to the Union of the license field: https://github.com/bioimage-io/spec-bioimage-io/blob/e77a24d95eeddce13bb3fa8490c59954090e3655/bioimageio/spec/generic/v0_3.py#L236-L249
The implementation will look like this:
class CustomLicense(Node):
    title: NotEmpty[str]
    source: ImportantSourceFile

The added CustomLicense should be imported in the derived resource descriptions, e.g. model.v0_5 and notebook.v0_3... where the generic v0_3 license field is inherited.
@bioimage-io/spec-dev Happy to review any PRs on this. Otherwise I'll probably implement it in 2025.


Rename packages

Consider adding the words "gradle", "common", "architecture" to the packages.

This is needed in all the subprojects. Code completion is a bit confusing now with everything mixed up.


getting garbage values on serial monitor

I tried interfacing HLW8O32 with ESP32 but I was not getting the output in expected format. It was clearly GARBAGE values. And what we could conclude that the SearlReadLoop() function was not executing. Can anyone please help me with this.

When I was debugging, I found that if(SerialTemps[1] != 0x5A) jumped out when the program was executed to this step.
After reading the documentation, it seems that the register is not detected.


rendering: migrate sky sphere

this migrates on the the more annoying bits of this whole endeavor. this creates a sphere is that pretty much the same as the original display list type sphere.  probably should work out the details of how we want to deal with meshes going forward. The sky sphere should look the same with this PR. This object is a bit off to the side so I wonder what could be done to unify a clear API.
requires PR: https://github.com/Terasology/CoreRendering/pull/54

 OpenGL migrations

Am I supposed to see these lines and the central point where they meet?
I never noticed that before, so I'm wondering if that's expected.

Am I supposed to see these lines and the central point where they meet?
I never noticed that before, so I'm wondering if that's expected.

its in the other skybox as well before this change I believe. I think there is just a seam in the texture

here is an image from develop.

This currently fails for me with the following error:
20:45:06.738 [Chunk-Processing-Reactor] ERROR o.t.e.w.c.p.ChunkProcessingPipeline - Reactor thread was interrupted
java.lang.InterruptedException: null
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2056)
	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2090)
	at java.base/java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:546)
	at java.base/java.util.concurrent.ExecutorCompletionService.take(ExecutorCompletionService.java:200)
	at org.terasology.engine.world.chunks.pipeline.ChunkProcessingPipeline.chunkTaskHandler(ChunkProcessingPipeline.java:104)
	at java.base/java.lang.Thread.run(Thread.java:829)


add Alerts for various situations

Using Mechanical Advantage's Alert class which displays on Shuffleboard, add alerts for the following additional scenarios:

no joystick(s)
no xBox controller
no control panel (button/switch panel)
low battery
FMS connected

(These are the alerts that Spectrum creates. Refer to their 2022 code for examples.)

not going to implement low battery and FMS connected


Support batchMode option in plugins

It controlls, whether execCmd transforms one file at a time or multiple as a batch.

As we discussed - it should be not a boolean variable, but some int. Instead batchMode we should have 'batchSize = '

Also support batch separator (, ; / space,e.t.c)

Do not forget to change warningsInputPattern and add fileNameCaptureGroup to warn plugin


[staging] perlPackages: update

Motivation for this change
update perlPackages.* to the latest CPAN versions
built on x86_64-linux and aarch64-linux
Things done

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

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

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

perlPackages.Gtk3 (and perlPackages.Gtk3SimpleList) fails to build due to mesa-20.0.8(?) failing.

I built everything successfully.
There could be some impurity in mesa build code

Meanwhile, perl 5.32.0 is released and perl 5.28.x is EOL.
I think we should wait a little (maybe before 5.32.1) before pushing perl from 5.30.x to 5.32.x, to give library authors time to adopt new version. And there is perl-cross which is not ready for 5.32.x

I think we should wait a little (maybe until 5.32.1) with [..]

Agree. (Although the new chained comparisons look pretty cool)


Add Rack Statuses doc

Release Playbook

[ ] Rebase against master
[ ] Code review
[ ] Merge into master
[ ] Verify changes at http://site-staging.convox.com
[ ] Promote release on site-production in the convox/production Rack

@mattmanning ready for another look

@mwarkentin Great feedback, thanks. I added another sentence to the converging section to mention how to check for apps that are still updating.
We are going to add another doc specifically about app statuses and are working on getting more of the ECS info into convox logs. I think those efforts will provide more of the information you're looking for.

:+1:


Alignment of release binaries platforms

What is the problem you're trying to solve
The current release process only produces binaries for amd64 linux and osx. Align release with multi arch binaries in #39
Describe the solution you'd like
Update goreleaser to account for additional binary targets

Attempted to solve this on my fork HERE, the amd64 build works flawlessly, but my arm64 build is failing to find the binary when copying into the container during container build.

Propose building and pushing:

[ ] binaries:

[ ] Linux:

[ ] arm64
[ ] amd64
[ ] s390x
[ ] ppc64le

[ ] Darwin:

[ ] arm64
[ ] amd64

[ ] Windows:

[ ] amd64

[ ] Containers:

[ ] Linux:

[ ] arm64
[ ] amd64

[ ] SBOM
[ ] Checksum artifacts


Use AbstractSerDe instead of SerDe in Import / Export Services

With the release of Hive 2.3.0, the SerDe interface has been removed.
https://issues.apache.org/jira/browse/HIVE-15167

@morazow did you in the meantime test it manually (since we don't have automated integration tests)? Then I would merge this.

Hey @andrehacker ,
Yes, manually I have tested it several times when doing spark exasol connector tests
Not to forget about integration tests we can open a follow up issue. It would be good to look into it again when time allows.

Perfect - thank you!


Stamp Level : Data Role High CPU Detector

Request dropped detector and Petr/Lawrence's stamp level dashboard make this work less important


Documentation:  Make sure Reference page is ready for release 0.1.0

Please select a category the issue is focused on?
No response
Let us know where something needs a refresh or put your idea here!
Sense check and make sure format is ok. Does anything else need to be added?

should convert_* functions appear under "utility"? worth looking into


feature request: make options for specific ports in list

Hello!
I use Synth to build and update the ports on my host system as well as building ports from a list for my jails.
I'm using the same profile for this (and therefore the same make file). I generally don't need a different profile / make file for the different jails and this way it is very easy to automate via cron for me ('portsnap cron update && ezjail-admin update -P && env TERM=dumb synth just-build /usr/local/etc/
synth/LiveSystem-JailPorts.txt && env TERM=dumb synth prepare-system`).
However, there are certain ports which I would like to build with different dependencies (e.g. build www/h2o with openssl-devel instead of libressl).
It would be great (if even possible) to be able to set port specific make options, e.g.:
databases/mariadb102-server
databases/mariadb102-client
devel/py-pip@py27
devel/py-pip@py36
lang/go
lang/php71
lang/php71-extensions
www/h2o DEFAULT_VERSIONS+= ssl=openssl-devel
www/uwsgi@py36

This is my LiveSystem-make.conf:
#MAKE_JOBS_UNSAFE=yes
DEFAULT_VERSIONS= mysql=10.2m
DEFAULT_VERSIONS+= ssl=libressl
#DEFAULT_VERSIONS+= ssl=openssl-devel
#DEFAULT_VERSIONS+= ssl=openssl
DEFAULT_VERSIONS+= php=7.1
#DEFAULT_VERSIONS+= php=7.0
DEFAULT_VERSIONS+= python=3.6

And additionally: It would be great to be able to comment out jails in the list:
#lang/python2
lang/python3

you can't mix openssl selections (they conflict; they can't be installed together). The only way is with a different profile to create a separate repository.  It's a freebsd-ports-collection limitation.
Specific port options can be set through [profile]-make.conf (a per-profile setting).  Obviously that would be static.

as for commenting out lists, I could I would suggest piping the list through sed, e.g. "s/#/d", producing either stdout or a temporarily list.

That's what I kind of guessed but I hoped there would be a way around having multiple repositories (with all the associated things).
About commenting out: That would work, right.
Might be something worth adding anyway.
Thanks!

for openssl, you just have to choose.
We have libressl as the default for dports, and we lost about 20-25 ports because those require openssl or otherwise don't build on libressl.  However, the DEFAULT_VERSIONS setting can switch it back to openssl.  I build both (openssl for port updates, libressl for distribution).  The only way it works is two separate repositories.  It's the same for any setting where there is a default and options (e.g. mysql, postgresql, etc) ...

If I create a new profile for this (build ports with different SSL versions) – is it sufficient to just change the Packages directory for this profile and keep all the other configurations the same?

pretty much, yes.  Obviously you'd have a unique [profile]-make.conf too.

yes, that much I realized.
Thanks!

Is there any chance to get "ignore obsolete ports" option during build process? I have cron driven update process scheduled at nighttime and often need to start build process manually when I see "obsolete ports detected and nothing rebuilt" message. If synth simply skips ports with obsolete options, most of the ports will be rebuilt at time when update is scheduled.
Now it can be somewhat continuous process to build everything that need to be updated (especially if gcc and/or clang need to be recompiled) in time when it is not desired to make excessive cpu resources pressure.


Fix CHANGELOG dependencies section and update dependabot

The dependabot changelog helper did not previously work with newlines between sections. This has been fixed in v2.2, which is the version currently pointed to by the v2 tag.
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #6048 (ea4b43e) into main (67e3b19) will increase coverage by 0.07%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #6048      +/-   ##
============================================
+ Coverage     70.73%   70.81%   +0.07%
- Complexity    58714    58768      +54
============================================
  Files          4774     4774
  Lines        280921   280921
  Branches      40584    40584
============================================
+ Hits         198712   198923     +211
+ Misses        65915    65638     -277
- Partials      16294    16360      +66

Impacted Files
Coverage Δ

...g/opensearch/index/analysis/CharFilterFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...search/indices/recovery/RecoveryTargetHandler.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/opensearch/action/NoSuchNodeException.java
0.00% <0.00%> (-50.00%)
:arrow_down:

...cluster/coordination/PendingClusterStateStats.java
20.00% <0.00%> (-48.00%)
:arrow_down:

...pensearch/indices/breaker/CircuitBreakerStats.java
27.77% <0.00%> (-41.67%)
:arrow_down:

...ensearch/client/indices/DetailAnalyzeResponse.java
20.54% <0.00%> (-34.25%)
:arrow_down:

...search/search/aggregations/pipeline/EwmaModel.java
24.44% <0.00%> (-33.34%)
:arrow_down:

...min/cluster/snapshots/get/GetSnapshotsRequest.java
52.63% <0.00%> (-31.58%)
:arrow_down:

...rch/client/transport/NoNodeAvailableException.java
42.85% <0.00%> (-28.58%)
:arrow_down:

...opensearch/snapshots/SnapshotRestoreException.java
25.00% <0.00%> (-25.00%)
:arrow_down:

... and 475 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Merged, lmk if some permissions need to change/backport.


Encode spaces in URL path

Describe the bug
Sometimes the query string is not encoded and it comes spaces within, for instance: "https://example.org/find?q=foo bar baz". Therefore a DDG search is made, instead of opening the site directly.
Expected behavior
Be able to detect if the string matches some url pattern, and if so, replace those spaces with %20 string, in order to go to specific url.
Smartphone (please complete the following information):

DDG App Version: 5.87.0
OS: Android

Could you share what's the scenario where this is happening? Are you manually introducing the URL or something similar? Thanks.

It could be any application who opens the default browser after tapping a link/photo/whatever.
As an example, my specific scenario was the Kore (remote for Kodi) app, who contains IMDB info about the cast. If you tap any actor, it opens your browser, looking for the name in imdb.com directly.
Yeah, in Kore they could encode the url as they should, but this use case it's likely exists in more apps

Closing the issue as we haven't been able to address it and we haven't seen enough feedback to prioritize it.

Haven't you able to open an external link with spaces? For instance, a wikipedia article served from apps who does not encode the urls, for instance: "https://en.wikipedia.org/wiki/Medina del Campo"
As you can see the url is bad parsed, but if you c&p the whole link the application should be able to replace such blank spaces with %20 characters. As simple as that.


Consider switches in admittance matrix creation for powerflow

Currently, closed switches are not considered for powerflow calculation. This should happen in GridModel#composeAdmittanceMatrix, probably with infinite admittance for the connections bridged by switches (check if this works!)

Will be solved with #474 instead, which is the better solution


Merge release 0.25 to main

[ ] I added CHANGELOG entry for this change.
[X] Change is not relevant to the end user.

Changes
Merging release-0.25 back into main, per the release process.

Seems like it's not included since it's a different branch than just release-0.25. Could you make sure to eventually rebase this branch on top of the release-0.25? That'd be fantastic. Thanks!

This should be fine now, please re-review @thanos-io/thanos-maintainers, thank you :pray:

@matej-g DCO seems missing aside failing e2e tests.

@matej-g DCO seems missing aside failing e2e tests.

E2E tests seem fine, I'm not sure what's the issue with the DCO though? Both of the commits it complains about are signed.

On 3 of the 4 commits I can see the signoff comment. On this last one I cannot see it: https://github.com/thanos-io/thanos/pull/5210/commits/a4f68c5c500bfdcb20a083126990d81187c19123
Here's the DCO docs to fix it:

Ensure you have a local copy of your branch by checking out the pull request locally via command line.
In your local branch, run: git rebase HEAD~4 --signoff
Force push your changes to overwrite the branch: git push --force-with-lease origin merge-release-0.25-to-main

On 3 of the 4 commits I can see the signoff comment. On this last one I cannot see it: a4f68c5

Does the merge commit needs to be signed as well? I haven't seen DCO complain about it before in other PRs. The summary actually says:
Commit sha: [e3b989a](https://github.com/thanos-io/thanos/pull/5210/commits/e3b989ac26f38de0606a35df649d6cc8c7172ef7), Author: Matej Gera, Committer: GitHub; Expected "Matej Gera [38492574+matej-g@users.noreply.github.com](mailto:38492574+matej-g@users.noreply.github.com)", but got "Matej Gera [matejgera@gmail.com](mailto:matejgera@gmail.com)".
Commit sha: [22a8872](https://github.com/thanos-io/thanos/pull/5210/commits/22a8872de8d8e0362381c2420aef005db2411cd7), Author: Matej Gera, Committer: GitHub; Expected "Matej Gera [38492574+matej-g@users.noreply.github.com](mailto:38492574+matej-g@users.noreply.github.com)", but got "Matej Gera [matejgera@gmail.com](mailto:matejgera@gmail.com)".

It looks like this has been issue with previous release merge PRs as well (https://github.com/thanos-io/thanos/pull/5018#issuecomment-1003610106, https://github.com/thanos-io/thanos/pull/5017#issuecomment-1003345938). I can try signing that merge commit, but failing that I'd suggest confirming DCO manually again.

As discussed on Slack too, we want to merge this even with the DCO bot being broken, as all commits are actually signed off. I'm going ahead.


update djinni version

Codecov Report
Patch and project coverage have no change.

Comparison is base (13e38c0) 100.00% compared to head (b221e9b) 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #35   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           13        13
=========================================
  Hits            13        13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Implement "Wizard" installation

We have 2 modes of installation - Advanced and Wizard. In Advanced mode each component can be installed/uninstalled separately. In Wizard mode user can choose Installation type (RH, RH+client, MH, Client only) and Installation version (prod, stage, dev). LAter - number of processor cores and RAM size.,
Based on settings chosen and software installed we need to create download list and install all what must be installed for those settings

Done


feat(Threads): API v9, add rest support for Threads

This PR

Adds thread related events in ws\constants.ts.
Adds thread related properties in structures\Guild.ts and src\util\Constants.ts.
Adds thread related methods in src\Client.ts and rest\Endpoints.ts.
Changes API v8 to API v9 in rest\RESTClient.ts

Notes:

src\util\Constants.ts is outdated and needs to be updated in another PR.
This PR was mostly based from https://github.com/discord/discord-api-docs/pull/2855.

There have been a couple of changes since that PR as well, did you go through relevant doc commits after that as well?

There have been a couple of changes since that PR as well, did you go through relevant doc commits after that as well?

I took into consideration the link I put in the PR description and the discord documentation which should be updated
I don't think I missed things, but tell me if I did

Apart from the naming, do we have anything else to change for API v9?
I also want to highlight this is rest only for threads (which is fine for this PR).


connector: add go_template based connector

type should be go_template
TODO: add more details

Decided to introduce a concept called transforms t achieve this.

Refer https://scriptnull.github.io/waymond/docs/connectors/direct#configuration


Bug: Foreground Color stays on either green or red after finishing

Nice little script. Good for 'timetracking' in the HomeOffice. Thanks.
Have a small issue:
when the script finishes, the output color for further commands in this terminal window stays on green instead of reseting back to original color.
Adding 'tput sgr0' as the very last line in the script solved the issue for me. This resets the text format to the terminals default.
I'm quite sure there is a nicer way to do this (reseting only text color, for example) but it works for me.
Cheers

I never noticed this because my prompt (PS1) is set to "[\033[36m]\u[\033[m]@[\033[32m]\h:[\033[33;1m]\w[\033[m]$ " which sets the colour every time. The solution is to reset the colour with printf "\033[0m". Thank you for pointing it out.

Fixed with https://github.com/lesgrieve/lockunlock/commit/dc4c87c182300cac7d5b9164b91ef88138d23901

Thanks for the fix. Confirmed, works now. Definitely nicer than my hack.