Improve directory structure for Cava

The current directory structure for Cava has grown organically but now I think we should move to something more organized. Currently Cava files are split across three directories: cava (the core system but this also has some examples that serve as light regression tests), cava-examples (which has examples) and a nandgame directory (a Cava version of the nand game done by Ben Laurie in the nand directory). Here's a proposal for a better directory structure. Let's discuss and iterate until we come to something that we can agree upon. Here's the current state of the proposal (which we can edit as we
discuss).
Key points:

Move to having everything in a single cava directory, with examples nested underneath and a top level README.md that has a good overall explanation of the Cava project and which is well linked to examples, documentation etc.

To build the system should just require installation of pre-requisites and then typing make clean all or just make. Regression tests. could be run by make test (and perhaps automatically run as part of make all).

The CI system should make sure to track enough of the code under Cava.

Right now it is just a few us doing experimental evaluation but at some point we should have a way to incorporating contributed circuits and proofs by others e.g. into a contrib directory.

We need to think of where to put the code for the OpenTitan components and a process for using our generated circuits being incorporated into the OpenTitan flow.

A first cut at directory structure inside the cava directory:

Another directory called cava with contains a subdirectory Cava: the directory that contains the core Cava system and "standard" library circuits and proofs. Similar to a cleaned up version of the current cava directory, but with examples etc. removed. Also, this is where the current arrow code will end up (hopefully replacing the monadic version).
examples: The current cava-examples plus any examples we want to pick from the current cava directory. The examples will also act as tests and include a process for generating SystemVerilog and testbenches which are run and checked using Verilator.
opentitan: A directory that contains the components we are developing for OpenTitan.
contrib: A directory where we can accept contributions. We should seed this with one or two examples and a clear process for how to add circuits and write tests etc.
A Makefile at the top level which builds everything with rules for all and clean. Each sub-directory should also have a Makefile with all and clean rules for its components.

So from the top-level cava directory:
$ ls
cava contrib examples Makefile opentitan

The CI system should make sure to track enough of the code under Cava.

Can you clarify- are you just specifying CI should verify all code under cava, with other code a lower priority?

Right now it is just a few us doing experimental evaluation but at some point we should have a way to incorporating contributed circuits and proofs by others e.g. into a contrib directory.

Am I correct thinking this is for specifically circuit related contributions (rather than contributions to core cava which will be merged directly)?

So from the top-level cava directory:

How about a separate test and example directories, and merging contrib and opentitan into a circuit directory:
$ ls
cava circuits examples tests Makefile
$ ls circuits
contrib opentitan

I think CI should verify as much as we possible can, including the example and contrib circuits. That increases the chance of catching breaking changes.
Yes, contrib is for circuits that other people might want to make using Cava and have distributed with Cava, as well as proofs about circuits elsewhere in the repository.
OK: let's separate tests and examples. I've been conflicted about this and at first wanted to conflate them. But it is good to keep examples simple and clear, but tests are often noisy and detailed.
As for a circuits directory, do you think we will ever have directories other than contrib and opentitan in the next year? I worry about a directory containing only two other directories.

As for a circuits directory, do you think we will ever have directories other than contrib and opentitan in the next year? I worry about a directory containing only two other directories.

Thats a good point, perhaps just contrib and opentitan in the base directory.
For existing items not related to cava, are we explicitly deprecating them and removing them at this point?

The other stuff in the hardware-oak repository should stay for now. At some
point we should request a separate cava repository under oak.
On Thu, Apr 2, 2020, 6:13 AM Ben Blaxill<EMAIL_ADDRESS>wrote:

As for a circuits directory, do you think we will ever have directories
other than contrib and opentitan in the next year? I worry about a
directory containing only two other directories.
Thats a good point, perhaps just contrib and opentitan in the base
directory.
For existing items not related to cava, are we explicitly deprecating them
and removing them at this point?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/project-oak/oak-hardware/issues/41#issuecomment-607838622,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPA644UC42NQ73ZDDQDA23RKSFPLANCNFSM4LZR77SA
.

It might be better to have two different examples directories each with their own extraction scope:
arrow-examples monad-examples

I think we've now got to a much better organization.


Multiple index pages in the same folder

Note: This post is a copy-paste from soupault's mailing list on sourcehut. That list does not seem to be in use.

Is it possible to put multiple index pages in the same dir?
I prefer "flat" urls. For example, https:// domain.name/article-slug
I prefer to provide structure through index views.
So, https:// domain.name/blog (in sidebar) would list articles which have "blog" in their  list,
while  https:// domain.name/projects would list articles which have "project" in their  list.
From the above description, I would need to put each content page directly under site/ dir.
Also, I would need to have several index pages under site/ dir.
site
|---content-page1/{index.html, .leaf}
|---content-page2.html
|---index.html
|---index.2.html

I tried the above structure, but index.2.html got converted into build/index.2/index.html,
which loads a blank page in the browser.

Any lead on this?

Solved in https://github.com/PataphysicalSociety/soupault/issues/64.


Frank wip

Sorry, again, this happens when I open a PR from our repo. But I want to merge it back into the vantage6 repo, not this one...


User Queries

Add queries which allow a single user and many users to be requested.

 User Management

 User Management

Should support paging

 Newsletter Support


fix(kit): export AdapterUtils type

Before submitting the PR, please make sure you do the following
Export AdapterUtils from the root config type file for use in Adapters.
I am updating the Firebase adapter to the latest API and would like to utilise this AdapterUtils types internally.

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts

Thank you. Mind adding a changeset so we can release this?

Never used pnpm changeset, hopefully I did that correctly.

Never used pnpm changeset, hopefully I did that correctly.

I think you did it right! 🎉

Beautiful, thanks all! :pray:


[💡Feature Request] Api for Webull and TD, Moomoo

Describe the feature

WeBull and TD is definitely on our TODO👍. WeBull is already mentioned in #17, and TD is planned down the road. MooMoo might be up for debate, as it is not as widely used (at least as far as I know) compared to WeBull and TD.

Making this an issue for v0.2


-show and -show:animated not called

Hi
I was using your UIAlertController presentation approach when ran int problem:
When accessibility's Darken Colour's option is OFF I need to inherit window's tintColor, otherwise - use UIAlertController's default. So I added this code to show:animated method:
if ( !UIAccessibilityDarkerSystemColorsEnabled() )
{
    self.alertWindow.tintColor = delegate.window.tintColor;
}

The problem is - show and show:animated methods are not executed despite the alert is shown. Can it be somehow associated with ObjC runtime which is used to make associated property?

Sorry, not actual


Consider less stringent R version dependence.

The dependence on R version >= 3.4.0 means I cannot install this package at work. (We are stuck on R 3.2, and it's not going to change.) I have looked at the dependencies of pointblank, and none of them seem to require 3.4, although perhaps some of their dependencies do. I might suggest modifying the .travis.yml file to try builds on older releases as a test, c.f. R versions.

Thanks for raising this as an issue. I just reduced the R dependency in another package down to R >= 3.2.0 and I'll try to do the same here. I'll certainly perform checking against older releases via Travis, as well.

thanks. I sometimes find that trimws is the sticky wicket for pre-3.2 builds, requiring the backports package, though YMMV. Thanks again for the package, I look forward to testing it.

@shabbybanks thanks for the tip on trimws(), I removed all uses of that function and replaced with stringr::str_trim(). I reduced the R version number based on this function (found on SO, modified slightly here):
min_r_version <- function(pkg) {
  requireNamespace("tools")
  requireNamespace("utils")
  repo <- "https://cloud.r-project.org"
  avail <- utils::available.packages(utils::contrib.url(repo))
  deps <- tools::package_dependencies(pkg, db = avail, recursive = TRUE)
  pkgs <- deps[[1]]

  matches <- avail[ , "Package"] %in% pkgs
  pkg_list <- avail[matches, "Depends"]
  vers <- grep("^R$|^R \\(.*\\)$", pkg_list, value = TRUE)
  vers <- gsub("[^0-9.]", "", vers)
  if (length(vers) == 0)
    return("Not specified")

  max_ver = vers[1]
  if (length(vers) == 1)
    return(max_ver)

  for (v in 2:length(vers))
    if (utils::compareVersion(vers[v], max_ver) > 0)
      max_ver <- vers[v]

  max_ver
}

When I use it, I find that the pixiedust package has a min R requirement of 3.2.1. I dropped this package's requirement down to that for now.
@nutterb could pixiedust's min R version be reduced to 3.2?

I use trimws a lot, which was introduced in 3.2.0. I'd prefer not to change it (because I'm an opinionated curmudgeon), so that limits me to no lower than 3.2.0. if someone makes a good case for it, I can go lower.
I just changed my master and dev branches to 3.2.0

@nutterb That's great, thanks for changing! Definitely don't mean to suggest switching out trimws for anything else (just forgot when it was introduced in R).

@nutterb forgot to ask this but are you able to push a patch release of pixiedust with the lowered R requirement? Then, I could do the same just after that with pointblank and we could all service 3.2 R users.

it will probably be next week before I get it prepped, but I'll let you
know when it is submitted.
On Sep 9, 2017 17:10, "Richard Iannone"<EMAIL_ADDRESS>wrote:

@nutterb https://github.com/nutterb forgot to ask this but are you able
to push a patch release of pixiedust with the lowered R requirement?
Then, I could do the same just after that with pointblank and we could
all service 3.2 R users.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rich-iannone/pointblank/issues/9#issuecomment-328303647,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABw0fcN3q7BYqh1onX6ptGfU34Bv0-ruks5sgv67gaJpZM4PQGYN
.

Thanks! Really appreciate that.

@nutterb : I believe you can use trimws from the backports package, and thus roll the R version dependency back to 3.0. I'll fork and submit a PR. (I don't have a travis account to test, however.)

backports doesn't export trimws, which causes the checks to fail.  If I were to go back further than 3.2.0, I would prefer to copy the code of base::trimws into my source code and just not export it.

Just submitted pixiedust 0.8.1.  Should hear back later today.  My dependency is down to R 3.1.2, which is the version dplyr depends on.

cc: @shabbybanks @nutterb
Belated thanks for making this possible. The min R version is now 3.1.2. Also removed Java dependencies in the package.

Great! Thank you so much, will install and play!


Add ... --help to man suggestions

This is along the lines of what @waldyrious suggested in
https://github.com/nvbn/thefuck/issues/546, but it just adds a new
suggestion rather than replacing the other ones.

Coverage increased (+0.002%) to 93.094% when pulling 5dbbb3b1ed9b3eb7ac7ec3eb155f7ded3b6f348e on josephfrazier:man-help into db7dffdb44ae5c7be8de088765463fbda96197d1 on nvbn:master.

@josephfrazier thanks! What would this work like? Would one have to type "fuck" 3 times to get to the --help behavior?

When multiple suggestions are available, you can scroll between them using the up/down arrow keys. In this case, you'd type 'fuck', then press the up arrow key until you see the --help option.
However, after further experimentation, I learned that man searches all sections if you don't explicitly provide one in your command, so I'll probably update this pull request so that it doesn't suggest a section when there was none provided, as you had originally requested in #546.

Coverage increased (+0.03%) to 93.121% when pulling 8bd6c5da67e55c64257345efa4e3cc454c42475c on josephfrazier:man-help into db7dffdb44ae5c7be8de088765463fbda96197d1 on nvbn:master.

Coverage decreased (-3.1%) to 89.957% when pulling 94b46ea4326938402d09422474a8e7c842b5b44d on josephfrazier:man-help into db7dffdb44ae5c7be8de088765463fbda96197d1 on nvbn:master.

Coverage decreased (-3.1%) to 89.957% when pulling 494c9d98bc8abbea42898f275ca33689f89e956f on josephfrazier:man-help into db7dffdb44ae5c7be8de088765463fbda96197d1 on nvbn:master.

Coverage decreased (-3.0%) to 90.152% when pulling 0c84eefa55fc1b4bc4940b41d74568884344e35c on josephfrazier:man-help into ce6b82c92d78ae283cb3db001766b76f6647bc47 on nvbn:master.

Coverage increased (+0.03%) to 93.126% when pulling 7b12a89ef74f7d39386e75a2e7df19be26fa1b26 on josephfrazier:man-help into db7dffdb44ae5c7be8de088765463fbda96197d1 on nvbn:master.

Coverage increased (+0.03%) to 93.126% when pulling 7b12a89ef74f7d39386e75a2e7df19be26fa1b26 on josephfrazier:man-help into db7dffdb44ae5c7be8de088765463fbda96197d1 on nvbn:master.

Coverage increased (+0.007%) to 93.126% when pulling 0c84eefa55fc1b4bc4940b41d74568884344e35c on josephfrazier:man-help into ce6b82c92d78ae283cb3db001766b76f6647bc47 on nvbn:master.

Thanks!


pattgen V1 draft

Signed-off-by: alex sapozhnikov<EMAIL_ADDRESS>

Closing @senelson7  has taken over this


timers https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Timers.sol

Add timer
Timelock with timer

Timelock dapp
Receive(ctx,callid uint64,start uint64) error

Execute(ctx,callid uint64) error

closed as #17


Added Bayarka Academic Lyceum Harmony.

Domain for G Suite for Education: harmony.ukr.edu
Lyceum main site: gymnasium-boyarka.in.ua (different due to few renames in past 10 years)

@Hephest Pull request merged. Thank you!


Disable Inflector default features

Removes regex and lazy_static from dependency tree.
Adds support for Result enum.

I don't think translating Result<T, E> to E is appropriate here.
Maybe we could split this into 2 PRs, one for the default features and one for Result?

@NyxCode
Updated. Sorry.


SystemC fails to build with clang 8 & libc++ 8

SystemC version
2.3.3
platform, compiler, flags
2.1. platform: Linux - Ubuntu 18.04.4 LTS
2.2. compiler: clang 8 + libc++ 8
2.3. flags: see point 4
description of the problem
SystemC fails to build with clang 8 and libc++ 8 due to an incorrect include of experimental/string_view in sc_string_view.h
Note that experimental/string_view is not support anymore form libc++ 7 and onwards
steps to reproduce the problem
4.1. mkdir build
4.2. CC=clang-8 CXX=clang++-8 CXXFLAGS="-stdlib=libc++" cmake .. -DCMAKE_CXX_STANDARD=14
4.3. make
compile/runtime warnings and errors

...
In file included from src/sysc/kernel/sc_simcontext.cpp:57:
In file included from src/sysc/utils/sc_string_view.h:47:
/usr/lib/llvm-8/bin/../include/c++/v1/experimental/string_view:18:3: warning: "<experimental/string_view> has been removed. Use <string_view> instead." [-W#warnings]
# warning "<experimental/string_view> has been removed. Use <string_view> instead."
  ^
...
In file included from src/sysc/kernel/sc_simcontext.cpp:57:
src/sysc/utils/sc_string_view.h:62:9: error: no member named 'experimental' in namespace 'std'
typedef SC_STRING_VIEW_NS_::string_view sc_string_view;
...

code sample, not more than 100 lines to demonstrate the problem
Not Applicable

Additional information:
Issue is caused at line 41  by the check for c++ version > c++14
https://github.com/accellera-official/systemc/blob/604182509559ae42c34e878f508bae7c18abbbd6/src/sysc/utils/sc_string_view.h#L40-L51
Best Regards,
Jan

3.0.0 has a minimum of C++17, so all this conditional inclusion code has been removed. This issue can be closed.


Fix memory usage

According to: https://github.com/apple/darwin-xnu/blob/master/osfmk/kern/bsd_kern.c#L420
The result is the same as Xcode app memory uesd.
Test Plan
In my company app. work well.
Related PRs

Release Notes

[CATEGORY] [TYPE] [LOCATION] - Message

Can you elaborate? What issue does this fix, how was this tested?

Make sure the memory footprint is the same as Xcode monitor.
iOS Jetsam(out of memory) use this method to measure memory usage.
Before change:

After change:

@JunyiXie Xcode 's memory gauge is good for noticing memory usage trends, and is only a barometer refer to the developer from Apple, see Difference in iOS memory allocation measurement between XCode and instruments.
You can have Allocation template of Instruments to see the memory use.

iOS Jetsam(out of memory) use this method to measure process memory usage.

Is the pull request format right now?

Delete useless logic.


Can't compile under certain condition.

Not really an issue, just a heads up: If you have unpacked the code to a folder which has space or special characters in the name, platformio just won't be able to build the project. I don't know if it's a platformio or program issue, I just wanted to give a headsup.

Hello! 😄
Thank you for your feedback! 🙇
I think that's an issue for platformio.
VS Code in general can handle spaces in folder names, for special characters im not sure.
Thanks! 🤗


Update hardhat

Updating all hardhat related dependencies just in case
For #96

I ran into some (unrelated) local development issues and tried updating HH in https://github.com/api3dao/airseeker-v2/pull/162 so merging that supercedes this PR.


Windows escaping issues

Closes https://github.com/evilmartians/lefthook/issues/269
Summary :wrench:
This bug is from go exec builtin package: https://cs.opensource.google/go/go/+/refs/tags/go1.19:src/os/exec/exec.go;l=269. They suggest passing args directly with syscall attrs. This is what is done with this PR.
Also fixed a thing: if the {staged_files} or any other template is quoted like "{staged_files}", all the files from substitution will be quoted. Previously the whole line was quoted, and this is not what you want on Windows, I think.

Thanks for paying attention to us windows users :)
But it looks like this patch inadvertently added a regression. I'm not 100% sure what the offending change was in this commit.
I have some scripts declared in my lefthook.yml as such:
pre-push:
  parallel: true
  scripts:
    "check_validates_timeliness.rb":
      runner: ruby
    "check_if_googleauth_compat_with_heroku_22.rb":
      runner: ruby

These scripts are in a path with a space in a parent directory's name - my username! - and it looks like lefthook is no longer passing the path directly to invoke the new process. So ruby gets invoked with a path that ends at the space. lefthook eventually spits out an error like:
⠼ waitingC:/Users/Lucius:1: numeric literal without digits
[0B48:3374][2022-08-09T17:26:40]...
C:/Users/Lucius:1: syntax error, unexpected integer literal, expecting ']'
[0B48:3374][2022-08-09T17:26:40]i0...
C:/Users/Lucius:1: numeric literal without digits
[0B48:3374][2022-08-09T17:26:40]...
C:/Users/Lucius:1: syntax error, unexpected integer literal, expecting ']'
[0B48:3374][2022-08-09T17:26:40]i0...

  EXECUTE > check_validates_timeliness.rb

  EXECUTE > check_if_googleauth_compat_with_heroku_22.rb

SUMMARY: (done in 2.18 seconds)
🥊  check_validates_timeliness.rb
🥊  check_if_googleauth_compat_with_heroku_22.rb

(yes, lmao, this was my dad's computer like 10 years ago, I never changed the username)
...as seen in procmon, lefthook invokes ruby with the following unquoted command line:
ruby C:\Users\Lucius Riccio\Documents\GitHub\COVID-CO2-tracker\.lefthook\pre-push\check_validates_timeliness.rb

mimes shaking fist path names are a such a pain! :D

Hey! Thank you for the issue description! I'll check this. This is definitely fixable!

Hay @ariccio , can you update to 1.1.1? This issue should be fixed there

Ok, I couldn't get to it today, and I'm working the polls tomorrow (all day! 5AM - 11pm!), But I'll try and get to it Wednesday!

Uh, I may have been stuck distracted by my family for like a week after working the polls (sshhh, don't tell them). I've updated lefthook, and am now seeing a different problem... looks like chmoding is failing.
Looks like in go on Windows, chmod just calls into SetFileAttributesW, nothing fancy going on. The path in the error message is surrounded by single quotes. Is it possible that you're now passing the quoted path to the Win32 api? That's my guess here. Honestly, it's kind of amazing we're still using text strings/command lines to do anything these days! APIs that don't need quotes are the way to go :)

Oh, I'll take a look at that issue. This is really surprising, because it's Go API, that should be working :thinking:.

I'm not a go programmer, I don't think I can easily hotpatch this locally right? I suspect it's not a problem with go, but that windows doesn't like quoted paths being passed to "strongly typed" APIs (which don't need no stinkin quotes)... I think you might have been passing the newly quoted path through to the other part of the program?

I'll tell ya, as one of the few programmers out there who has made the mistake of a main user account with a space in it, nothing else has caused more pain, or uncovered more bugs, in my entire career 🤣

@mrexox, I submitted a PR to fix the regression.


Bump gradle args to prevent OOMs

#166  👈
main

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

Join @rbro112 and the rest of your teammates on  Graphite


Kaltura download error

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.03.01. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2019.03.01

Before submitting an issue make sure you have:

[x ] At least skimmed through the README, most notably the FAQ and BUGS sections
[ x] Searched the bugtracker for similar issues including closed ones
[x ] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
D:>youtube-dl -v kaltura:1955031:1_y39fkhaq -f mp4-2929
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'kaltura:1955031:1_y39fkhaq', '-f', 'mp4-2929'
]
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.03.01
[debug] Python version 3.4.4 (CPython) - Windows-8.1-6.3.9600
[debug] exe versions: ffmpeg 4.1, ffprobe N-89980-ge752da5464, rtmpdump 2.4
[debug] Proxy map: {}
[Kaltura] 1_y39fkhaq: Downloading video info JSON
[Kaltura] 1_y39fkhaq: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 404: Not Found
[debug] Invoking downloader on 'http://cdnapi.kaltura.com/p/1955031/sp/195503100
/playManifest/entryId/1_y39fkhaq/format/url/protocol/http/flavorId/1_6jf9b626'
ERROR: unable to download video data: HTTP Error 404: Not Found
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\bu
ild\youtube_dl\YoutubeDL.py", line 1913, in process_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\bu
ild\youtube_dl\YoutubeDL.py", line 1852, in dl
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\bu
ild\youtube_dl\downloader\common.py", line 364, in download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\bu
ild\youtube_dl\downloader\http.py", line 341, in real_download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\bu
ild\youtube_dl\downloader\http.py", line 109, in establish_connection
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmplyslo9xs\bu
ild\youtube_dl\YoutubeDL.py", line 2225, in urlopen
File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default
urllib.error.HTTPError: HTTP Error 404: Not Found

Description of your issue, suggested solution and other information
Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
Cannot download video.
Command is:
youtube-dl -v kaltura:1955031:1_y39fkhaq -f mp4-2929
Command gets the overall "flavors" page, but can't download manifest for partricular flavor

Analyzing in Fiddler, youtube-dl tries to get those URLs:
http://cdnapi.kaltura.com/p/1955031/sp/195503100/playManifest/entryId/1_y39fkhaq/format/applehttp/protocol/http
http://cdnapi.kaltura.com/p/1955031/sp/195503100/playManifest/entryId/1_y39fkhaq/format/url/protocol/http/flavorId/1_6jf9b626
and fails. Opening them in browser results in error too

Post the original link.

https://areena.yle.fi/1-4265502

Post the original link.

https://areena.yle.fi/1-4265502

To clarify: when I'm VPNing to Finland, I can watch and download episode via conventional means (with FFMPEG) just fine, but trying to access it via youtube-dl doesn't work

Any ideas?

Looks like this is intentional geo restriction feature in Kaltura public API. No ideas on how to pass it.

I'm getting a similar issue with the following: https://curio.ca/en/video/the-great-transformation-1746/ Note that I am in the region I am trying to stream from (I can stream it no problem).
youtube-dl -v kaltura:1307701:1_ph1xslf9
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'kaltura:1307701:1_ph1xslf9']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg git-2020-06-17-0b3bd00
[debug] Proxy map: {}
[Kaltura] 1_ph1xslf9: Downloading video info JSON
[Kaltura] 1_ph1xslf9: Checking mp4-1373 URL
[Kaltura] 1_ph1xslf9: mp4-1373 URL is invalid, skipping
[Kaltura] 1_ph1xslf9: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 404: Not Found
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'http://cdnapi.kaltura.com/p/1307701/sp/130770100/playManifest/entryId/1_ph1xslf9/format/url/protocol/http/flavorId/1_hlcfxgv2'
ERROR: unable to download video data: HTTP Error 404: Not Found
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\YoutubeDL.py", line 1926, in process_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\YoutubeDL.py", line 1865, in dl
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\downloader\common.py", line 366, in download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\downloader\http.py", line 341, in real_download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\downloader\http.py", line 109, in establish_connection
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\YoutubeDL.py", line 2238, in urlopen
File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default
urllib.error.HTTPError: HTTP Error 404: Not Found


[CI] Limit concurrency of workflow

Limit concurrency of workflow to reduce task queuing in GitHub Actions.

@shidayang PTAL.

Can you describe the context of this PR? What problem is it trying to solve? What approach is used to address the issue?

Hi @baiyangtx, Limit concurrency of workflow to reduce task queuing in GitHub Actions. When our contributors append commits in a  pr and github action will excute many times until end  ,this will make ci task queuing  . So I want to cancel previous ci task and run latest commit's ci task. As the upper screenshot  shows.

@zhoujinsong PTAL

Very useful work. LGTM


command builder recognize id parameter

Also recognize --id parameter when building the command line

Codecov Report
Base: 29.30% // Head: 28.85% // Decreases project coverage by -0.45% :warning:

Coverage data is based on head (cf8fb5e) compared to base (fbe53a4).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #208      +/-   ##
==========================================
- Coverage   29.30%   28.85%   -0.46%
==========================================
  Files          27       27
  Lines        2303     2305       +2
==========================================
- Hits          675      665      -10
- Misses       1533     1546      +13
+ Partials       95       94       -1

Impacted Files
Coverage Δ

pkg/daemon/command/command.go
63.33% <0.00%> (-2.19%)
:arrow_down:

pkg/filesystem/fs/blob_manager.go
44.44% <0.00%> (-11.12%)
:arrow_down:

pkg/auth/kubesecret.go
23.71% <0.00%> (-7.22%)
:arrow_down:

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

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


Tag and Category page with article list

Basically a list of articles with tag or category. They both pull a list of articles to display. The title is pulled from the url. See fstab.yaml how folders are mapped to  /category/default and /tag/default.
https://www.24life.com/tag/abundance/
https://www.24life.com/category/lifestyle/

won't do. Using collections instead.


Move purl value generation to SBOM options

This PR modifies the way we generate the purl data for the apko images, shifting the logic to the options object.
This has the benefit of ensuring we get the same purls in both standards by reusing the same logic.
It also fixes a bug where the purl names were formed incorrectly in the image SBOMs, fixing https://github.com/chainguard-dev/apko/issues/281
New sample image purl:
"purl": "pkg:oci/apko-test@sha256:ea959168730bccc00500a22b58a1891c1b07dc9039273b07d5a833f7fa7d7b54?arch=amd64\u0026os=linux",

/cc @mattmoor @kaniini
Signed-off-by: Adolfo García Veytia (Puerco<EMAIL_ADDRESS>

what's with the \u0026 there?  shouldn't it be an &?

I thnk its because the json marshaller is encoding the string.

ugh, is there a way to convince it to not do that :D

Nice and clean now:
      "components": [
        {
          "bom-ref": "pkg:oci/apko-test@sha256:ea959168730bccc00500a22b58a1891c1b07dc9039273b07d5a833f7fa7d7b54?arch=amd64&os=linux",
          "type": "container",


Acknowledging data providers

In our outputs, we need to do a better job of acknowledging all the observational networks on which we depend for data. It should be immediately obvious to anyone using the data/visiting this page that it is built on top of the efforts of others and many of the numbers are not purely ours.

#78 provides a start. However, we'll need to go gas by gas as many of the networks have papers for individual gases which should be cited.
Best idea for now:

when a data source is grabbed, create a DependencyInfo file
when a data source is used in the composite for a gas, load the DependencyInfo file and add it to some gas specific directory of dependencies
when writing the input4MIPs file, all dependencies in the gas' directory get included in the file's metadata


Added operation logging to JSON

Now when you want to log operations to JSON file - you need to add flag -j or --json-dump and logs will be saved to your current directory to file "logs.json".

Hello.
As I can see, the failure cause is here:
/home/runner/work/mipt-mips/mipt-mips/simulator/func_sim/operation.h:253:13: note: declared protected here
253 | std::string BaseInstruction<T, R>::generate_disasm() const
|             ^~~~~~~~~~~~~~~~~~~~~
I used this function in fetch.cpp file to generate disassembly for instructions and to write it to logs.
This commit was not tested due to problems with the build at the end of the work (initially, changes were made on one version of the project, later I had to switch to another version, which as a result could not be successfully built on my host machine).
I hope, that this error is the only one. I'm sorry.

That's OK, no need to sorry. We'll fix it on our side.
Could you please tell us your legal name so we can add you to LICENSE file?

Yes, of course, my name is Andrei Karpyza.
Thank you.


Use the largest ascent as the ascent for a font

Closes https://github.com/emilk/egui/issues/4929
Builds on top of https://github.com/emilk/egui/pull/2724 by @lictex (ptal!)

I think we need both this and some sort of centering (like in https://github.com/emilk/egui/pull/5117) – I'll experiment more. Maybe we should to take the FontImpl ascent and the Font ascent into account when centering 🤔

https://github.com/emilk/egui/blob/f4ed394a85fdce6a141fab20002554442c8b69aa/crates/epaint/src/text/font.rs#L355-L359
https://github.com/emilk/egui/blob/f4ed394a85fdce6a141fab20002554442c8b69aa/crates/epaint/src/text/font.rs#L422-L426
row height should be taken from the same font as the ascent, otherwise rows could be clipped vertically.
doing this will make all rows higher but text should be naturally centered again then.
imo whether to use metrics from the primary font (font[0]) or the largest font is more like a design choice that, is the fallback font important enough to massively affect the layout process?

probably offtopic:
FontTweak::baseline_offset_factor (used to manually shift rows as a last resort) is getting a bit confusing. maybe it should be moved to Font instead

I've returned to a mixed approach in https://github.com/emilk/egui/pull/5117 now - it seems to work very well (finally!)


Can we disable the auto-centering that occurs onRegionChangeComplete?

Question
When onRegionChangeComplete fires, it seems to auto-center the map. If I stop panning/dragging, and then I quickly pan/drag again while that function is firing, once it is done then map extent jumps back to where it was when I first stopped panning/dragging. This is problematic, and we are having trouble getting around it. Is it possible to disable this behavior?
I notice on pro map apps like Zillow, the new data is silently pulled when you move the map (when you let go of pan/drag), without an auto-center. On the other hand, I was surprised to see that Airbnb doesn't auto-refresh the map when you move it! Every time you move the map, a button pops up that says, "search this area". So you have to click that each time you want results. Given that react-native-maps is licensed by Airbnb, perhaps auto-refreshing data on map move isn't what this package excels at? Edit:  was just reminded that airbnb no longer uses react native! ;p
This issue has come up a bunch on here. Usually the response is about not keeping region in state.
Is there anything else we're missing? We've been stumped on this for a while! Thank you!
Our mapview (we have it not fire unless you move the map more than a certain distance):
<MapView
                        ref={this.mapRef}
                        region={{
                            latitude,
                            longitude,
                            latitudeDelta,
                            longitudeDelta,
                        }}
                        style={s.map}
                        onRegionChangeComplete={this.onRegionChange}
                        showsUserLocation={true}
                        moveOnMarkerPress={false}
                        showsMyLocationButton={false}
                        provider = { MapView.PROVIDER_GOOGLE }
                        customMapStyle={theme.theme === 'dark' ? androidCustomDark : []}
                    >
                        {mapLocations.map(l => <CustomMarker key={l.id} marker={l} navigation={navigation} s={s} />)}
</MapView>

    onRegionChange = (region) => {
        const compareRegion = (region) => {
            this.props.getLocationsConsideringZoom(region.latitude, region.longitude, region.latitudeDelta, region.longitudeDelta)
        }

        if (Math.abs(region.latitude - this.prevRegion.latitude) > 0.001) {
            setTimeout(compareRegion, 800, region)
            this.props.updateMapCoordinates({
                ...region
            })
        }
        this.prevRegion = region
    }

And our project: https://github.com/bpoore/pbm-react
Happy to give any more details.

Closing this since it didn't get any attention. This issue has come up many times here, and seems sorta unresolved (or the resolution is vague).
On our project, we're going to disable onRegionChange, and instead add a "search this area" button whenever the map is moved, so the user can manually reload the data for that extent.

I don't think this issue should have been closed.
I would love a resolution.

You're right. I will re-open. This still seems valid.

Anyone found the solution of this problem?


Create Mixins for the resource providers common methods

Scenario/Intent
i'm seeing a lot of code that is common between one or more resources, but it won't make sense to use inheritance to avoid the code duplication, nor putting these methods in the main resource provider.
So I guess we could improve the code with Mixins implementing these common methods. having tests for them will also avoid implementing contless tests for the same feature.
Environment Details

oneview Cookbook Version: 1.1.0-unreleased
OneView Version: API300

Actions to reuse:

[x] #reset
[x] #set_power_state
[x] #set_uid_light
[x] #set_refresh_state
[ ] #reapply_configuration
[ ] #update_from_group

Are there any specific methods or resource providers you would like to attach to this issue @tmiotto ?

Yes @jsmartt ,
There are #reset, #set_power_state, #set_uid_light, #set_refresh_state, #reapply_configuration, #update_from_group, that repeat all over the resources.
I will categorize them and list what kind of Mixins we should add to the cookbook.
:thought_balloon: : This actually may also apply to HewlettPackard/oneview-sdk-ruby

This SDK has limited support and will not be actively developed for the foreseeable future.


Not supported between instances of NoneType and datetime_datetime

[ ] Add try catch for this

TODO: If no provider changes the below lines throws error:
    #   TypeError: '>' not supported between instances of 'NoneType' and 'datetime.datetime'
    if current_provider.updated_at > datetime.utcnow() - timedelta(minutes=10):
        current_app.logger.info("Slow delivery notifications provider switched less than 10 minutes ago.")
        return

Hey team! Please add your planning poker estimate with Zenhub @EvanParish @k-macmillan @kalbfled @trevor2718 @jakehova @cris-oddball @ianperera

The code should first check if current.provider.updated_at is None:, and we should have a new unit test for this case.

@kalbfled updated_at property of provider_details model can be nullable, updated_at = db.Column(db.DateTime, nullable=True, onupdate=datetime.datetime.utcnow), in which case It can be null? Like, when the provider is the first one and never been updated?

Sorry please scratch that. I could figure it out.

@mjones-oddball @zlaw Multiple people ended up working on this, and I spent a while getting the database migration to work.  I would re-point as a 3.

Updated from 2 to 3 story pts


Game keeps crashing, and i get this error log

Describe the bug
A clear and concise description of what the bug is.
So games keep crashing, i do not know why.
Desktop (please complete the following information):
I7 8700 CPU 3.20 GHZ
hs_err_pid21564.log
NVIDIA GeForce GTX 1080
16 GB ram
OS & version [e.g. Windows 10, 1822]:
Windows 10 home 64-bit (10, Build 19042)
MSFT Build of OpenJDK Version:
OpenJDK Runtime Environment Microsoft-22300 (16.0.1+9) (build 16.0.1+9)
The output from java --version
Version 8, Update 301 (build 1.8.0_301-b09
To Reproduce:
Steps to reproduce the behavior:

Go to 'Minecraft Launcher'
Click on 'Play'
Game starts loading
Game crashes, then error pops up

Expected behavior
I expected that i could play..
Screenshots, Logs etc
If applicable, add screenshots, logs to help explain your problem.
Done
Additional context
Add any other context about the problem here.
Nothing.

hs_err_pid21564.log


CfP, duplicated question

There is a duplication of the "Project Homepage / Git" on CfP -> Questions

Hi @darya-chyzhyk
Thank you for the feedback. Can you provide a direct URL to the page that has a problem?

Hi @pdebuyl
Here it is
https://pretalx.com/euroscipy-2019/submit/X6nJJy/questions/

@alanderex have you seen this?


lxrunoffline cannot export or duplicate wsl not created by lxrunoffline

when i try to export or duplicate a wsl image that installed by windows not by lxrunoffline, it always fail shows :

LxRunOffline.exe e -n ub18 -f d:\wsl\ub18.tar.gz  or  >LxRunOffline.exe d ub18 -d d:\wsl\ub18

[ERROR] Couldn't set the case sensitive attribute of the directory "\\?\D:\wsl\ub18-1-1\".
Reason: {Access Denied}
A process has requested access to an object, but has not been granted those access rights.

Does it work if you install a new distro (either from Store or using LxRunOffline) and try to export/duplicate it?
Also, please provide the output of icacls D:\wsl\ub18-1-1 and dir /q D:\wsl\ub18-1-1


Use strings to access node attributes autocorrect is falowed

When you autocorrect nodes using symbols they are partially corrected:
Original:
default[:elixir][:version]        = '1.4.2'
Correction:
default['elixir'][:version]        = '1.4.2'

This seems to only impact attributes file defaults. Actual attribute usage in recipes is fine

This was my own issue I believe


Improve rendering speed of styled characters

It seems to be very fast right now as it uses the smallest possible number of spans to display single line. It also caches brushes and opening span tags created from brushes.


Why is the page on Tensorflow-directml-plugin still up? Was it not decided to discontinue this in favor of ONNX-runtime?

[**** Edit by stevewhims: The topic in question is probably Enable GPU acceleration for TensorFlow 2 with tensorflow-directml-plugin ****]
Dears, please update this page with discontinuity notice and preferably guidance regarding alternative frameworks:

For training, REST/grpc, to use WSL2/docker which from my experience works seamlessly at around 75% of native Windows gpu performance. The convenient access to Windows filesystem (even remote LAN folders!) is a bug plus IMO.

For on device from RAM inference (e.g. inspection over continuous frames), referrals to ONNX -runtime, or Tensorflow-Lite.

Discontinuity of SW projects is part of life. Nevertheless, it's always useful to receive info regarding alternative routes.
Many thanks and gratitude to those who put time and effort on the Tensorflow-directml-plugin. It was brilliant while it lasted...

Thank you! I'm investigating what we can/want-to do here.
-Steve

Thanks, @chanangaza. So far, I've just added a simple discontinuation notice to the topic. But this is on our radar in case we want to add further info. So I'll close for now.
-Steve


split 'render' support into '2d' and '3d'

Greatly improves the usability of bevy features configuation.
Support for texture atlases and standard materials split into separate 2d and 3d features.
Now it also ensures that the appropriate bevy features are enabled.
Closes #31

The builds are currently red, because bevy_asset_loader/tests/ui/missing_feature.stderr contains the old feature names.

 I don't understand how your tests work, you seem to have some tests marked for having vs not having the render feature and I don't understand why.
Could you please take care of fixing your tests by yourself? I'm having a hard time with them.

Fixed in IyesGames/bevy_asset_loader#1


html zoom and zoomFactor is not working

*left : html view / right : output PDF file

i trye to change htmlString to pdf
but output file is cut because expand html view
i set config and css
html{zoom: 0.65;}
and
 var config = {                 "height": "10.5in",                         "width": "8in",                          // "format" : "A4",                 "type": "pdf",                          "zoomFactor": "0.65"               };
but there are not working (i used node on Mac)

old question, but for what it's worth, zoom factor does not work on PDF, only on image types.
See https://www.npmjs.com/package/html-pdf

// Zooming option, can be used to scale images if options.type is not pdf
"zoomFactor": "1", // default is 1

this worked for me
html {
  zoom: 0.64;
}

body {
  height:100vh;
}

const config = {
    "format": "A4",
    "orientation": "portrait",
    "dpi": 200,
    "quality": 80,
    "border": {
      "left": "1cm",
      "right": "1cm",
      "top": "1cm",
      "bottom": "1cm"
    },
    "header": {
      "height": "10mm"
    },
    "footer": {
      "height": "10mm"
    }
}

@Aathi Thank you! Work like a charm!


MM-53902: deep link validation

Summary
Manual cherry pick of https://github.com/mattermost/mattermost-mobile/pull/7613 onto release-2.10
Ticket Link

Checklist

[ ] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots

Release Note

NONE

@amyblais cc @esarafianou


Openrpc cli doc generator generates weird doc

Example 1
function with docline:
// loads a new eth client
pub fn (mut e EthClient) load(args Load) ! {
	_ := e.client.send_json_rpc[[]Load, string]('eth.Load', [args], eth.default_timeout)!
}

generates:
  "methods": [
    {
      "name": "eth.Load",
      "description": "s a new eth client",

so it cuts the "load" from "loads" and uses the remaining for docstring.
Example 2
function with docline:
// balance returns eth balance for the given address.
pub fn (mut e EthClient) balance(address string) !string {
	return e.client.send_json_rpc[[]string, string]('eth.Balance', [address], eth.default_timeout)!
}

generates:
    {
      "name": "eth.Balance",
      "description": " returns eth balance for the given address.",

here it cuts the "balance" from the docstring but also leaves and empty space

in example 2 is it ok if it cuts balance with the whitespace? This trimming was done to keep the description concise. In V's documentation guidelines it states "The comment must start with the name of the definition." I can also just get rid of the trimming if you think its unnecessary.

If the comment starts with the name of the function (which is indeed good practice) it should trim the leading whitespace imo


New extension: Font Manager

Manage Fonts in Your Project, Ashimee helped me implementing Custom Fonts and the Event Blocks :)

Hey, so made a couple changes.
If you think it looks fine now then let me know and I'll merge it within 24 hours after that (ping me on discord if I forget)

and add a // License:

and add a // License:

done, all seems fine to me!

this is a great day for sure


Linux packages fail to build with LLVM 18 and Apple 2023 versions of clang

Newer versions of clang add builtin modules for its C Standard Library headers. This creates problems* when building with a single module map that tries to absorb all of the OS/SDK dependencies, which is what all non-Apple platforms currently do in SPM.
This works for Swift targets because the Swift compiler injects module maps via vfs for non-Apple platforms. However, clang doesn't do anything similar for C-based targets, and so they fail to build.
For now, don't build with modules for any SPM C-based targets on non-Apple platforms.
* Some problems are module cycles and headers being absorbed into unexpected modules. clang modules generally expect that OS/SDK headers are covered by module maps, and not absorbed into whatever module happens to include them first.
rdar://120716498

@swift-ci smoke test

@swift-ci test

There's some chance here that is would break older packages which rely on the existing behavior, but it doesn't seem that likely that there's code that requires modules in C-based targets. Unfortunately, the compatibility suite is only for macOS AFAIK (cc @shahmishal).
Do we need any way for package authors to opt-in to modules? They can do so via unsafe flags, but that comes with restrictions on the use of their packages.

Unfortunately, the compatibility suite is only for macOS AFAIK (cc @shahmishal).

We do support Linux source compat suite -

https://ci.swift.org/job/swift-source-compat-suite-ubuntu-2004/
https://ci.swift.org/job/swift-source-compat-suite-debug-ubuntu-2004/

Thanks, Mishal, I didn't know that!
We should test this PR with those jobs to see if there's impact.

Awesome, how do I invoke those suites with this change?

@swift-ci smoke test

@swift-ci test

@swift-ci test

@swift-ci smoke test

@swift-ci test

@swift-ci test

@swift-ci test Windows


fix localstorage bug when using datatables on with subdomains

We use Backpack on a project where the dev, staging and production environment are on different subdomains. Setting the e.g _list_url in localstorage with a key based only on the route caused redirects between our environments. The keys should include the subdomain path.
WHY
BEFORE - What was wrong? What was happening before this PR?
Install two project instances on subdomains, e.g. www.example.com/first and www.example.com/second
Create a CRUD panel with a list view and add filters.
Go to www.example.com/first/admin/your-crud
Select a filter. You will see that the 'admin_yourcrud_list_url' key is set in localStorage to enable the persistent filters.
Go to www.example.com/second/admin/your-crud
It will redirect back to the persisted url in the localStorage, which is www.example.com/first/admin/your-crud, the incorrect project.
AFTER - What is happening after this PR?
The keys are subdomain specific and don't interfere with each other anymore
HOW
How did you achieve that, in technical terms?
Took the full url as key prefix for the localStorage instead of solely the route

A new inspection was created.

The inspection completed: No new issues

Thanks for the PR @madriegh . Never thought of testing two admin panels in one domain 😅
Seems like a reasonable quick solution to me! @pxpm what do you think? One thing I'm a bit bothered by is how ugly those entries will become... but... is that really relevant? 🤷♂ What do you think?


Deprecate "calling steps from step definitions" functionality

Summary
Calling steps from step definitions is one of the features I regret having added to Cucumber. It's like a poor man's implementation of subroutines (which all languages support natively) with the following drawbacks:

Bad stacktraces
Editor/IDE cannot spot errors
Refactoring is painful

Using this functionality should print:
Calling steps from step definitions is deprecated and will be removed in the next major version. For a better alternative, follow this link: XXX

The XXX link should point to a page in the documentation explaining in more details how to use fiunctions/methods with Cucumber. It can be based on the explanation I gave in https://github.com/cucumber/cucumber-js/issues/1232

@luke-hill:

Use ruby's own send method if you want to metaprogram or program on the fly.

Use Helpers or Classes for specific pieces of reusable code

I’m quite familiar with both these techniques, but I don’t see how either would be useful in the case I described. Do you?

Use case / if logic to decide based on what text which class / helper to instantiate and use

The Gherkin parser already does pretty much that, and I would rather reuse it than reimplement it. This idea seems like a step backwards to me.
If you need the problem stated in a more generic form: I have a modifier that I would like to be able to apply to any arbitrary Gherkin step from within the scenario. I only see one maintainable way to do that, and it’s this:
Then /^(.+) with modifier$/ do |step_text|
  with_modifier { step step_text }
end

How else would you propose to implement this, without maintaining a separate table of step definitions? I don’t understand how I can do this if step is removed, and I’d appreciate specific ideas, not just generic suggestions.

Helpers::ReUsableSteps.step_one
Helpers::ReUsableSteps.step_two
Helpers::ReUsableSteps.step_three
That's a primitive one that would allow you to call them. If they were module functions mixed into the World.
You could then call your steps based on the step_text so you just send call them.
Also I would advocate having one "mega-step", that does 10 different things, and actually have 10 small steps, even if portions are re-used. It makes debugging easier. And in-fact most of our open source stuff we're un-coupling steps, i.e. removing the areas that do 2 different things for 2 different steps that do 1 thing.
for your example you could do.
Then /^(.+) with modifier$/ do |step_text|
  with_modifier { Helpers::ReUsableSteps.send(step_text) }
end

@luke-Hill No, that wouldn’t work at all. If you look again at my example, you’ll notice that step_text has the form of a Gherkin step (e.g. I should see "foo"), not a Ruby method name (e.g. step_one). That being the case, I don’t see how send would be helpful, unless you’re thinking of using method_missing to deal with receiving Gherkin text as a message...
...and if you are, then once again we need to map from Gherkin text to step definition, and we’re right back to needing the step method as a result.
Or did I miss something? I’d love to better understand what you had in mind, but so far it doesn’t seem like a suitable solution.

I don't want to go into exactly how to deal with your situation line by line, but you simply need a 1 to 1 mapping between what you capture and what you send.
It would work, because you're assuming you have to send a step which has spaces in, but you could sanitize that. There are many things you would perhaps need to do, unique to your situation.
Your step_text is simply a capture. How you translate that capture into something that can be sent you can decide (You could use a massive case, when statement for example).
Essentially the methodology you have of having a "master step" which then delegates to a multitude of other steps is something I would disuade in most circumstances, it's too hard to triage, too taxing for newcomers and relies heavily on almost a bus-factor style approach where a few siloed team members know everything. It's currently an area in aruba we are "un-DRYing" if you like to think of it that way.
See https://github.com/cucumber/aruba/pull/666 perhaps for a code explanation?

@luke-hill:

I don't want to go into exactly how to deal with your situation line by line,

I’ll admit I was sort of hoping for that. I’m very experienced with both Cucumber and Ruby, but I can’t figure out how to implement your suggestions in a way that makes sense. However, if that’s more appropriate for the mailing list or something, we can take it there.

but you simply need a 1 to 1 mapping between what you capture and what you send.

Correct. And that’s what the step method already gives me, which is why I don’t want to see it go away without a suitable replacement in place.

Your step_text is simply a capture. How you translate that capture into something that can be sent you can decide (You could use a massive case, when statement for example)

Are you seriously proposing that? The Gherkin step definitions already provide a perfectly suitable translation. A massive case statement would just reimplement that, for no benefit that I can see.
In other words: I already know how I translate that capture. I want to translate it the exact same way that Gherkin would if it were a step by itself. That’s why I think I need step here.

This has massively gone off tangent from the original placeholder, which is to deprecate the usage of the steps and step methods.

As far as I can tell, this is exactly on topic for that. The whole point of my comments here is that we shouldn’t deprecate those methods, because they make possible some very useful abstractions that can’t be implemented in any other way.
I hope I’ve explained my use case pretty clearly here, but all I’ve gotten is rather glib generic answers that won’t actually work in the situation I described as far as I can tell.
I find this extremely frustrating. If the core team is bound and determined to deprecate step, then please help me find an alternative for the one use case I know of where it seems to be indispensable.

Which will be done at some point during the v4 lifecycle I imagine.

Then if another workable solution is not provided, I’ll either have to abandon Cucumber at that time (which would be a huge pity) or maintain my own fork or plugin (which I really don’t want to put the time into doing).

@luke-hill:

Everyone who works on cucumber are volunteers.

I’m aware of this, of course. And thanks for your time and energy!

you may be in a situation similar to what I had at a previous company and/or what we have in aruba (step is being called in lots of places).

Nope. I’m in exactly the situation I said I was in: I have one place in the codebase where I apparently need to use step, for reasons that I’ve explained elsewhere in this thread. I don’t like step that much myself, and I’d be happy if I could get completely rid of it, but I don’t see how.
I have a feeling we’re talking past each other in this regard, because you keep suggesting solutions that are not relevant to my use case, and you have made several guesses about my use case that have nothing to do with anything I’ve said about it. I’ll be happy to clear up any further confusion about what I’m trying to do, but I don’t know how else to say what I’ve already said.

If you are very experienced with Ruby, then you should know that using language specific abstractions, such as Helpers, Classes and more indepth stuff such as Singletons or Anonymous classes, all come with large stacktraces and good debugging tools.

I’m aware of that. It is not relevant to my question, because (1) I have never found debugging these steps to be a problem and (2) as far as I can tell, those abstractions do not provide me what I need here. step does.

I know (From reasonable personal experience), that using steps especially ones with 5+ calls inside a single step with interpolated parts and metaprograming, only leads you to a highly coupled system.

That’s not what I’m doing. That’s not something I’d ever do. Please read again my description of the technique I am using. I am making one call to step. One. And I’d love to get rid of it, but I haven’t found a way to, and your suggested workarounds are starting to seem to confirm that there isn’t one.

We are not advocating for one minute that our way is the only way or the highway.

From my perspective, that sure does seem like what is going on here. You (the core team, not you personally) are trying to remove something that works well and doesn’t have a good alternative, because it seems like it “shouldn’t” be in there.

You can use a 1-1 mapping as I've mentioned to solve your issue.

step is the 1-1 mapping I need. How can I replace it without building a complete duplicate of the Gherkin step definitions table?

But short of doing the work for you (Which I'm sure you'd expect, would be perhaps crossing a line), you need to perhaps spike a few different solutions for yourself.

I’m not asking you to do my work for me. But: when you deprecate a feature that people have come to rely on, the onus is on you to suggest an alternative approach that actually replaces the deprecated feature. Certainly I’d do that if anyone asked a similar question about a deprecation in any of the libraries I maintain.
The crux of my problem is that I want to do the following:

Capture some text.
Map the captured text to a block of code in exactly the same way that Gherkin does.
Execute that block in a particular context.

1 and 3 are trivial. I cannot see how to do 2 without step. This is the part for which I am once again asking for a suggestion, or recommending that step be taken off the deprecation list.

Capture the text in the same way
1.1) Either during 1, or before 2, have some transformer, which maps the text to the helper / class / singleton you want. Examples could be rolling your own, using activesupport, using a class extension / monkeypatch or a wrapper method i.e. sanitize(gherkin capture)
Once transformed, map this text and call your new functionality, either using send or directly having the new methods defined
If you're looking to pass a block through the caller chain, then the block must be defined in your steps. So either you need to re-define your block in the new method signature, or pass it through using the &block / block_given? methods which will help here.

I'm sad to see this go away, for the same reason as @marnen has outlined.

Either during 1, or before 2, have some transformer, which maps the text to the helper / class / singleton you want.

As @marnen has already attempted to explain - this is what we're already doing with Cucumber. You seem to be proposing we implement another mapping between natural text and code, mimicking that we already have (with Given / When / Then + Regexp), which seems so non-sensical to me.
I can appreciate the argument that this feature is hard to maintain, but you're not succeeding in proposing an alternative solution.

What you currently do is the following.

Capture text
Use a mapping - "regex string match"
From this 1-1 match, fire a new method (These are the cucumbers internals which are not exposed, and how they are work is confusing to explain, not 100% clear and completely abstract from the MRI or JRuby)

What I am proposing is this

Capture text
Use a mapping (Lets say for arguments snake case, because I've tried to hand-hold a bit and not had much luck
From this 1-1 match, fire a new method (These are now 100% traceable and better than anything previously).

Given I'm a healthy contributor, I'm aware this sounds bad, but you need to trust me that the new methodology is better. I'm speaking as someone who had at a previously company a healthy amount of step usages, and the stacktraces in the cucumber html reports were always a little bit messy.
Also I've attached a rudimentary code example.
Previously
# code omitted
step captured_regex
# code omitted

Now
# code omitted
Kernel.public_send MyHelper::Whatever::OtherNamespace.snake_case captured_regex
# code omitted

Obviously I've made up a long namespace to illustrate it could be whatever.
I'm not keen on this backwards and forwards motion because it's all theoretical, could you maybe have a go at doing it, or perhaps illustrate with a git repo why it wouldn't work. Sometimes in learning (Using something called the VAK model), people are not understanding one particular way of explaining, so maybe an alternative is in order?

@luke-hill:

but you need to trust me that the new methodology is better

No, we don’t need to trust you. You need to tell us why it is better. Right now, it seems like extra work for no benefit, at least for our use case.

I'm speaking as someone who had at a previously company a healthy amount of step usages, and the stacktraces in the cucumber html reports were always a little bit messy.

That has not been my experience with my step usage patterns.

or perhaps illustrate with a git repo why it wouldn't work.

As @badeball and I have said, it wouldn’t work because it duplicates the mapping that Cucumber already provides, and because it’s not general. That is, with your snake_case approach, I have to define a new method every time I have new captured text to map. That defeats the purpose of doing this in the first place. Remember, I literally want to be able to do Then any arbitrary step with modifier and have it use the already existing Cucumber mappings for Then any arbitrary step. You are not providing a solution that has that flexibility.
Again, my canonical case is the one I already described, that of Then I should see "foo" within the sidebar. If you’d like to see it in action, take a look at https://github.com/marnen/erogatio/blob/master/features/step_definitions/web_steps.rb#L27 and https://github.com/marnen/erogatio/blob/master/features/enter_payment_for_work_units.feature#L20.

I think I've landed on the crux of the issue. In that you're looking to do the exact thing we're looking to discourage here. So my earlier comments that were ignored I now realise were done either accidentally or because you disagree with them (Which is fine).
So just to reiterate (This will be for the last time, because we're going in circles). You're advocating the usage of something that is being deprecated. The reason it is being deprecated is as aslak has previously mentioned and is linked to in a couple of articles (As well as the notional lack of it now in all other major cucumber flavours).
If you wish to continue writing 1 'mega-step' this is not too dissimilar to my original POV which was that I had "worked at a company with 1 step that called 5 steps", because in essence you have something similar to that in your codebase, just a bit more varied (Steps that can either perform actions or assert instead of steps that combine other steps which do actions).
aslak also put a quite clean JS code-snippet, and I've put a reasonably concise ruby snippet. There could be other ways you could do it.
As for the original comment, kinda rude tbh. If you don't want to agree with me that's fine. But you can't (or shouldn't), half cut and paste things out of context.
I explained why the new technology was better, by alluding to stacktraces, as well as the fact it uses the MRI under the hood, instead of having cucumber replicate that. One alternative way (I'm losing track of how many variants to give you), is perhaps to think of it as JRuby. It does stuff that isn't normal for Ruby and regular ruby doesn't support. So they decided to make a branch offshoot.
In theory (Although I wouldn't advise this), you could make a new gem that allowed this behaviour, monkeypatched and swallowed all warnings, and overrode the behaviour in cucumber-ruby v4. However I would advise against this as it wouldn't be future-proof.
Also I've seen across a few of your posts a reference to "your" use case, which is all well and good, but cucumber is currently the number 1 used BDD tool across tech teams world-wide - with just a few of the users here: https://cucumber.io/
Some of these companies (Such as CodeFirst), https://opencollective.com/codefirst actively contribute to the maintenance of cucumber, and as such if they had a request it could perhaps be prioritised dependent on needs e.t.c.
If you can think of a way that this behaviour can be maintained either in this gem or an offshoot gem, without going against the tenets of what we've explained, then please feel free to do so. I'm not going to comment on this any more, because I feel I've tried in a few different ways to explain in quite good detail what to do. I have an extensive background in education but sometimes I'm not able to explain something to a particular group/class/person.
I would therefore point you to some of the links I've used before

aruba changelogs and unDRYing
JS code examples & aslaks explanation of using a languages own methodologies (functions/methods)
Explanations above

There are some good resources as well about BDD being the living documentation. @sebrose probably has a wealth more links he could possibly share. But from your use cases and the direction you've been moving in, I'm not sure I'm the best person to help, as it seems as if the reason for you wanting to code in a specific way without using a better methodology may be better answered with a holistic company-based query (Which Seb is much more qualified and experienced than I)

@luke-hill:

I think I've landed on the crux of the issue. In that you're looking to do the exact thing we're looking to discourage here.

OK. You’ve seen my use case now. What would you advise doing for that use case? I’m not interested in repetitions of the general advice that you’ve already given me: I’m sure you’re tired of repeating it, and it doesn’t work here anyway.
To reiterate, what I think I need is a general step modifier mechanism which has the following properties:

It can modify any arbitrary Cucumber step
It requires no additional coding to modify a new step

I’d love to know how you’d approach that. Right now, as I see it, you’ve talked all around the problem and not given me a usable solution.
In other words, if you’re trying to discourage it, please give me a concrete suggestion as to what to do instead.

If you wish to continue writing 1 'mega-step'

I don’t think that’s what I’m doing. Of course step can be abused, but if you remove everything that can be abused, you wind up with Java. :)

I've put a reasonably concise ruby snippet.

As far as I can tell, none of your snippets help me figure out how to implement within the constraints I gave without using step. They may well address other uses of step, but not mine.

I explained why the new technology was better, by alluding to stacktraces, as well as the fact it uses the MRI under the hood, instead of having cucumber replicate that.

Yes, and I explained that that’s not better in any way that I care about. What I care about most is being able to call existing steps (with modifiers) using the same mappings that Cucumber already does. To put it in your terms, I want to use the existing Gherkin mappings under the hood, instead of having MRI replicate that.

In theory (Although I wouldn't advise this), you could make a new gem that allowed this behaviour

If step is removed from Cucumber, I think adding it back in a plugin will be my only option if I want to continue using Cucumber. I don’t want to do that unless I can’t avoid it, though, and so I’d really welcome other ideas.

I'm not going to comment on this any more

I understand that we’re both getting a bit frustrated here, but at this point I’m no wiser than when I started this discussion as to how to achieve my goal without step.

I would therefore point you to some of the links I've used before

aruba changelogs and unDRYing

I’ll look at those, though I’m skeptical of anything that advocates unDRYing. :)

*JS code examples & aslaks explanation of using a languages own methodologies (functions/methods)

Explanations above

These are probably great for replacing other use cases of step (specifically those where the Gherkin text is hard-coded in the step definition), but not mine as far as I can see. That’s because as far as I can see, they fail to address the fundamental issue I’m dealing with here: that of mapping from an arbitrary Gherkin step (not hard-coded) to Ruby code. Am I wrong?

the reason for you wanting to code in a specific way without using a better methodology

I’d be happy to use a better methodology if I could only figure out how to get it to work for what I want to accomplish. If you can’t help me, I hope @sebrose can.

@enkessler I believe I’m using this feature in a way that is not actually representative of the antipatterns that it’s often associated with.
I don’t believe I’m using Cucumber for the wrong reasons, but the fact remains that, in a very narrow set of circumstances, I rely on this feature. If the feature goes away, I won’t want to stop using Cucumber, but I’ll have no choice as it will no longer be adequate for my purposes.
Or so I think. If you think that my use of step (as described in this thread, with non-hard-coded Gherkin strings) is bad, I’d really welcome a suggestion of how I could accomplish the same goal (arbitrary steps with modifiers) in a better way.

I should mention for completeness' sake that I've been considering an option that turns the logic inside out:
Then /^I should see "(.+?)"(?: within "(.+?)")?/ do |text, selector|
  with_selector(selector) do |page|
    expect(page).to have_text text
  end
end

Then /^I should see a cat GIF(?: within "(.+?)")?/ do |selector|
  with_selector(selector) do |page|
    # code for locating cat GIF element
  end
end

private

def with_selector(selector, &block)
  within(selector || 'html', &block) # or something like that
end

...but I really don't like it: it requires rewriting every step that I ever use with the modifier, and has other maintainability issues as well. So far this is the best way I've found around using step, unfortunately.

I've had the feeling that this should be pulled out into a plugin for a while now.
It would also be my preferred method to deprecate.

Cucumber Ruby 5.0 - extract step/steps to plugin, include plugin in cucumber, deprecation warning
Cucumber Ruby 6.0 - remove steps from core functionality, users can use plugin if they wish

@tooky Couldn't Cucumber stay in the 4.x version as long as the new plug-in was automatically used by Cucumber? It's not really breaking behavior until the user has to start pulling in the additional library themselves.

Yes I think that’s true. My thought was I’d rather not suddenly get deprecation warnings on a minor or patch upgrade.
On 15 Jun 2020, at 11:20, Eric Kessler <notifications<EMAIL_ADDRESS>wrote:
@tookyhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftooky&data=02|01|Steve.Tooke%40smartbear.com|551e4e6dde934fcf91a908d81115bf5d|adbb47bc578642218ab22bb782d51a17|1|0|637278132391094455&sdata=F4B2B5b8adyllNWw4bpV7xWIvdNH%2Bs9ffOjFaNqmIX8%3D&reserved=0 Couldn't Cucumber stay in the 4.x version as long as the new plug-in was automatically used by Cucumber? It's not really breaking behavior until the user has to start pulling in the additional library themselves.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcucumber%2Fcucumber-ruby%2Fissues%2F1362%23issuecomment-644041382&data=02|01|Steve.Tooke%40smartbear.com|551e4e6dde934fcf91a908d81115bf5d|adbb47bc578642218ab22bb782d51a17|1|0|637278132391104451&sdata=%2FMpYWrUq72Bnc2ANSKagPoGeZJ6VQX%2F18efZ3wxvrXo%3D&reserved=0, or unsubscribehttps://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAAACXK4PT2XGC6FWNNP6KTRWXYXHANCNFSM4IZ5S5WQ&data=02|01|Steve.Tooke%40smartbear.com|551e4e6dde934fcf91a908d81115bf5d|adbb47bc578642218ab22bb782d51a17|1|0|637278132391114445&sdata=3h%2FXL2sACw9oaSybt6vqXUB7jYCp0V2j6YIX89akH4c%3D&reserved=0.
We hope you found this email of interest; however, click here if you wish to unsubscribehttp://www2.smartbear.com/SubscriptionCenter.html?utm_source=outlook&utm_medium=email&utm_content=emailsig or manage your email preferences. Privacy Policy.https://smartbear.com/privacy/

@marnen thanks for patiently explaining your use-case.
Having read this thread, I was about to suggest something along these lines when I saw that you already had:

I should mention for completeness' sake that I've been considering an option that turns the logic inside out:
Then /^I should see "(.+?)"(?: within "(.+?)")?$/ do |text, selector|
  with_selector(selector) do |page|
    expect(page).to have_text text
  end
end

Then /^I should see a cat GIF(?: within "(.+?)")?$/ do |selector|
  with_selector(selector) do |page|
    # code for locating cat GIF element
  end
end

private

def with_selector(selector, &block)
  within(selector || 'html', &block) # or something like that
end

...but I really don't like it: it requires rewriting every step that I ever use with the modifier, and has other maintainability issues as well. So far this is the best way I've found around using step, unfortunately.

Can you unpack those objections for me a bit more? Why do the existing steps need to be re-written? What are the other maintainability issues?

Why do the existing steps need to be re-written?

Because using this method, the within is defined (duplicatively!) in each step that uses it, rather than as a generically applicable modifier. That means that every time I want to use a new step with within, I have to rewrite its step definition.
Contrast this with what I currently do, where I write the within modifier once and it is then applicable to any existing step, without further rewriting the step definitions.
Does that answer your question? Do you need this explained further?

I hear ya @marnen.
The thing we're trying to avoid is where people try and evaluate Gherkin at runtime, like:
step("I am logged in as #{username}")

Instead of just extracting/calling a helper method:
login_as username

But I can see how you've made use of this feature to give you something powerful.
I wonder if we could do something that helped us to avoid the dynamic runtime Gherkin evaluation we're trying to avoid, but still have you this kind of functionality, something like:
Suffix("within {string}") do |selector, &step|
  within(selector || 'html', &step)
end

WDYT?

@mattwynne Thanks for the suggestion! I think your Suffix proposal is an interesting idea and could go a long way toward making all this work. (And we’d probably want Prefix and Circumfix too.)
I have a lingering fear that it’s too rigid, and I’m not sure I like the idea that it would work by creating lots of extra step definitions—couldn’t that cause a combinatorial explosion?—but it would certainly work for my use case.

Ref: https://github.com/cucumber-attic/gherkin2/issues/178

@mattwynne Ooh, I really love the macros idea. It seems like it would keep both reusability and readable Gherkin.


How to get the changed position and rotation of an a-box or a-plane

Hi fantastic people,
In my latest project, I am attempting to retrieve the position of either an 'a-box' or an 'a-plane' when I point the camera towards an image. The Three.js figure is visible, but when I use the code document.querySelector("a-box").object3D, I can see all its information, albeit unaltered. Even when I shake my phone, the values of scale, position, and rotation remain as the default information. I have also tried setting document.querySelector("a-box").matrixAutoUpdate = true, but it made no difference.
For some reason, the box (or plane) object does not provide its updated position, despite being visibly altered.
Note, this is my "scene":
  <a-scene mindar-image="imageTargetSrc: static/assets/lady/targets.mind; maxTrack: 2" color-space="sRGB" renderer="colorManagement: true, physicallyCorrectLights" vr-mode-ui="enabled: false" device-orientation-permission-ui="enabled: false">
               <a-assets>
	<img id="card" src="static/assets/softmind/card.png" />
 	 </a-assets>

      <a-entity mindar-image-target="targetIndex: 0">
 		        <a-box src="#card" position="0 0.1 0" color='purple' material='opacity: 0.8;' height="0.552" width="1" rotation="0 0 0"></a-box>

      </a-entity>

               <a-camera position="0 0 0" look-controls="enabled: false"></a-camera>

     </a-scene>

Note 2:
I know it must be possible, because I already made it work with vanilla AR.js & aframe.
Could someone provide me with a clue?
Thank you in advance.
Kind regards,
JN

Solved.

Hey, man. I think this is related to my issue as well.
It was mentioned on the docs that the AR engine only changes the position and the rotation of the entity in A-Frame but somehow, var rotationDegrees = this.videoPlane.getAttribute('rotation') doesn't work.
Tried getting the rotation property of both the a-entity and the a-plane, but the values don't change.
I'm planning to create a photocard that when rotated 180 degrees, plays another video and goes back to the original video when rotated back in real life.
how do I implement this? Do you know if we can do this using the A-Frame version or this solution only works with the Three JS version?


Update interface with Rosie

This pull request intents do update Jarbas' interface with reimbursements data to the most recent version exported by serenata-toolbox and rosie.
Since the end goal was to ensure everything works under a testing environment before pushing to production, I also made changes to the Docker setup. The current production environment was created and is still managed through Docker Cloud, discontinued in May. Therefore, this staging environment could ultimately become the new production.
The staging website is available at https://staging.jarbas.serenata.ai. At this moment, the server is running the task for loading suspicions into the database (reimbursements data should already be there).

The serenata/elm Docker image was not building for a month. Updating the dependencies (and removing a nuked package version) fixed the issue.


Import limits not respected

Import limits defined in pathvector.yml are not used when generating bird conf.
root@yyz1:~# pathvector version
Pathvector 6.2.1
Built 52583222f5d11d7f232d4c34a256abea7a4fa5eb on 2023-04-07T03:44:56Z
No plugins
BIRD: 2.0.7

root@yyz1:~# cat /etc/bird/AS6939_AS6939.conf | head -n 5
# as6939 AS6939
define AS6939_AS6939_IMPORT_v4 = 185000;
define AS6939_AS6939_IMPORT_v6 = 100000;

protocol bgp AS6939_AS6939_v4 {

Relevant YML:
  as6939:
    template: peer
    asn: 6939
    filter-irr: false
    import-limit4: 250000
    import-limit6: 250000
    neighbors:
      - "<IP_ADDRESS>"
      - "2001:504:125:e1::3"

I tend to use receive-limit(4/6): as.. it's not what is imported, it's what's been sent full stop :)

Do you have auto-import-limits enabled? If so, try disabling in the as6939 peer block.


Use paintMask layer in Double raycasting

Code casts ray from up towards the mesh being painted one.
Hovewer this raycast not using paintMask could collide with some
colliders in between.
Example use-case is painting on the bottom of the lake and rays colliding
with water plane. Or perhaps painting prefabs inside a building with a roof.

I just realized that implementation is not correct.
I should not add paintMask to second raycast. Second raycast should hit freshly started object and it does not necessarily has paintMask layer
I could probably use RaycastAll with layer of just created object.

FYI @AlexanderAmeye some additional comments/insights after working with the code:

Problem might still occur. Theoretically object of mask paintMask could still be inbetween 'sky' and 'mesh-im-painting-on'.

The 'proper' solution would probably be to use RaycastAll and look for wanted object in the list. If I hit the problem again I will probably fix it but for now leaving comment to spread the knowledge.

Also I'm not sure why we need first raycast. Don't we already have the point on the surface we're painting on? We use it for drawing gizmos and visualize brush in inspector.


Add hint to Falsy Bouncer challenge description

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #12433

Description

Updates the Falsy Bouncer challenge description to include a hint
to help campers understand how they should approach the challenge
without revealing too much information or locking the camper into
a particular solution.

@systimotic - I've amended my commit!


Raise HTTP timeout on call to Mesos to 30 seconds from 1 in line with Tim's advice

Codecov Report

Merging #86 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master      #86   +/-   ##
=======================================
  Coverage   60.47%   60.47%
=======================================
  Files          18       18
  Lines        1842     1842
=======================================
  Hits         1114     1114
  Misses        618      618
  Partials      110      110

Impacted Files
Coverage Δ

dcos/finder.go
63.15% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add mechanism to add additional MDC context to web requests

Description
Applications owners want to be able to add additional contextual
information in the MDC in such a way that gets included into the
ExceptionHandlingInterceptor and RequestLoggingInterceptor.
There are two possible ways to implements this:

Add a way to enrich the RequestLogContextInterceptor. This approach
is less flexible but way simpler to understand.
Add a way to change the order in which web interceptors are executed,
so application owners can put their interceptors before
RequestLoggingInterceptor. However, this approach could be error-prone
as interceptor ordering is complicated.

@swankjesse RequestLogContextInterceptorTest is testing the behavior still works

LGTM @frojasg


Custom :state attribute always returns error due to bug

When a custom attribute for the state is defined:
state_machine do
  initial_states([:initial_state])
  default_initial_state(:initial_state)
  state_attribute(:state)
end

attributes do
  attribute :state, :string do
    allow_nil? false
    default :initial_state
    public? true
  end
end

The following error is thrown:
** (Spark.Error.DslError) [ResurrectRegistry.Credits.Credit]
attributes -> state:
  Expected the attribute state to have `default` set to :issued

Digging deeper I found that the default :initial_state attribute option arrives inside the transformer converted to a string:
attribute #=> %Ash.Resource.Attribute{
  name: :state,
  type: Ash.Type.String,
  allow_nil?: false,
....
  default: "issued",
...
}

And so the comparison attribute.default != default compares :initial_state with "initial_state" and always returns an error.

Will do soon!

The problem was that I declared a state attribute myself, and that it had typed :string instead of :atom. This explains why the default value came back as string instead of an atom. I also assumed I had to create a custom attribute myself which turns out it wasn't necessary. I permitted myself to add this to the docs in #62.


BASE_PATH no longer works

Describe the bug
It looks like after the switch to nginx as a server for the docker image, the BASE_PATH environment variable no longer works for running this project under a base path.
To Reproduce
Steps to reproduce the behavior:

Run the docker image with the provided script in the README: docker run -d --restart=always --name="meilisearch-ui" -p 7701:24900 -e BASE_PATH="/meilisearch-ui" riccoxie/meilisearch-ui:latest
Go to that path localhost:7701/meilisearch-ui
See 404 page, and requests are being made to localhost:7701/ for assets, CSS, etc.

Expected behavior
Expect to see the project is hosted correctly at the base path of /meilisearch-ui and that requests are relative to that URL for assets, CSS, and scripts.
Screenshots

Environments (please complete the following information):

OS: macOS 14.7.1
Browser: Firefox
Version latest (v0.10.0)

Additional context
I am pretty sure this is because the project switched from vite serving the files, which would have respected the BASE_PATH, to nginx serving them, which would only know about the base path from build time which is just /. You can see that versions before the switch to nginx work fine, e.g. I tested v0.6.12 and it works as expected.
Not sure how to best get around this issue, as serving the static built files is much better for the docker image, but it breaks this feature unfortunately. Maybe there is a way to do this with some nginx template config that gets updated at run time based on the environment variables?

Yeah,it happens in my test

Still try to find a way to use env variable in nginx location directive.

After days of research, the best solution maybe rollback to use vite as server instead of web servers like Nginx & Caddy.
Because base path function of SPA router we used relies on build runtime env rather than production runtime. They can not be process by BASE_PATH in production runtime automatically.
It should be compatible with vite server.
The question is that docker image size will be almost 2x larger (close to 200 MB) when using vite by adding necessary dependencies.
I'd love to hear everyone's thoughts on this. Especially @bangbang93 who created a PR to optimize docker image size by using Nginx.

Maybe the best solution is to build two docker images. Running a vite server is not only makes the image large, but also memory-hungry. It starts with I noticed something wrong was running this in a small VM with 2GiB memory. The vite server was oom-killed because of its using more than 1.8GiB of ram and is still building and requesting more ram.


how long to wait for Morgoth to detect an anomaly

Hello
sorry , but a newbie
I wonder how long tit takes for Morgoth to start detecting anomaly
assuming a run every 1 minute, and a scoreField of 0,98 ,
am I wrong to  deduce that  I will need to wait at least 51 minutes to detect one anomaly ( as it need to occur less than 2% , hence )
thanks for feedback
Philippe

Hello,
I also wonder the answer of this question? How long does it take to detect anomaly?
I implemented your example in my environment and made cpu usage 100% on one of my server but I did not receive any alert.
Does it work with kapacitor 1.5?
Thanks.


Add urllib3 with 'secure' extras to requirements

So, this gives the secure "extras" for urllib3, and this (besides making it more secure) squashes the SSL warnings.  I'm not positive that this is the idiomatic way to handle this kind of thing, so let me know what you think.

I think this is the way to do it. It will install all required dependencies
Ref: https://urllib3.readthedocs.io/en/latest/user-guide.html#ssl-py2


License question

May I ask what license this app falls under? Without a license specified, it's "all rights reserved" (and "source available"). Is it FOSS (free/libre open source)? When unsure, you can e.g. refer to spdx for a list of licenses and see which are approved by FSF/OSI. Thanks in advance!

Thanks, I actually did not know the "without a licence it is all rights reserved" bit.
I thought it is more like free for all.
I will go with MIT.

Thanks a lot! I've just added your app to my repo then (should show up here around 6 pm UTC with the next sync). Updates will be fetched within 24h of your creating a new tag and attaching an APK to it. Users of my repo will then receive update notifications. Be welcome to pick a badge to link there if you wish :smiley:

I actually did not know the "without a licence it is all rights reserved" bit.

Apologies, I forgot to explain that part. You wrote the code, and you published it – that only means everybody can see it. As long as you don't specify on what conditions it can be used, that's like showing your paintings in a window: I can look at them, can make a high-res photo – but am I allowed to print that and sell the poster? Only if you put a declaration next to it permitting me to do so (otherwise you could send your lawyers for copyright violation / PI infringement). Same with the code: by only publishing it you permit everyone to see it (and make a copy for personal use) – but if I used your code in my own software… You get the idea :wink:
Thanks again!


POSIX Compatibility?

I have been trying to make your code compatible with POSIX systems however I have had a hard time trying to understand what glad is from what I have read is it the same as glew however I'm not sure is it is a library as I havn't been able to find it in any repos from any linux distro. So what is glad and what is it used for? Also what do you use glfw3 for? Doesn't freeglut have the same operation but is just cross platform?

In case you are still interested I've just ported it to Linux https://github.com/JamesRandall/SimpleVoxelEngine/pull/6


Use smaller internal data format when possible

From looking at some examples, it appears that data is always loaded to float64 arrays. For example in https://github.com/gjoseph92/stackstac/blob/5f984b211993380955b5d3f9eba3f3e285f6952c/examples/show.ipynb, loading the RGB bands of a Sentinel 2 asset (rgb = stack.sel(band=["B04", "B03", "B02"]).persist() ) creates an xarray dataset of type float64. It seems to me that you could improve performance (or at least memory usage) if you were able to use a smaller data type when possible.
You could look at the raster:bands object if it exists to optimize the xarray data type. If the extension doesn't exist, or if the bands have mixed dtypes, then fall back to float64?

Using float64 by default was an intentional choice because

raster:bands didn't exist when I wrote everything a few months ago, so there was no way to know without actually fetching data what the native dtype of the asset would be. But we have to know that ahead of time to correctly construct the dask array. So float64 seemed like the safest default, since anything else could lose precision.

rescale=True by default, which uses the scale_offset metadata defined within each GeoTIFF (not known within the STAC metadata) to apply rescaling. So even if the asset were uint16 to begin with, it could become float64 after applying rescaling—yet another reason why that default made sense.
However from what I've seen, nobody really sets the scale_offset metadata at the GeoTIFF level, so I think this might be reasonable to remove. It would make thinking about dtypes a lot easier.

Note that you can control the dtype using the dtype= parameter to stackstac.stack. You'll also want to set rescale=False if doing this, as noted in the docs.
I'd really like to make this automatic though. I think raster:bands is the missing link to allow us to do that. Having data_type, scale, offset, and nodata in metadata really changes the game!