issue#5.35

Description 📜
Briefly explained  the gRPC...
Fixes # 5.35

Type of change 📝

[ ] Audio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Video (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[ x ] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev (Flutter, Java, Kotlin)
[ ] Backend Dev (Java, .NET, Python)
[ ] C/CPP
[ ] Competitive Programming
[ ] Cyber Security
[ ] DSA
[ ] Database
[ ] Datascience with Python
[ ] Datascience with R
[ ] Frontend Dev HTML/CSS/JS
[ ] Frontend Dev React/Angular/Vue
[ ] Golang
[ ] Interview Prep
[ ] Java_Domain
[ ] JavaScript
[ ] MERN
[ ] Machine Learning
[ ] Open Source
[ ] Python_Domain
[ ] Rust
[ ] Statistics
[ ] UI/UX

Checklist ✅

[ ] I follow Contributing Guidelines & Code of conduct of this project.
[ ] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My changes generates no new warnings.
[ ] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@riyapandey730 completely broken template... whichdomain do want to contribute to?
Just follow the directives... make another PR

what the mistake i made

@riyapandey730
Delete all other domains from your comment.. like mentioned in official GWOC PR template directives
Kindly follow the issue template from next time ... & preach this to your fellow contributors

@riyapandey730  I handled them for now...
Teach this to your peers too, okay... next time only yor domain


Quest requires special manifest entry to enable system keyboard, not documented

Describe the bug
Not able to enter either textbox in the example scene - Could be related to not having the motion controllers for Quest
To reproduce

Launch Input Field Example scene
Observe not being able to interact with textboxes using hand-cursor

Expected behavior
Can select and interact with textboxes with hand-cursors
Your setup

Device Quest
Unity Version [2020.3.37f1]
Commit Version acdecca31b97720a6fcda057cc35b3815ad56a02

Target platform

OpenVR

Known issue! Special steps have to be taken to update the Android manifest file to enable the system keyboard.
@MaxWang-MS , we should get this documented and/or get a custom build processor step to apply this manifest change on build.

After a discussion with @keveleigh we decided to not create a custom build processor for this and instead we are documenting this issue in MRTK3 docs.


Proposal for parsing pagination metadata

Hi @pedsmoreira, I can't find a way to implement pagination. I usually, add more pagination data as metadata like this
{
   "metadata": {
        "resultSet": {
             "totalItems": 300
        }
   },
   "response": [
          <array of data here>
   ]
}

So I suggest PremiereJS expose a hook so that we can parse metadata and store it in Store maybe. What do you think? Thank for all your effort!

Hi @rualatngua, thanks for the feedback. I think it's a great idea! Having the option to customize the response parsing would indeed be very helpful.
I'll keep this issue opened until it's implemented.
Thanks

Hi @rualatngua. This is being implemented on v0.2. There's a PR open with the version changes.
The v0.2 should be released in the next days, once I fix the documentation.

The documentation is still to be improved, but it's now possible to provide a callback to intercept the response. When calling a store or model method, just provide a callback property in the options. This callback receives the response and should return the data to be processed.
Given your example, this is how it would look like:
const callback = (response: AxiosResponse) => {
    const data = response.data;

    SomeVariableToStoreMetadata.store(data.metadata);
    return data.response;
};
User.index({callback});


[ Enhancement ] Explicitly set Docker networking CIDR range

During a recent client deployment today, it was noticed that SSH access to the host VM was lose as soon as docker compose up was run. This was ultimately determined to be caused by a clash between the CIDR range assigned to the VPN used to contact the private network and the CIDR blocks the docker daemon assigned to the newly-created `frontend & backend networks.
For more details see here and here.
The problem was fixed by adding an additional entry into the Docker daemon.json file:
  "default-address-pools":
  [
    {"base":"<IP_ADDRESS>/16","size":24}
  ]

Reports from the client's networking team indicates this is a good range to use since it is a pubic range and unlikely to collide. We should confirm this as well and implement in all three potential blocks in the daemon.json.

Tasks:

[ ] Add variable docker_cidr_range to variables.tf.
[ ] Add variable docker_cidr_range with default "<IP_ADDRESS>" to TEMPLATES/terraform.tfvars.
[ ] Add variable docker_cidr_range with default "<IP_ADDRESS>" to existing terraform.tfvars.
[ ] Modify local.docker_logging in 009_define_file_templates.tf to include docker_cidr_range as interpolated value.

Success.


require "rom/model" in rom-rails is missing dependencies

We need to add requires for all the AM parts that we depend on. Other things to check:

require "rom/model/form" should work
require "rom/model/attributes" should work
require "rom/model/validator" should work

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/25215739-require-rom-model-in-rom-rails-is-missing-dependencies?utm_campaign=plugin&utm_content=tracker%2F155789&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F155789&utm_medium=issues&utm_source=github).

This issue was moved to rom-rb/rom-rails#41


DEP: remove special.btdtr and special.btdtri

Describe your issue.
Both functions have been announced to be removed in 1.14:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.btdtri.html
https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.btdtr.html
These were originally deprecated in https://github.com/scipy/scipy/pull/17697/commits/40ebe8dac578e03e5ccfd466a9ed4a205496d79d from #17697

Hello,
I'm interested in working on this issue. Does it simply require to remove all references to special.btdr and special.btdtri?
If yes, I will remove the references to these functions that were deprecated in 40ebe8d.

@IamPhytan : thanks for your interest to contribute.Yes, essentially it boils down to removing all references to these functions and all tests of them. You will find references in many places as special has Cython and Python wrappers for these functions. Looking forward to your PR :).


submit assessment

didn't finish, focused on functions.

4.25 / 5 (-0.75 on Q3)
Very nice job here, Ryan. You've been putting in a lot of effort, and it shows. Keep up the good work.

thanks, ruby is coming along better than js.
On Thu, Jul 16, 2015 at 10:21 PM, Matt Brendzel<EMAIL_ADDRESS>wrote:

4.25 / 5 (-0.75 on Q3)
Very nice job here, Ryan. You've been putting in a lot of effort, and
it shows. Keep up the good work.
—
Reply to this email directly or view it on GitHub
https://github.com/ga-wdi-boston/ruby_objects_assessment/pull/15#issuecomment-122151183
.

A lot of this stuff builds - once you learn the one thing, the next thing becomes that much easier.


Language support

Problem statement

Given: I'm using the .jsbeautifyrc configuration below,
When: I format files supported in js-beautify 1.14.x with beautify.beautifyFile command
Then: The output is not formatted.

Acceptance criteria

[ ] Wire up document formatting contribution for extension.
[x] Support formatting JSX, HTML, CSS, SCSS, and SASS files.

Additional context

Operating System (+Version): Windows 11 2H22
VS Code Version: 1.78.0
JS Beautify Version: 1.5.12

Fixed by #4


Adding vaults owned in Address page #522

Added Vaults to Addresses page
Extracted duplicated code to React components to reuse them in Vaults page and Address page
Added e2e test for Address Page, Vaults section (mobile and desktop)
Added UTC variable for cypress UI mode

What kind of PR is this?:
/kind feature
What this PR does / why we need it:
Adds vaults owned by an address
Refactor to avoid code duplication and file bloating
Sample Links & Screenshots:

Link: https://deploy-preview-725--defi-scan.netlify.app/address/df1q62qy69r4v0mrffgy2emjvu5wv07ky3x0s3tz56

Desktop Screenshot

Mobile Screenshot

Additional comments?:
Developer Checklist:

[x ] Read your code changes at least once
[x] Tested on multiple web browsers
[x] Tested responsiveness (e.g, iPhone, iPad, Desktop)
[x] No console errors
[ ] Unit tests*
[x] Added e2e tests*

Note: Previous to my changes the code shows the errors in the image bellow.

Note:
The bloated file was Vaults page. I extracted it's code to components to be reused by Address page.
Regarding Code Climate comments I can refactor further but I already extracted code from Vaults to components.


move go-swan to separate project go-swan

Codecov Report

Merging #350 into master will increase coverage by 0.63%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #350      +/-   ##
==========================================
+ Coverage   42.11%   42.75%   +0.63%
==========================================
  Files          12       12
  Lines       10175    10175
==========================================
+ Hits         4285     4350      +65
+ Misses       4742     4679      -63
+ Partials     1148     1146       -2

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 529ce2f...7a3581b. Read the comment docs.


Document how to show OS native splash screen

Final result
https://github.com/JetBrains/compose-multiplatform/assets/29678011/e5120290-ec79-43ab-a684-4d3ff244d52e
Problem
Compose (Java) applications usually take a little time to start.
I did not find any guide about how to show a native splash screen (not an "artificial" app splash screen) before the app is ready, so wanted to mention it here. Feel free to close the issue.
Solution
It seems Java supports showing operating system native splash screen while the app is being started:
https://docs.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html
I only tested it on Windows.
So, in the build script I added this:
compose.desktop {
    application {
        nativeDistributions {
            appResourcesRootDir = (rootDir.toPath() / "assets").toFile()
            // ...
        }
        // The image path is relative to the app (Java) working directory
        // which is the app installation root directory (where the .exe file resides)
        jvmArgs += "-splash:app/resources/splash-screen.gif"
        // ...
    }
}

It uses the splash-screen.gif image placed in <PROJECT_DIR>/assets/common/ directory.
See Adding files to packaged applications for more information.
The splash screen works when the app is launched with its installed exe or one of run*Distributable tasks.
To also set the splash for application fat/uber jar (created with one of package*UberJar* tasks),
copy the splash image into classpath (like src/main/resources directory)
and update all the Jar tasks in the build file like below:
tasks.withType<org.gradle.jvm.tasks.Jar> {
    manifest {
        attributes["SplashScreen-Image"] = "image.gif"
    }
}

Sidenote
Probably related issue: https://github.com/JetBrains/compose-multiplatform/issues/200
It seems that Windows does not respect the GIF speed and no-loop settings and
plays the animation at a low frame rate. See https://stackoverflow.com/q/25382400

In my project for a Windows Desktop app I got the splash screen working by adding the following, based on the above:
project-root
│
├── common
│   ├── src
│   │   ├── commonMain
│   └── build.gradle.kts
│
├── desktop
│   ├── assets
│   │   ├── common
│   │   │   ├── loading.gif  // added gif here
│   ├── src
│   │   ├── desktopMain
│   │   │   ├── kotlin
│   │   └── ...
│   └── build.gradle.kts
├── build.gradle.kts
│ ...

In my desktop/build.gradle.kts I added:
compose.desktop {
   application {
      mainClass = "MainKt"
      nativeDistributions {
         appResourcesRootDir.set(project.layout.projectDirectory.dir("assets")
         jvmArgs += "-splash:app/resources/loading.gif"
         // etc.
      }
   }
}

I agree that it would be helpful to get this added to the documentation!

To make it work whatever is the working directory when invoking the app I had to use:
jvmArgs += "-splash:${'$'}APPDIR/resources/splash.png"

@eskatos

jvmArgs += "-splash:app/resources/splash-screen.gif"

this doesn't work for me. where (or when) is $APPDIR set?

is there any solution to show the splash screen on all platforms when started from an installed application (msi, exe, dmg, deb, rpm) ?
none of the above seem to work

I think using a simple (undecorated) frame works. JVM itself doesn't take long. Even on my Virtual Windows (which takes 1-2 seconds to load the calculator app), the splash screen appears in less than a second.
Put the splash screen and icon in the resources directory common file as per the docs on adding files.
package com.ustadmobile.port.desktop

import java.awt.Dimension
import java.awt.Frame
import java.awt.Graphics
import java.io.File
import javax.imageio.ImageIO

/**
 * Display a splash screen. We can't use the SplashScreen API because conveyor uses its own loader.
 */
class SplashScreen: Frame() {

    private val splashDir = File(System.getProperty("compose.application.resources.dir"), "splash")

    private val iconDir = File(System.getProperty("compose.application.resources.dir"), "icon")

    private val splashImage = ImageIO.read(File(splashDir, "splash.png"))

    private val iconImage = ImageIO.read(File(iconDir, "icon-512.png"))

    init {
        preferredSize = Dimension(splashImage.width, splashImage.height)
        isUndecorated = true
        pack()
        setLocationRelativeTo(null)
        setIconImage(iconImage)
        isVisible = true
    }

    override fun paint(g: Graphics) {
        super.paint(g)
        g.drawImage(splashImage, 0, 0, this)
    }

    fun close() {
        isVisible = false
    }

}

Then in your application
fun main() {
   var splashScreen: SplashScreen? = SplashScreen()

   application {
       ...
       //When ready (e.g. inside Window composable)
       LaunchedEffect(Unit)  {
          splashScreen?.close()
          splashScreen = null
       }
   }

hm maybe it's because my resourceroot dir ist set differently, and my directory structure is different
https://github.com/Zoxcore/trifa_material/blob/9054bdba7232bda66c8a9ad43c1ab6a1a9ce1fdd/build.gradle.kts#L118
but even then it does not work for me.
i tried many combinations, also this:
https://github.com/Zoxcore/trifa_material/blob/master/build.gradle.kts#L156
what does "running the application distributable" mean exactly? does it mean install .deb and run?
if so, thats not working. can i see (or log) at runtime what value is set for $APPDIR?

https://bugs.openjdk.org/browse/JDK-8231910
They are only expanded when used in --java-options, not when used in --arguments
how do i add java options to the build.gradle.kts file?

@zof99 There is documentation available on appResourcesRootDir. To debug your case I'd suggest trying the following:

Included resources can be accessed via compose.application.resources.dir system property:
import java.io.File

val resourcesDir = File(System.getProperty("compose.application.resources.dir"))

fun main() {
    println(resourcesDir.resolve("resource.txt").readText())
}

You could probably figure out which directory is being set and what it's contents are using the above.
I didn't figure out how to get my splash gif to show up when just using compose desktop run in development mode, but with my above layout it does show up when I have installed the app with in an exe or msi build and start it up.

now i specify to args like this:
            jvmArgs += "-splash:${'$'}APPDIR/resources/splash_screen.png"
            jvmArgs += "-splash:resources/splash_screen.png"

and put the image in those 3 dirs:
./resources/common/splash_screen.png
./resources/splash_screen.png
./src/main/resources/splash_screen.png

now it works for me with gradlew run and when installed from .deb package
i can't test for windows and macOS

its a horror. why is something like this not properly working out of the box in 2024?

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Replace raw COM object of file drop and use webview2 API directly

Since webview2 1.0.721 has been stable for a while and we have changed our dep to windows-rs thanks to @wravery which can auto generate all bindings for us.
We should use webview2's API to handle file drop instead of defining COM object ourselves.
https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2compositioncontroller3?view=webview2-1.0.1369-prerelease

Unfortunately we will still need to define a COM object and then forward it to webview2. I have an implementation here https://github.com/tauri-apps/wry/tree/drag-drop-webview2 but webview2-com doesn't have the necessary interface yet see https://github.com/wravery/webview2-rs/issues/11

Omg, I am dumb, thanks @FabianLars I didn't notice I was looking at the pre-release


python312Packages.vacuum-map-parser-roborock: 0.1.1 -> 0.1.2

Diff: https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock/compare/refs/tags/v0.1.1...v0.1.2
Changelog: https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock/releases/tag/v0.1.2
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

5 packages built:

home-assistant-component-tests.roborock
python311Packages.vacuum-map-parser-roborock
python311Packages.vacuum-map-parser-roborock.dist
python312Packages.vacuum-map-parser-roborock
python312Packages.vacuum-map-parser-roborock.dist


Add flagd UI

Changes
We're adding a user interface to the demo, through which users of the demo can update the Flagd feature flag configuration file in a more user friendly way.
Finished changes

Created the flagd-ui directory

Initialized a Next.js application
Created a basic view in which users can set flags in a user friendly way
Created an advanced view in which users can interact with the json directly from the app (includes json schema checking to ensure that the file stays valid)
Created a navigation bar to be able to navigate easily between the views
Instrumented with OpenTelemetry automatic instrumentation
Added Dockerfile

Made necessary changes to docker-compose.yaml (config file is mounted as a volume)
Made changes to the frontend-proxy configuration so this UI is accessible at :8080/feature

Suggested roadmap for future contributions

Support for fractional targeting
Solution for compatibility with flagd sidecar containers for general usage (outside of the demo)

Merge Requirements
For new features contributions, please make sure you have completed the following
essential items:

[x] CHANGELOG.md updated to document new feature additions
[x] Appropriate documentation updates in the docs
[x] Appropriate Helm chart updates in the helm-charts

Maintainers will not merge until the above have been completed. If you're unsure
which docs need to be changed ping the
@open-telemetry/demo-approvers.

Hey @maindotmarcell, I'm Mike from the OpenFeature team. Thanks for getting this started! Please let me know if you need our support.
By the way, I've been experimenting with a flagd compatible rule builder React component. Perhaps I could contribute to that once the initial version is live.

Hi @beeme1mr, sounds awesome! Thanks for letting me know, we could definitely add something like a rule builder to this eventually :)

Hi @maindotmarcell, there are some failing checks related to markdown-lint, sanity, and license. Could you fix those so we can proceed with the PR?

Basic view:

Advanced view:

With 1.11.1 images, and built-from-source frontend-proxy and flagd-ui images it works fine at my side. I checked the flags from frontend: As soon as I saved in the Ui, a new EvenStream request ran, fetching the fresh flag values.

@rogercoll Thank you for the feedback! Good point, I'll add the service in the workflows :)

@rogercoll I added the changes to the workflow, could you please check if this is correct please? 🙏

@julianocosta89 I've addressed all the changes you requested. Applied everything with the exception of changing otel exporter from http to grpc as for now I could only get it working with http. Let me know if you have any additional remarks :)

@maindotmarcell would you be able to resolve the changelog conflict?
I'll merge the PR after that.

@julianocosta89 Awesome! just did it :)


Add JDK-21 to GA worklflows

Description
Add JDK-21 to GA worklflows
Issues Resolved
Part of https://github.com/opensearch-project/OpenSearch/issues/10334
Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[x] New functionality has been documented.

[x] New functionality has javadoc added
[x] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

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

Merged https://github.com/opensearch-project/sql/pull/2476.
Rerunning failed workflows.


Typo fix

Signed-off-by: Lihua Tang<EMAIL_ADDRESS>

needs make proto

@Lihua93 are you able to update this PR per @AkihiroSuda's comment? You must run make proto and commit the output files changed as well.

Codecov Report

Merging #2616 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2616   +/-   ##
=======================================
  Coverage   45.04%   45.04%
=======================================
  Files          92       92
  Lines       10106    10106
=======================================
  Hits         4552     4552
  Misses       4834     4834
  Partials      720      720

Flag
Coverage Δ

#linux
48.78% <ø> (+0.02%)
:arrow_up:

#windows
41.8% <ø> (ø)
: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 308d3cb...af23a4c. Read the comment docs.

LGTM


X Error: BadDrawable (invalid Pixmap or Window parameter) 9

Please describe the issue in as much detail as possible, including any errors and traces
When running sudo howdy test, I see an infinite loop of the following error on the console after the window opens:
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x1a00010

I've searched for similar issues already, and my issue has not been reported yet.
I searched for "baddrawable" and "pixmap" in issues and found no other issue.
Linux distribution (if applicable):
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Howdy version:
$ sudo apt list howdy
Listing... Done
howdy/bionic,bionic,now 2.5.1 all [installed]

googling the error i found a similar error at
https://github.com/P0cL4bs/WiFi-Pumpkin-deprecated/issues/53
and provides a workaround
https://github.com/P0cL4bs/WiFi-Pumpkin-deprecated/issues/53#issuecomment-222999004
so I was able to get it to run with
sudo QT_X11_NO_MITSHM=1 howdy test

See also #23


Enhance theme

Changes:

loaded theme table is nolonger stored in
configs and thus not passed
to components. Insted it's cached in highlights.lua
Reintroducing clear_highlights turns out themes can still change if
setup is called more than once
Now lualine doesn't crash from invalid theme name

These changes are actually better out of #141 luckily cherry-pick went easy on me this time .
There's one more line of highlight change that I would like to bring here but int's too deep . I might look into it later if #141 isn't merged by then :)

@hoob3rt If you have some time to review today . can you take a look at this one. It's fairly small. And you probably won't find issue with it . Also I'll be fairly free today . So if you've time we can do a bit of work on #141 😃

Make sure that lua-format is applied to all files. After that lgtm

I've applied lua-format on last commit

Yeah lgtm now, sorry for lagging with reviews. I have a lot of stuff going on atm 😕

👍 Are we getting #141 too?

👍 Are we getting #141 too?

Not right now unfortunately as stated in another pr


Speed up 10x

This implementation makes several minor improvements, and reduces Big O complexity from O(n2) to O(n) in cases where minKeywordFrequency > 1.
On the new benchmark.spec.ts, the overall speed on my laptop went from 147ms to 13ms.
Big O
Previous implementation iterated over the entire phraseList for each phrase when minKeywordFrequency > 1.
This implementation uses a map of phrase frequency to filter out infrequent keywords.
Additional Tests
See tst/index.spec.ts.
Minor Changes

Update the way we query brill to use different capitalization schemes.
Allow a more "rules-based" approach to raw keyword filtering using AcceptabilityFilter functions.
Use \b instead of custom word boundaries.
Remove lodash dependency.

Will add phrase extraction algorithm that allows whitespace-separated keywords in a phrase


Readme: Fix hash in url

Just a small URL fix

this one was in the meantime fixed with 0cd54b5493e2446ff8bcdc029e4a6fac04c35016


[Question] Setup Caldera & Empire in RTO

Any tips on how to start caldera and Empire in the RTO box?
Pls what the docker command to do this? I'm struggling to get it to work...

Hey @me009 , sorry for the late response. There were a few commits pushed at the beginning of the week. and I just updated the Caldera docker image I created. Let me know if it works now after the update. To start Empire or Caldera, you can follow the steps taken in the script available here: https://github.com/hunters-forge/Blacksmith/blob/master/aws/mordor/cfn-files/scripts/default/Install-C2s.sh#L91-L101 . remember you can only run one C2 at the time. A few ports overlap. Let me know if those commands work.


Nearest smaller to right - C++

Can I add a solution to this problem?

@SanskritiKushik5
Sure , go ahead :)
please don't forget to add little info about the program using comment line at begging of the program.


Just so you know, the state codes for the country Malaysia is all wrong

The state codes for every state in Malaysia is a numeric, when it should be a two letter code.

You can make a PR and correct it. :-))


Switch to Black

We have lots of commits fixing PEP8 issues, and one of the most common test-failures are PEP8 checks. We could get rid of this by using Black to auto-format all code.
This would mean that we no longer have control over the precise formatting of the code. But the code formatting of Black looks very reasonable, and it would eliminate lots of wasted effort on manually formatting the code.
What do you guys think?

That looks like a good idea. How do we enforce that every contributor use it?

Absolutely in favor of it! We can add black --check sacred to travis. See https://www.mattlayman.com/blog/2018/python-code-black/

Is there a way to make it the default pre-commit hook for this repo by adding a file or something? Is that a thing?  It is a nice idea, but all I could find was https://github.com/Mariatta/black_out. However, it seems like this is rather experimental and would have to be deployed by ourselfs. So I would rather have everybody install the pre-commit hook once.

We could add the pre-commit package to the dev-requirements and a .pre-commit-config.yaml file. Developers would still need to run pre-commit install once, but after that all should be taken care of.
There is also the restyled.io GitHub App, which I believe checks each PR and if needed creates a new PR with formatting changes that can be merged into the original PR. Haven't tried it yet, but seems promising.

I believe that pre-commit install is fine. Modifying PRs might be overkill. Also because contributors will have to do a git pull if the PR is modified externally.
If black fails on the CI, we should display a nice error message if possible explaining to do pre-commit install.

@Qwlouse We now have a .pre-commit-config.yaml for exactly that. restyled.io indeed looks like the right thing, but maybe we just leave it for now.
@gabrieldemarmiesse I believe the error message from black --check is already quite good as it explicitly prints the files that would have been affected by reformatting.


Problem encountered on https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/run

Problem encountered on https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/run
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

@danroth27 @captainsafia can you help with this issue?

@ArchanaVyas It looks like you're trying to browse to https://localhost:7137/Components/Pages/Home.razor, but that's the path to the Razor file on disk, not the route to the actual server endpoint. The Home.razor component is set up to handle request to the root of the app. Can you try browsing instead to https://localhost:7137/?

Good catch @danroth27! @ArchanaVyas let us know if changing the URL works for you.


Patched UserCache + added Text Clipping

I patched the UserCache since it threw an error when loading the likes
I added text clipping to the bio (up to 3 lines) because there are some people with 25+ lines of bio text

@tajnymag

lgtm


[BUG] get_highest_resolution() doesn't return HD video for progressive = True

Describe the bug

Since version 6.2.x,  get_highest_resolution() doesn't return HD video + audio tag.
Only <Stream: itag="18" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.42001E" acodec="mp4a.40.2" progressive="True" type="video"> is available.
Other streams are either video only (HD available) or sound only.
Am I the only one getting this?

To Reproduce
Steps to reproduce the behavior:
from pytubefix import YouTube
from pytubefix.cli import on_progress

url = "https://www.youtube.com/watch?v=zTjRZNkhiEU"

yt = YouTube(url, on_progress_callback = on_progress)
print(yt.title)

ys = yt.streams.get_highest_resolution()

print("Highest resolution:", ys)

ys = yt.streams

print("List of available streams:")
for i, item in enumerate(ys):
    print(i, "/", item)

Expected behavior
As seen below, only low definition (360p) is available for video + sound stream.
Learn Git – Full Course for Beginners
Highest resolution: <Stream: itag="18" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.42001E" acodec="mp4a.40.2" progressive="True" type="video">
List of available streams:
0 / <Stream: itag="18" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.42001E" acodec="mp4a.40.2" progressive="True" type="video">
1 / <Stream: itag="313" mime_type="video/webm" res="2160p" fps="30fps" vcodec="vp9" progressive="False" type="video">
2 / <Stream: itag="401" mime_type="video/mp4" res="2160p" fps="30fps" vcodec="av01.0.12M.08" progressive="False" type="video">
3 / <Stream: itag="271" mime_type="video/webm" res="1440p" fps="30fps" vcodec="vp9" progressive="False" type="video">
4 / <Stream: itag="400" mime_type="video/mp4" res="1440p" fps="30fps" vcodec="av01.0.12M.08" progressive="False" type="video">
5 / <Stream: itag="137" mime_type="video/mp4" res="1080p" fps="30fps" vcodec="avc1.640028" progressive="False" type="video">
6 / <Stream: itag="248" mime_type="video/webm" res="1080p" fps="30fps" vcodec="vp9" progressive="False" type="video">
7 / <Stream: itag="399" mime_type="video/mp4" res="1080p" fps="30fps" vcodec="av01.0.08M.08" progressive="False" type="video">
8 / <Stream: itag="136" mime_type="video/mp4" res="720p" fps="30fps" vcodec="avc1.4d401f" progressive="False" type="video">
9 / <Stream: itag="247" mime_type="video/webm" res="720p" fps="30fps" vcodec="vp9" progressive="False" type="video">
10 / <Stream: itag="398" mime_type="video/mp4" res="720p" fps="30fps" vcodec="av01.0.05M.08" progressive="False" type="video">
11 / <Stream: itag="135" mime_type="video/mp4" res="480p" fps="30fps" vcodec="avc1.4d401f" progressive="False" type="video">
12 / <Stream: itag="244" mime_type="video/webm" res="480p" fps="30fps" vcodec="vp9" progressive="False" type="video">
13 / <Stream: itag="397" mime_type="video/mp4" res="480p" fps="30fps" vcodec="av01.0.04M.08" progressive="False" type="video">
14 / <Stream: itag="134" mime_type="video/mp4" res="360p" fps="30fps" vcodec="avc1.4d401e" progressive="False" type="video">
15 / <Stream: itag="243" mime_type="video/webm" res="360p" fps="30fps" vcodec="vp9" progressive="False" type="video">
16 / <Stream: itag="396" mime_type="video/mp4" res="360p" fps="30fps" vcodec="av01.0.01M.08" progressive="False" type="video">
17 / <Stream: itag="133" mime_type="video/mp4" res="240p" fps="30fps" vcodec="avc1.4d4015" progressive="False" type="video">
18 / <Stream: itag="242" mime_type="video/webm" res="240p" fps="30fps" vcodec="vp9" progressive="False" type="video">
19 / <Stream: itag="395" mime_type="video/mp4" res="240p" fps="30fps" vcodec="av01.0.00M.08" progressive="False" type="video">
20 / <Stream: itag="160" mime_type="video/mp4" res="144p" fps="30fps" vcodec="avc1.4d400c" progressive="False" type="video">
21 / <Stream: itag="278" mime_type="video/webm" res="144p" fps="30fps" vcodec="vp9" progressive="False" type="video">
22 / <Stream: itag="394" mime_type="video/mp4" res="144p" fps="30fps" vcodec="av01.0.00M.08" progressive="False" type="video">
23 / <Stream: itag="139" mime_type="audio/mp4" abr="48kbps" acodec="mp4a.40.5" progressive="False" type="audio">
24 / <Stream: itag="140" mime_type="audio/mp4" abr="128kbps" acodec="mp4a.40.2" progressive="False" type="audio">
25 / <Stream: itag="249" mime_type="audio/webm" abr="50kbps" acodec="opus" progressive="False" type="audio">
26 / <Stream: itag="250" mime_type="audio/webm" abr="70kbps" acodec="opus" progressive="False" type="audio">
27 / <Stream: itag="251" mime_type="audio/webm" abr="160kbps" acodec="opus" progressive="False" type="audio">

Screenshots
No screenshots.
Desktop (please complete the following information):

OS: [Windows 10]
Python Version [3.12.1]
Pytubefix Version [6.2.2]

Additional context
I would like to know if anyone else is facing this issue :)
Thanks @JuanBindez for your work and dedication!

Yes. Im facing the same issue.

Apparently YouTube changed something, and now the server only provides us with 360p progressive streams.

So there is no way to get the HD progressive stream?
The only solution would be to download HD video and sound separately and merge them in one file?

This seem to work for me, the problem is that the video comes without the audio.
def download_youtube_video(video_url: str) -> str:
    """Downloads the video from YouTube using `pytube` package.
    Returns the path to the video file"""

    yt_video = YouTube(video_url)

    random_file_id = random.randint(0, 1000)
    video_file_name = f"video{random_file_id}.mp4"

    streams = yt_video.streams

    high_resolution_stream = streams.filter().order_by("resolution").last()

    video_path = high_resolution_stream.download(
        filename=video_file_name, output_path="videos"
    )

    return video_path

Instead of using get_highest_resolution(), you can just use: streams.filter().order_by("resolution").last()

Apparently YouTube changed something, and now the server only provides us with 360p progressive streams.

So you experience the same and it's related to YouTube?

So you experience the same and it's related to YouTube?

From my tests, so far all clients are returning only progressive streams in 360p, which is a change on YouTube.
Something similar happened in the past when YouTube removed OTF streams.

Ehbeb3b.  S
On Thu, Jul 18, 2024, 5:35 PM Juan Bindez @.***> wrote:

Closed #109 https://github.com/JuanBindez/pytubefix/issues/109 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/JuanBindez/pytubefix/issues/109#event-13559555592,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANGFSULOCYXUTB27LXKAPB3ZM7VDTAVCNFSM6AAAAABK5FF4KWVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJTGU2TSNJVGU2TSMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Document derivation paths used throughout mutiny-core

We have  a lot of different derivation paths used, would be good to document so in the future we can make sure we don't ever have overlaps as well as makes it easier for users to recover.

It is now here: https://github.com/MutinyWallet/mutiny-web/wiki/Mutiny-Beta-Readme#known-issues


Is it possible to provide html websource as argument or in ydl.extract_info??

It is not possible now to pass html webpage source to youtube_dl but would be great to find some workaround for that. Tried to manually pass the argument on ydl.extract_info(website) and related _real_extract functions and many other dependent ones, but since each file has slightly different implementation of getting page source, I stuck at some point. Is it possible to implement this option. Could help us since we are also parsing some paywalled articles?

Setup local webserver and serve via local URL.

I do not want the youtube_dl to download, request the URL. Instead just would like to pass the html dom tree. Would it prevent it or what will your suggestion actually does? Could you give me an example of implementation if possible? Thank you @dstftw

Again: it's not possible to pass HTML.

Okay, good to know that the implementation is not easy maybe not possible. Thanks


Please explain "Your Stretchly" settings

Hi,
I'm curious which are the additional settings you can configure by becoming a patreon? Do you have a feature list or explanation posted somewhere?
Thanks

Hi there ;]
I've added few settings that are described in here: https://github.com/hovancik/stretchly#advanced-settings
So basically you can still edit everything via config file. "Your stretchly" is just little something for people who support the app. It looks like this right now:

I believe the regular user wont need to go for those settings, but I wanted to do something extra for my supporters.

Seems great, thanks!


chore: no need to initialise gcloud, also this happens on every secer…

…t which causes confusion and a big time delay.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/approve

/approve


Improved Overlay Interface

imported fonts for improved UI
added cursor pointer to overlay selections
change toggle button text to "start game"
fixed some minor spelling formatting in HTML
change toggle button hover to darker and faster transition
changed container width for better responsiveness in mobile
rounded overlay borders more for improved UI
changed sounds toggle background to blue to match UI
removed border radius on overlay background because it didn't look right
fixed difficulty order to easy, medium, hard

if this could be accepted for hacktoberfest (or marked hacktoberfest-accepted) thank you!

@aliaquintero looks great. You have nice frontend skills.

@aliaquintero there is just a slight issue. When someone pauses the game, you still get start game but in reality it should say resume or play. Can you fix that

@aliaquintero there is just a slight issue. When someone pauses the game, you still get start game but in reality it should say resume or play. Can you fix that

got it! added a couple of fixes as well:

shortened "select theme/select difficulty" to just theme/difficulty
changed board height to 85vh to try and prevent runoff
changed overlay button to say "resume" when paused
accidentally modified info class without removing changes, had to go back and fix :)

@aliaquintero there is still a small issue. Using firefox on linux. Could you fix the gaps issue please. :smiley_cat:

@aliaquintero there is still a small issue. Using firefox on linux. Could you fix the gaps issue please. 😺

hmm, it's not showing me that issue but if i try overflow: hidden on the board div would that work without hurting game functionality?

@aliaquintero the reason it might not be shown in your browser maybe because you are currently using windows os. In linux it is zoomed out to about 80% of that in windows so try making your browser on 80% zoom.
The current issue is be due to in #board
min-height: 85vh;

@devsargam i'll go ahead and remove it since i added it unrelated to this pull request and that can be a good fix later!

@aliaquintero LGTM! Feel free to contribute on something else in this project. Your commits has made this game way better. :clinking_glasses:


Node Local DNS Cache

User Story
- As a cluster admin, I want enable node local DNS cache in order to have a reliable DNS solution under high load for the applications running on the cluster.
Details, Background
Under high load the current DNS solution is not able to keep up. Also, applications which don't cache DNS queries (e.g. NodeJS ones) end up putting a lot of strain on the current solution.
Resources

Upstream NodeLocal DNScache documentation

Changes

ok the app works.
We might need adjustments to network policies of any other application that has egress rules to connect to coredns.
The label selector for the DNS service changes when the local node cache app is installed.
This applies so far to the following applications:

net-exporter

Unfortunately this means that installing this application to an old cluster will make net-exporter page.

unfortunately this does not seem to work on AWS. Still not sure why.

Potentially related upstream issues
https://github.com/kubernetes/dns/issues/480
kubernetes

so, as soon as I install the local dns thingie on an AWS cluster, kube-state-metrics starts to fail with
E0307 10:14:05.453909       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.0/tools/cache/reflector.go:167: Failed to watch *v1.ValidatingWebhookConfiguration: failed to list *v1.ValidatingWebhookConfiguration: Get "https://<IP_ADDRESS>:443/apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations?resourceVersion=26524": dial tcp <IP_ADDRESS>:443: i/o timeout

and that causes a cascade of errors

I see martian source errors in the destination machine.
I feel like for some reason packets are using the wrong network interface to leave the node when the local cache thingie is in place.
Not sure why node to node works though

maybe this is a known bug, but I am still unsure: https://github.com/aws/amazon-vpc-cni-k8s/issues/1662

so I came to the conclusion that the iptables rules set up by the upstream component are not working with aws-cni.
I saw some references of EKS uses talking about this but no solution so far unfortunately.
Will further think about it

I feel like we are hitting this limitation: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html
see last point in the Considerations section

I couldn't pinpoint the root cause, but I am sure this is not working with aws-cni for some reason.
Releasing to make the thing available with azure, but otherwise blocked.

Upstream aws-cni issue still open, it is expected to be released in version 1.11.0

I think the supposed fix was merged in AWS-CNI: https://github.com/aws/amazon-vpc-cni-k8s/pull/1907

with 1.11.0 the node local dns cache thing seems to be working, but for some reason kiam crashes.

You gain one, you lose one :( ...

Problem is that the node-local coredns instance can't talk to the "traditional" coredns pod
[ERROR] plugin/errors: 2 kubernetes.default.svc.cluster.local. A: dial tcp <IP_ADDRESS>:53: connect: connection refused

ok fixed that (network policy problem) now for some reason only full names resolve:
/ # dig kiam-server +short
/ # dig kiam-server.kube-system.svc.cluster.local +short
<IP_ADDRESS>

This is actually not a problem, but how dig works.

This will be available on AWS from release 11.3.0 on.

This will be available on AWS from release 11.3.0 on.

I think it should be 17.3.0 instead of 11.3.0.

This will be available on AWS from release 11.3.0 on.

I think it should be 17.3.0 instead of 11.3.0.

yeah, thanks fixed the comment


Create stud.vassboskovice.cz

E-mail addresses were moved from @stud.vassboskovice.eu (eu/stud.vassboskovice.txt) to main domain @stud.vassboskovice.cz

@danielvitek There is no need to have subdomains added to this repository when an upper-level domain is already added. Thus, I close this request without merging because it is covered by #2650. Thank you!


Additional gradle improvements for quickstarts

This is a follow-on to #2186 and #2190 and covers additional improvements to the gradle support in the quickstart examples:

Support gradle run
Evaluate support for gradle's application packaging plugin
Consider defining static properties in a 3rd file named gradle.properties

FWIW the use of the application plugin for Helidon SE could result in removing the copyLibs task and tweaking the JAR manifest. However the resulting JAR would not be executable and the default Dockerfile would not work, as the entry  point would be different. Must evaluate this consequence if it's desired to keep the same Dockerfile regardless of Maven or Gradle builds.


Camera Intrinsic parameters

Thank you for your great work.
Thanks to your impressive work, I'm currently working on converting the images from the AGD20k dataset into depth maps and subsequently into point clouds. Would it be possible to obtain the camera's intrinsic parameter  (focal length in the x direction and y direction) for the AGD20k dataset? Also can I know the depth scale and depth truncation of AGD 20k?
Thank you!

Sorry, all this data is taken from the web as well as from different datasets, and it may be more difficult to get intrinsic parameter as well as depth information. It may be necessary to rely on other models for estimation. Or consider trying to replace the egocentric image with your own captured data

Thank you for replying!
I will try to capture my own image.
Thank you!


misspelling on codejam page

just pointing out a misspelling on https://github.com/indy256/codejam-templates in the word "earch" should be each or search i guess

fixed


Update test.yml

Removed support for go 1.15 and added support for 1.18
Bumped actions/checkout to v3
Bumped actions/setup-go to v3
Bumped golangci/golangci-lint-action to v3.1.0

Do we really need to "remove" support for go1.15? From what I understand gobrake still works with go1.15, so why would we stop testing?

We decided to support the latest 3 version of Go.


[Improvement] Code signing for Windows installer

Over the past year, there have been many reports from Windows users of Insomnia being flagged by antivirus software. Signing the installer with an official code-signing certificate will (apparently) help decrease the chance of being flagged by antivirus.

This was closed by https://github.com/getinsomnia/insomnia/commit/ef2564ea38c8e724e9b9a57684f5096d4ae97364


Add namespace CRUD operations for wskadmin.

Closes #1132.
PG2/910.

@domdom82 please lend your expertise to the last three commits.


 Any suggestions what this might be?

You'll need to update to the newest version of @cycle/*-run @cycle/*-adapter. I believe remember() was added in v3.x.x of the each package.


Genesis file

I wonder what genesis file should I use testing with this issuer
Can I use that
https://raw.githubusercontent.com/Indicio-tech/indicio-network/main/genesis_files/pool_transactions_testnet_genesis

You should be able to do that, but you should check on the transaction that write the network -- there may be some work to do there to sign the TAA and to get/use an Endorser.  A PR was created but not merged to have the demo use the Sovrin Staging network, so some needed code changes can be found there -- https://github.com/bcgov/dts-vc-issuer-service/pull/66


Sequel orm support

Following up on the ticket I originally created to make this library truly ORM agnostic (see: #1006).
I got alot of it working, laid the foundations, reorganized the files, and set this up to be a multi-orm library, but jsonapi-resources has a ton of functionality and I ended up spending a lot of time with the last 20% of functionality. I'm also not sure of the maintainers appetite to merge a significant refactoring such as this, hence putting a lot of my time at risk.
Here are some more details:

Decoupled library from ORM ActiveRecord fully. You don’t need ActiveRecord required for specs or library to work.
Tests can be run with any ORM via simple environment flag (defaults to ActiveRecord)
Test fixtures and schemas are kept in ActiveRecord format and outputted to *.sql files.

This ensures that we have consistent specs across any ORM and don’t need to reimplement fixtures and the schema for any new ORMs added.

Fix bug where if you run one spec that calls assert_query_count before a model is instantiated, it will fail because the ORM may run startup sql statements to check column names and primary keys.
Renamed ActiveRecordAccessor to ActiveRecordRecordAccessor. It is redundant, but its confusing when you don’t have the extra Record. Is ActiveRecordAccessor, supposed to be “ActiveRecord” “Accessor" or “Active” “RecordAcccessor”, it’s really ActiveRecord AND the RecordAccessor. That way, when we add SequelRecordAccessor or OrmRecordAccessor, everything is consistent and works.
Moved common methods (non-orm specific) up into the RecordAccessor so that subclasses can overwrite (or not) for their specific functionality.
Remove ActiveRecord specific calls out of resource.rb and other orm-agnostic files.

Some Outstanding Questions/Thoughts:

A lot of library files use this “method_name” convention. Is that to avoid conflicts in case the user overwrites? Are these essentially protected or private methods? I feel like this convention is only going half way right now, which is very confusing. Sometimes I see methods that seem like they should begin with “” per your convention, but they do not. Is the logic that only methods that we would expect the user to overwrite should not begin with underscore?
Sometimes you call something “foo_class” and sometimes “foo_klass”. What convention do you guys stick to? Obviously if it is just “class” then you need to use “klass”, but other than that, why not just call things foo_class instead of foo_klass?
The "RecordAccessor#records_for_relationship” has some strange assumptions. #records_for can in theory return a belongs_to association or simply just an object, yet if there were filters and such passed in, things would blow up because it is not a relation. However this condition doesn’t get hit because those filtering and sorting options are not passed in. It seems like we are kind of overloading this function and it is hard to follow because, for example, #records_for is not returning what you think it is returning.

There are some more refactorings I feel should be done:

Why does the RecordAccessor depend on the reference_class, and not the actual record. Seems like it should be ActiveRecordRecordAccessor.new(ar_model_instance) and not how it currently is. I put the methods that operate on the model on the class level methods of the recordaccessor, but I think they should be on the instance level.
ActiveRecord has a restrict_with_exception option on associations. Sequel does not. Ideally the person working on this, could add that into the AssociationDependencies plugin. Jeremy will likely merge it. Otherwise, you won't be able to get all the specs working.

Anyways, I'm leaving this PR up, perhaps someone wants to take it across the finish line. 😄 I will not be continuing work on this.
If you do work on this and have questions, feel free to ask, but try to bundle your questions so I can answer more efficiently. Thanks!

@Aryk This a quite a major set of changes. As I see it quickly looking through you are changing major components of the project. It looks like this PR covers:

Refactoring ActiveRecordAccessor to ActiveRecordRecordAccessor. We thought about this when naming ActiveRecordAccessor, but ultimately decided on the current name. I could be convinced on a rename if it makes the code clearer.

You moved a lot of functionality back into RecordAccessor. I don't understand why. It seems to defeat what we were going for with the RecordAccessor concept.

Refactoring of the tests. I haven't looked at every change here, but they look like positive changes to the project in general. Some I've been wanting to make, but haven't taken the time.

I think it would be better to address these as separate PRs. That would minimize the conflicts as we work on new versions of the SequelRecordAccessor. It will also make review a manageable task.
Thanks for taking this on.

@lgebhardt
Thanks for the feedback:

Refactoring ActiveRecordAccessor to ActiveRecordRecordAccessor. We thought about this when naming ActiveRecordAccessor, but ultimately decided on the current name. I could be convinced on a rename if it makes the code clearer.

Well, I think the think that solidifies the decision, is lets say you were doing meta programming, and had "#{self.orm_type.to_s.classify}RecordAccessor", it won't work with :active_record unless you called it :active, so its consistency in naming always wins and avoids confusion even if the name is awkward. 😄

You moved a lot of functionality back into RecordAccessor. I don't understand why. It seems to defeat what we were going for with the RecordAccessor concept.

Which functionality specifically? I really hope I did not add more reference_class stuff into record accessor. I think I wrote in the original ticket but I really feel things should be refactored to record accessors can instantiated with the orm model and have no jsonapi-resource specific code in them. Please comment specifically where I added functionality that is not related to accessing the record on the record accessor.

Refactoring of the tests. I haven't looked at every change here, but they look like positive changes to the project in general. Some I've been wanting to make, but haven't taken the time.

Yeah, this was a big pain, especially when it came to fixtures and schema, but my solution I think is good especially to make adding other orms easier.

Which functionality specifically? I really hope I did not add more reference_class stuff into record accessor. I think I wrote in the original ticket but I really feel things should be refactored to record accessors can instantiated with the orm model and have no jsonapi-resource specific code in them. Please comment specifically where I added functionality that is not related to accessing the record on the record accessor.

RecordAccessor is meant to be an abstract class. For example by adding the find method as you have RecordAccessor is again tied to the ActiveRecord, which means a PORO or NoSQL RecordAccessor will also be tied to ActiveRecord.

Would you be willing to create a few PRs from this?

One to rename ActiveRecordAccessor to ActiveRecordRecordAccessor. I agree on the naming, but I'm not sure this is critical for the next two. So I'd consider this optional for now.

Another to refactor the existing tests

Finally one to implement the SequelRecordAccessor with tests

In general I think it's best to add one feature, refactor, or bug fix per PR.

RecordAccessor is meant to be an abstract class. For example by adding the find method as you have RecordAccessor is again tied to the ActiveRecord, which means a PORO or NoSQL RecordAccessor will also be tied to ActiveRecord.

It is an abstract class, it has an interface, that's all it is. I make no reference to "active" anything. Yes there is a find method. That is part of the interface for RecordAccessor. You could rename "find" to "get", but "find" simply gets the record from the orm. This gem has to have some basic requirements about the RecordAccessor and that is one of them. The fact it has the same name as the ActiveRecord#find is simply because "find" isn't a bad name. I was going to call the method "i_summon_an_orm_model_record", which then calls Model.find on the ActiveRecordRecordAccessor implementation, but thought it was a little long of a method name, so I kept find. 😉

Would you be willing to create a few PRs from this?

The ActiveRecordAccessor rename is small. I think its a rename in like 3 places, so doesnt really make sense to split out, IMO.

Another to refactor the existing tests
Finally one to implement the SequelRecordAccessor with tests

I 100% agree it's best to split up when you can. It would be very difficult to split these although it sounds nice, but you need to implement the Sequel accessor (aka 2nd orm) to see where the refactoring of the existing tests needs to be done. Separating is probably possible is possible, but I would rather somebody takes over this projects and does even bigger refactors while reducing code, separating concerns, and getting all specs passing, rather than focusing on how to best split up PRs. And if they have extra time to split up PRs, then great. IMO, there is a big PR because the codebase has significant flaws when it comes to adding another orm, although the test suite is pretty extensive, so kudos for that! 👍
Like I mentioned early, I've moved on from this and decided for an approach with just serializing my response while I handle JSON-API like calls manually. I'd be happy to revisit this gem in the future if somebody else takes Sequel support across the finish line. :)
My advice would be to rewrite the RecordAccessor:

It should not have any dependencies on a Reference object. Instead Reference should call to the RecordAccessor and not back and forth like it is now.
Filters, sort, includes and how those are combined should not be called from within RecordAccessor. Instead the instructions should be combined somewhere else and then RecordAccessor should be called with an orm-agnostic interface to apply those instructions, something like:

SequelRecordAccessor.find(instructions)

And then the RecordAccessor decides what to do with those instructions. Right now, there is a lot of logic that is not simply about returning records from an orm (ie cached_resources_for , which actually returns resources, not orm records). That shouldn't be there, it's a record accessor, not a resource accessor. ;)
Anyways, that's my two cents.

It is an abstract class, it has an interface, that's all it is. I make no reference to "active" anything. Yes there is a find method. That is part of the interface for RecordAccessor. You could rename "find" to "get", but "find" simply gets the record from the orm. This gem has to have some basic requirements about the RecordAccessor and that is one of them. The fact it has the same name as the ActiveRecord#find is simply because "find" isn't a bad name. I was going to call the method "i_summon_an_orm_model_record", which then calls Model.find on the ActiveRecordRecordAccessor implementation, but thought it was a little long of a method name, so I kept find. 😉

I made a comment above on your code change showing where I was referring.
I'll look this over again in the morning and consider your other points.

I think we are trying to solve different things with the RecordAccessor class, and I think the naming of RecordAccessor is the root of the confusion. In hindsight I should have named the RecordAccessor something like ResourceAccessor so we would have ActiveRecordResourceAccessor. The idea being that ResourceAccessors are not meant to be ORMs like ActiveRecord, but rather to provide a common higher level interface between JR and the underlying ORM.

@dgeb and I have been discussing the architecture and we're looking into some changes related to the relationship between Resources, ResourceAccessors, and caching that we hope will clean things up a bit.

But its not just that. I highly recommend that whatever accesses the ORMs do not know about resource and just do their job (access the orm to get records from it). You are going back and forth right now and it's confusing (its also breaking separation of concerns principle). Maybe infact, the orm accessor shouldn't even return records from the orm, but a just a simple "data" or "included" array and that is it. That way the jsonapi-resources library simply has an interface with some kind of data provider (like an orm) and that's it. The data provider could in theory be another api if you wanted. To the library itself it wouldn't matter.

You are going back and forth right now and it's confusing (its also breaking separation of concerns principle).

@Aryk Larry and I both share your concerns - these are the architectural issues we've discussed untangling. There is also some entanglement with caching in the RecordAccessor, which I believe drove the initial implementation. We are looking at alternative implementations to provide a cleaner separation of concerns all around.

@dgeb Great, I think you will need to refactor a lot, so I would also suggest that anyone who wants to build on what I did wait until you do this refactoring. I think it will be much easier to reason about the app after it will be done.

I'm curious to hear about the alternative factoring you have in mind @dgeb.
Since @Aryk has expressed that he is not able to invest more time into this PR we'll need to cooperate and find a champion for splitting this PR up.

I'm curious to hear about the alternative factoring you have in mind @dgeb.

@mmun Larry is going to investigate how to best remove caching entirely from the RecordAccessor, which will make it more flexible and focused exclusively on records (not resources).

I think it would be worthwhile to try and accommodate PORO models as well.

I agree, and this should be possible with a leaner, record-only-focused RecordAccessor.

Since @Aryk has expressed that he is not able to invest more time into this PR we'll need to cooperate and find a champion for splitting this PR up.

After @lgebhardt's first pass at the RecordAccessor refactor, splitting up this PR should be much more tractable. I'm sure that help with the Sequel-specific pieces would be especially welcome.

I've closed this since @Aryk indicated he will not have time to rework this PR. I would still like to get Sequel ORM support into the project. After #1045 this should hopefully be a bit easier.


[9.x] Wrap the json_encode call with the echoFormat

This commit updates the CompilesJson concern to use the BladeCompiler's current echoFormat when compiling the json expression. See https://github.com/laravel/framework/issues/45542

Could be a breaking change to existing applications. I suggest just echoing it directly.


(Fix) Font familiy and weight

This PR closes #167836840 and, also #167827446 by:

Updating Text component
Updating SectionText component (now this component its a mere wrapper for Text)
Updating SectionTitle default props
Updating Text implementations
standardizing Text & SectionText components

base values: font-size: 16px, color: darkGray
font-weight, now can be specified by the description in wireframes (regular, medium, bold, black, etc)

Updating Claim screen with new design

wireframe
current

Extra:

dialog.js needs tests to cover all the cases
EventDialog no longer used?
Amount no longer used?

@fernandomg what are all these changes?
Also replace robotoslab-*

@fernandomg what are all these changes?

I'm trying to standardize the whole thing, we're still using Text from react-native and there are styles being applied through style property, when we have all the props exposed by the Text component.
fontWeight for instance, was defaulted to normal. I changed it to 500 and removed it from all the places where it was set.

Also replace robotoslab-*

Wait, you mean to stop using robot slab all across the app? or stop using the definition robotoslab-* in the components?

@kbardi, it looks like a mix of things.
I had to change values that obviously weren't changed during this PR, but now I find it quite consistent and is looking great.

chrome-iPhone5
chrome-responsive


Enable fully_connected to uniquify the scope name

The implementation of tf.contrib.layers.fully_connected uses variable_op_scope to handle the name scope of the variables, the problem is that the name scope is only uniquified if scope is None, that is, if you dont pass a custom name, by default it will be "fully_connected".
However, in the library I am building I create tons of shorcut methods like relu_layer, sigmoid_layer, etc, which are implemented using fully_connected plus their corresponding activation function. I'd like these names to be uniquified automatically so I don't get these kind of errors:

ValueError: Variable relu_layer/weights already exists, disallowed. Did you mean to set reuse=True in VarScope?

In the mean time, could you give me a hint of how to uniquify a variable name scope myself? Is there a function that does this already?
Thanks!

StackOverflow is a better venue for this kind of usage question. Does adding your own variable_op_scope outside the call to fully_connected help?

@michaelisard It works but I don't think its a proper solution, the names and TensorBoard graph become highly redundant, for example relu_layer_2/fully_connected/Relu and relu_layer_2/fully_connected/weights, with a small fix you could remove the fully_connected part.
Just change
with variable_scope.variable_op_scope([inputs],
                                    scope,
                                    'fully_connected',
                                    reuse=reuse) as sc:

to
scope = scope if scope else `fully_connected`
with variable_scope.variable_op_scope([inputs],
                                    None,
                                    scope,
                                    reuse=reuse) as sc:

on
https://github.com/tensorflow/tensorflow/blob/73ced9d797056c7e67a06ed2098dd809d85ec44a/tensorflow/contrib/layers/python/layers/layers.py#L786
I could create a pull request if you like.

You could also just define the input parameters scope as scope='fully_connected' on the function definition an eliminate the line scope = scope if scope else fully_connected` of my solution

@sguada maybe you can comment?

Using automatic naming for variable_scopes is a bad idea, if you add a new layer in between all the variables change their name, and create problems restoring and reusing models.  For instance you cannot reuse a layer unless it has given scope.
There is already some partial functions that assign different activation functions to fully_connected
https://github.com/tensorflow/tensorflow/blob/73ced9d797056c7e67a06ed2098dd809d85ec44a/tensorflow/contrib/layers/python/layers/layers.py#L1337
I could consider adding a default_parameter='fully_connected' to the layers, but I would encourage you to use explicit names for all your layers.

@sguada Thing is, in the same way fully_connected lets your users get away with not naming every single layer but getting a sensible default, I too would like the users of my library to have that flexibility. That automatic behavior is very helpful when your just learning and want to get things done quickly.
The default_parameter='fully_connected' idea is excellent, would allow both automatic naming + unique identification when reuse is required.

Automatically closing due to lack of recent activity. We hope that you were able to resolve it on your own. However, since this is a support issue rather than a bug or feature request, you will probably get more information by posting it on StackOverflow.


feat: negative constants

ISO 80000-1 §A.4 "Constants" references CODATA: https://physics.nist.gov/cuu/Constants/.
It lists fundamental constants, including some negative ones.
Browse to "All values (ascii)", search for -, and see some under the column "Value" being highlighted as negative.
One such constant is helion g factor, which is rejected for being negative (https://godbolt.org/z/vao9PKv3s):
inline constexpr struct helion_g_factor :
  named_unit<basic_symbol_text{"𝘨ₕ", "g_h"}, mag<-ratio{4'255'250'615, 1'000'000'000}> * one> {} helion_g_factor;

<source>:7:46: error: use of invalid variable template 'mag<mp_units::ratio{-851050123, 200000000}>'
    7 |   named_unit<basic_symbol_text{"𝘨ₕ", "g_h"}, mag<-ratio{4'255'250'615, 1'000'000'000}> * one> {} helion_g_factor;
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<source>:7:46: note: constraints not satisfied
In file included from /opt/compiler-explorer/libs/mp-units/trunk/src/core/include/mp-units/bits/expression_template.h:25,
                 from /opt/compiler-explorer/libs/mp-units/trunk/src/core/include/mp-units/bits/dimension_concepts.h:25,
                 from /opt/compiler-explorer/libs/mp-units/trunk/src/core/include/mp-units/quantity.h:26,
                 from /opt/compiler-explorer/libs/mp-units/trunk/src/systems/si/include/mp-units/systems/si/constants.h:25,
                 from /opt/compiler-explorer/libs/mp-units/trunk/src/systems/si/include/mp-units/systems/si/si.h:25,
                 from <source>:1:
/opt/compiler-explorer/libs/mp-units/trunk/src/core/include/mp-units/bits/external/math_concepts.h: In substitution of 'template<mp_units::ratio R>  requires  gt_zero<(long int)((const mp_units::ratio)R).num> constexpr const auto [requires mp_units::Magnitude<<placeholder>, >] mp_units::mag<R> [with mp_units::ratio R = mp_units::ratio{-851050123, 200000000}]':
<source>:7:51:   required from here
/opt/compiler-explorer/libs/mp-units/trunk/src/core/include/mp-units/bits/external/math_concepts.h:30:9:   required for the satisfaction of 'gt_zero<((const mp_units::ratio)R).num>' [with R = _ZTAXtlN8mp_units5ratioELln851050123ELl200000000EEE]
/opt/compiler-explorer/libs/mp-units/trunk/src/core/include/mp-units/bits/external/math_concepts.h:30:22: note: the expression 'N > 0 [with N = (long int)_ZTAXtlN8mp_units5ratioELln851050123ELl200000000EEE.mp_units::ratio::num]' evaluated to 'false'
   30 | concept gt_zero = (N > 0);
      |                   ~~~^~~~
<source>:7:93: error: template argument 2 is invalid
    7 |   named_unit<basic_symbol_text{"𝘨ₕ", "g_h"}, mag<-ratio{4'255'250'615, 1'000'000'000}> * one> {} helion_g_factor;
      |                                                                                ^
Compiler returned: 1

This is motivated by https://mpusz.github.io/mp-units/2.1/users_guide/framework_basics/faster_than_lightspeed_constants/.

Good catch @JohelEGP. It seems that negative magnitudes have sense after all :-)
@chiphogg, could you please check how to address that? Is the removal of gt_zero constraints enough? Maybe we should leave non_zero there?

BTW, I was not aware of CODATA. Maybe we should add most/all of those constants to the library as well?

Some constants use uncertainty. We could extend #464 with those use cases.

The problem is using the unit abstraction for constants.
Non-base units carry numbers in its magnitude, which must be non-negative by definition.
I can't find any provision that a chosen reference quantity, the unit, must be non-negative.
https://jcgm.bipm.org/vim/en/1.9.html simply defines "measurement unit" as

real scalar quantity, defined and adopted by convention, with which any other quantity of the same kind can be compared to express the ratio of the two quantities as a number

I think that'd be a better reference for P2982R0,
which says in ,

[ISO/IEC 80000] [...] explicitly states that:

All units are scalars.

That's in the context of ISO 80000-2:2019 "18 Scalars, vectors and tensors".

Instead of treating each coordinate of a vector as a physical quantity value (i.e. a number multiplied by
a unit), the vector could be written as a numerical vector multiplied by a unit. All units are scalars.
EXAMPLE Force acting on a given particle, e.g. in Cartesian components (Fx; Fy; Fz) = (−31,5; 43,2; 17,0) N.

It doesn't read like a requirement, but as a fact.
So it'd be better to reference the definition of unit.

I am puzzled now, and I don't really know how to proceed here. We could consider add some structural-type like quantity_constant<Quantity> that would take a compile-time known quantity (similarly to relative_point_origin). This could take any quantity as a constant (even a negative one) but this would not provide any automated unit simplification as this is not a unit :-(.
Please let me know if you have some ideas.

I can't find any provision that a chosen reference quantity, the unit, must be non-negative.

It must be in the definition of quantity (https://jcgm.bipm.org/vim/en/1.1.html):

property of a phenomenon, body, or substance, where the property has a magnitude that can be expressed as a number and a reference

Which would imply that units are non-negative.
It checks out ISO 80000-1:2022 "4.1 The concept of quantity", which mentions

It is customary to use the same term, "quantity", to refer to both general quantities, such as length, mass,
etc., and their instances, such as given lengths, given masses, etc. Accordingly, we are used to saying
both that length is a quantity and that a given length is a quantity, by maintaining the specification
– "general quantity, Q" or "individual quantity, Qa" – implicit and exploiting the linguistic context to
remove the ambiguity.

So quantity is defined as a magnitude.
And the context can imply a quantity as a vector.
This is what I was assuming when I thought that units could be non-negative.

I can't find any provision that a chosen reference quantity, the unit, must be non-negative.

It must be in the definition of quantity (https://jcgm.bipm.org/vim/en/1.1.html):

property of a phenomenon, body, or substance, where the property has a magnitude that can be expressed as a number and a reference

Which would imply that units are non-negative.

It's also true that a number can be negative.
And that a negative quantity has a magnitude.
So I'm not totally sure that this means that units must be non-negative.

If we can't find a clear answer from the definition as to whether units can be negative, then we should reach out to leading experts in the field to clarify.  It's quite possible that they never mentioned it because it never occurred to them that somebody might try defining a negative unit.

I considered that.
I was hoping @mpusz would do that.
I also tried checking if some truths still hold.
A quantity with a negative unit still forms a vector space.
Anything else comes to mind that might not work given negative units?

Good point about the vector space.
I can't think of anything that wouldn't "work" per se, I just think from a practical perspective it's likely to be full of gotchas and surprises.
On the other hand, it probably wouldn't have any effect on people who don't use negative constants.  And, it probably would be possible to replace magnitudes with something that is, essentially, "magnitude and a sign bit" (although I think we'd want to come up with a different name).
We'll probably want to tread carefully and solicit expert opinion, but who knows --- maybe this could work!

My initial reaction is that I like it!
Au has Constant as a separate thing compared to "unit": a constant is templated on a unit.  I like the conceptual separation.  And Constant would give us a place to "hang" a negative value (it could be a simple bool template parameter) without forcing us to try to support "negative units".

Sure, but I think that I would prefer to be able to do mag<-1> there over some bool flag.

I'm wary of changing the core semantics of magnitude away from "a positive real number".  Making it "a nonzero real number" would put a hole in the middle (0), and contradicts how most people generally think of a "magnitude".  Plus, this would automatically open the door to negative units, which I had thought was what we were trying to avoid (although re-reading your previous comment makes me think I was wrong about this).
I do see the appeal of being able to write it the same way as for other numbers, but I don't think it's worth the cost of complicating our reasoning about magnitudes.
Now that I read more carefully, I'm not sure I would want a constant to satisfy the unit concept.  Maybe it's the other way around?  :thinking:

What about introducing an abstraction for declaring negative constants?
inline constexpr struct helion_g_factor_magnitude :
  named_unit<basic_symbol_text{"𝘨ₕ", "g_h"}, mag<ratio{4'255'250'615, 1'000'000'000}> * one> {} helion_g_factor_magnitude;
inline constexpr struct helion_g_factor : /* ??? */ {} helion_g_factor;

So doing 1 * helion_g_factor creates a negative quantity.

So basically, "solve for /* ??? */?  I like it.  We can bikeshed what the /* ??? */ would look like, but I'm sure there are many reasonable choices that would look good.


missing "what problem does this solve"

Why do I want this thing - aside from the fact that it's shiny and new, and clearly it's useful enough for someone to take the time to build it....
I'm not sure why I'm installing this...

Is it a replacement for omf?

OK, I read the FAQ. Maybe a tagline like:
Fisherman
Fish faster
A fast, modern plugin system for the fish shell.

Totally.
I just started working on the Wiki.
First, I will add the Quickstart Guide. Then, fill in the Why Fisherman? and Fisherman Alternatives sections.
I like:

A fast, modern plugin system for the fish shell.

What about:

A fast, modern plugin system and CLI toolkit for the fish shell.

For the record, and to answer your question now:

Why do I want this thing?

If you are only using fish, you are missing out the ability to effectively share plugins, prompts, configs, missing completions, documentation for external utilities, plain old scripts or bundle of scripts.
If you are using Oh My Fish (OMF) / Wahoo or Tacklebox, you may be already doing some of the above, just very poorly.
So, I want to create shell scripts, snippets or let's call them utilities that follow the UNIX guidelines for option parsing, fish auto-completion out of the box, with bundled documentation using the traditional man(1) pages like a boss, and I want my scripts to come not only in the form of .fish files, but I want to ship them bundled with scripts in other languages too sometimes, maybe Awk or Perl, or if you are cool, Python. Then I want to commit that to a GitHub repository, or as a Gist, or to BitBucket, GitLabs or my own server if I want.
Fisherman makes this process very easy and it also gives me access to an external "index" to where I can publish these utilities, let's better call them now plugins so that others can discover my stuff without having to know the URL in advance.
Fisherman is not like, say brew where you typically share one or more binaries, that's a true package manager indeed.
Fisherman, however, is about sharing snippets, prompts, configurations, initialization scripts, like I said above, that kind of stuff. In the Fisherman jargon, I am rolling all that into a bun and calling it "plugin".
To Fisherman they are all the same, they should be, and if that's not the case your "framework", "manager", whatever, is not doing you any service.
There are several different setups that Fisherman understands and can process. Why? Because there are already existing snippets and plugins with their own idiosyncrasies. The same ones I mentioned above. Also people creating stuff in fish and releasing it without a particular "framework" in mind.
Fisherman recognizes packages from all of those dimensions and lets you install them and use them as you wish. Without strange restrictions that these other "frameworks" often pose on you, like strange name conventions or strict URL forms. It will even_ try to guess the URL and correct your mistakes sometimes.
You can also "install" stuff locally and it will symlink a directory to Fisherman's configuration directory so that you can develop, test and iterate :repeat: fast and without having to do anything but (1) creating a directory and (2) typing fisher install . or fisher install <my_path>. You can commit your changes to a Git repo and that will not affect the process. It just works™.
But also you get a cache system to let you install stuff while offline (assuming you already downloaded the stuff first) and that segues into Fisherman's simplest, but best feature, the flat tree.
Here is the thing, Fisherman is as fast as no Fisherman. The initialization script basically declares a few variables and evaluates only those config files that you allow him to evaluate. On the other hand, OMF, Wahoo and Tacklebox mutate a variable to add/remove paths as you install/uninstall plugins. This is slower than loading all your functions into a single directory and telling fish to load only that. But wait, you say, a flat tree means every function will be public and there could be name collisions and what not. Unfortunately, there is not private function scope in fish. This is a "deficiency" (or feature) of the language and there is no way around this. You can add prefixes to your functions or use underscores at the beginning of the function name like everyone else does.
So, if fish has no private function scope, then it makes perfect sense to use a flat tree instead.
In the case of OMF and Wahoo things are even worse because these two systems use fish event handlers during the initialization process, and since fish does not automatically load files declaring events, they will source every single .fish file inside the plugin's directory and then call the emit EVENT_NAME builtin adding another step in the process.
And this is not even close to all, Fisherman has a lot of other cool things like the search command that parses the index file and lets you query plugins like you would expect from any modern tool. Each plugin gets a name, url, description, any number of tags and an author's name.
And if you install a plugin from an unknown URL, Fisherman will complete the information the best it can querying the Git repository and exhausting all the possibilities, so there's always data.
These "index", is just a plain text flat database written in a human readable format. This index is always kept up to date, there is no need to update the "framework" to see what new packages are available, you are always querying the latest index.
A few other features are strong ties to the UNIX way of thinking, everything is a stream and all commands can read the standard input to act as plumbing devices to let you do the lego work and build even more interesting stuff out of the few simple blocks Fisherman ships with. Another thing is Fishfiles (dependency manifest file) that allows plugins to declare dependencies to other plugins and keep track of what plugins you have installed or not in your system. Fisherman will recognize similar manifest files from other systems too.
Finally, the help is great. You are not alone. Everything is thoroughly documented in the form of UNIX man pages like it should be and the Wiki is also pretty nice.

Don't lose your fish customisations when you migrate machines.
Share them across machines easily.

Write once, run anywhere!
;)

Yeah, I think the prompt themes on fish is somewhat bloated, I hope that fisherman can work together with fish in that expect.

Will leave this open to remind me to work on Why Fisherman?.

@jwulf I wrote a more thoughtful, still drafty, but with screencasts!, response here. Closing in favor of that.


http://cabotapp.com/dev/contribute-code.html says "contact us" but doesn't provide information as to how

On http://cabotapp.com/dev/contribute-code.html there's this block of text:
If you have any questions about roadmap or plans, please contact us or file an issue on GitHub.

But I can't find contact information anywhere obvious for things like support requests etc.
Is there an IRC network? A mailing list? Or just github issues?
Thanks.

Issue is best, I will change the wording.


onclick not working

it does not generate anything

Why is this closed? the 'onclick' does not generate anything @aspizu

fixed

Sorry I was too fast @aspizu
Goboscript is very nice!!!!!


Offer a Docker image for running Trigger Happy

This is a feature request to create a Docker image for Trigger Happy. This would make it easy to try out TH and deploy it for reals.
https://hub.docker.com/_/python/ has suitable base and -onbuild images. Looks like one can create a requirements.txt file and an -onbuild image will run pip install on that.

Hi,
Yes, I planed to try cookiecutter-django as explained in that article to make Docker Image.
The idea is in my head since a year :) since the first user who installed the project.

c0d2cf3c9c8bf47b87e442527447606760508edc
4b3bb4a3725ae2168ef36bbc6410cc11753fe3ef

Nice! I reviewed the code and left a couple comments (right on the commits in GitHub).
I followed instructions in README_docker.md. I had to sudo pip install docker-compose first, and at the and I added docker-compose -f docker-compose.yml run web  python manage.py runserver.
I see:
$ docker-compose -f docker-compose.yml run web  python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
December 18, 2016 - 06:56:02
Django version 1.8.17, using settings 'django_th.settings'
Starting development server at http://<IP_ADDRESS>:8000/
Quit the server with CONTROL-C.

But I can't hit any web server at that URL. Does it work for you?

Hi,
I will check all if this but
Usually i dont push things that dont work.🤗
May be i forgot to  add command Line to the readme.
I'll tell you.

i'm fedup with docker.
Each time I run docker, the result is NEVER the same .
I dropped docker and reinstall it and now the result is worst than ever.
container_linux.go:247: starting container process caused "process_linux.go:334: running prestart hook 0 caused \"error running hook: exit status 1, stdout: , stderr: time=\\\"2016-12-18T18:31:17+01:00\\\" level=fatal msg=\\\"dial unix /run/docker/libnetwork/2de8bf691e08078172e11c76f66de9429d9daf6259666ad955f59a3ddc3c06ec.sock: connect: connection refused\\\" \\n\""
ERROR: Service 'web' failed to build: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"process_linux.go:334: running prestart hook 0 caused \\\"error running hook: exit status 1, stdout: , stderr: time=\\\\\\\"2016-12-18T18:31:17+01:00\\\\\\\" level=fatal msg=\\\\\\\"dial unix /run/docker/libnetwork/2de8bf691e08078172e11c76f66de9429d9daf6259666ad955f59a3ddc3c06ec.sock: connect: connection refused\\\\\\\" \\\\n\\\"\"\n"

I dont understand what's going wrong.

i tested again.  I have to run makemigration but I dont agree with the changes made by it that modify the migrations scripts of the project.
So I give up, until a new try or help by somebody else who know how to do all of that.

I finished by doing this https://github.com/foxmask/django-th/blob/master/README_docker.md
Which seems to work as I can reach the url http://<IP_ADDRESS>:8000/th/

Nice! I'm able to hit http://localhost:8000/th/ and log in as root.
:+1:

Do not hesitate to ask if you need help

Will do, thanks! I'm just poking around TH now. Looks cool.


support file DELETEs

e.g.
curl -X DELETE \
        -H "X-Parse-Application-Id: <app_id>" \
        -H "X-Parse-Master-Key: <master_key>" \
        http://localhost:1337/files/2e85ede1e439506909e1a388710fc2b8_hey.jpg

Returns empty 200 on success, but probably wants to return useful JSON instead? Fixes #340

This is pretty exciting! Good job on implementing this!
Except of that nit, few thoughts and requests:

Can we have at least a single e2e test? Look at some of the basic tests in ParseFile.spec.js, we probably would want something REST-api based and e2e full (create/read/delete/read).
We need to enforce master-key security on this, since anyone with an appid/any-key will be able to delete files, which is pretty bad.

@nlutsenko Thanks for reviewing. I'll add in an e2e test to the PR. Regarding master-key security, I have a check in the deletionHandler for req.auth.isMaster, which seems to be working-- I can't delete images if I don't have X-Parse-Master-Key set correctly. Better way of doing this?
In any event, I'll also add a test for unauthenticated deletion attempt.

Sorry, totally missed it, you are absolutely correct.

Added to ParseFile spec:

REST file end-to-end coverage for create, read, delete, read
verify you cannot delete file with incorrect or missing X-Parse-Master-Key

Looks great! So glad we have this now!

Closed issue--> https://github.com/ParsePlatform/parse-server/issues/340
The file delete is still not working, i have update the parse-server code today, that has the commit for file delete, but still the same error occurs as mentioned above.
It seems as the master key is doing nothing because even if i do not enter the master key, i get that same error--> cannot delete /parse/....


Add retrieval of skipped/ignored tests

Currently skipped and ignored tests are not checked. That should changed ;)

You wrote
Currently the JUnit-log file does not provide information (Or I was too stubborn to find it) about skipped or ignored tests.

in your README.md.
PHPUnit 4.8 and PHPUnit 5.7 do not include incomplete and skipped tests in the JUnit XML logfile due to backward compatibility reasons.
PHPUnit 6.0 includes incomplete and skipped tests in the JUnit XML logfile. See https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-6.0.md#changed.

Awesome! Thanks for the update! I'll change that in the README

Skipped and Ignored tests can be retrieved since merging #26


[Snyk] Security upgrade pillow from 9.5.0 to 10.3.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

docs/requirements.txt

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

651/1000  Why? Recently disclosed, Has a fix available, CVSS 7.3
Buffer Overflow SNYK-PYTHON-PILLOW-6514866
pillow:  9.5.0 -> 10.3.0
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.00%. Comparing base (8b6a505) to head (eeb252a).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #43   +/-   ##
=======================================
  Coverage   97.00%   97.00%
=======================================
  Files           2        2
  Lines         400      400
=======================================
  Hits          388      388
  Misses         12       12

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


Update CLI guide: List organizations via the Management API

Depends on https://github.com/giantswarm/giantswarm/issues/16531
As soon as the kubectl gs get orgs command is released, we should update our CLI guide in happa.

@vvondruska Do you also want to do the honours of making this little change? Could be that all you have to do is change this one line: https://github.com/giantswarm/happa/blob/main/src/components/MAPI/organizations/guides/ListOrganizationsGuide.tsx#L51
... and of course then learn how to test a change in happa, in case you haven't done that before. :)

I think it could also be a nice touch if we provide a link to the documentation for get organizations 🙂 It could replace the current link to login docs in that guide.


Pagination fixes

Return relative links for pagination
Only return link references that have values in order to be swagger compliant

Fixes: https://github.com/ManageIQ/topological_inventory-api/issues/125


[bug] run_function in image build does not recognize installed libraries.

Installing collected packages: pytz, mpmath, xxhash, urllib3, tzdata, tqdm, sympy, safetensors, regex, pyyaml, python-dateutil, pyarrow-hotfix, pyarrow, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, MarkupSafe, fsspec, filelock, dill, triton, requests, pandas, nvidia-cusparse-cu12, nvidia-cudnn-cu12, multiprocess, jinja2, nvidia-cusolver-cu12, huggingface-hub, torch, tokenizers, datasets, transformers
Successfully installed MarkupSafe-2.1.5 datasets-2.16.1 dill-0.3.7 filelock-3.13.1 fsspec-2023.10.0 huggingface-hub-0.20.3 jinja2-3.1.3 mpmath-1.3.0 multiprocess-0.70.15 networkx-3.2.1 nvidia-cublas-cu12-<IP_ADDRESS> nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-<IP_ADDRESS> nvidia-cufft-cu12-<IP_ADDRESS> nvidia-curand-cu12-<IP_ADDRESS> nvidia-cusolver-cu12-<IP_ADDRESS> nvidia-cusparse-cu12-<IP_ADDRESS> nvidia-nccl-cu12-2.19.3 nvidia-nvjitlink-cu12-12.3.101 nvidia-nvtx-cu12-12.1.105 pandas-2.2.0 pyarrow-15.0.0 pyarrow-hotfix-0.6 python-dateutil-2.8.2 pytz-2024.1 pyyaml-6.0.1 regex-2023.12.25 requests-2.31.0 safetensors-0.4.2 sympy-1.12 tokenizers-0.15.1 torch-2.2.0 tqdm-4.66.1 transformers-4.37.2 triton-2.2.0 tzdata-2023.4 urllib3-2.2.0 xxhash-3.4.1
Creating image snapshot...
Finished snapshot; took 3.81s
Built image im-MeTE9VNGYc3zv0jVDE2gfu in 123.36s
Building image im-uzlYYTpnBZgZgSKxtdLNk7
=> Step 0: running function 'download_model_to_folder'
Traceback (most recent call last):
File "/pkg/modal/_container_entrypoint.py", line 372, in handle_input_exception
yield
File "/pkg/modal/_container_entrypoint.py", line 530, in run_inputs
res = imp_fun.fun(*args, **kwargs)
File "/root/summary.py", line 12, in download_model_to_folder
from transfromers import pipeline
ModuleNotFoundError: No module named 'transfromers'
Creating image snapshot...
Finished snapshot; took 1.12s
Finished image build for im-uzlYYTpnBZgZgSKxtdLNk7
Stopping app - uncaught exception raised locally: RemoteError('Image build for im-uzlYYTpnBZgZgSKxtdLNk7 failed with the exception:\nModuleNotFoundError("No module named 'transfromers'")').
my code:
import os
import time

from modal import Image, Stub, gpu, method, Volume

MODEL_DIR = "/model"
BASE_MODEL = "knkarthick/MEETING_SUMMARY"
TASK = 'summarization'
GPU_CONFIG = gpu.L4()

def download_model_to_folder():
    from transfromers import pipeline

    # Download the model to the model directory
    nlp = pipeline(TASK, model=BASE_MODEL)

    nlp.save_pretrained(MODEL_DIR)
    print(f"Model saved to {MODEL_DIR}")

summary_image = (
    Image.from_registry(
        "nvidia/cuda:12.1.0-base-ubuntu22.04", add_python="3.10"
    )
    .pip_install("torch", "transformers", "datasets", "tqdm")
    .run_function(download_model_to_folder, timeout=60 * 20)
)

...

Hi: looks like a simple typo, “transfromers”


Automatically focus SwiftDownEditor?

Is there any way to force SwiftDownEditor to automatically receive the focus on iOS?

Hi @dnlfrst, sorry for the very late answer, I've been busy and wasn't able to work on side projects.
I think you could make use of the FocusState like so here


Fix missing code in RFC2005

Fix the missing code in Example

@cramertj Could you please review it?

Looks reasonable. I don't have write access to merge to the RFCs repo on my own, though. @nikomatsakis what's the current process for merging edits like these?