[feature] Grape routes

There is a gem called "grape_on_rails_routes". It would be nice if this gem is installed (or a setting to change) to use "rake grape:routes" so this plugin will pick up routes from grape instead.

Hi.
Please open Railways settings (there's a button in Routes panel next to "Update route list" button) and set "Rake task name" parameter to grape:routes. This setting is project-wide, so other projects won't be affected.
Please let me know if it works for you.

This works but it can't seem to parse the path/action correctly. I think it's because they are different formats.

This is what the output looks like on each line, method, endpoint path, api version, description
Majority of endpoints use the api version at the beginning and all use (.:format) at the end.
 DELETE  |  /:version/static_endpoint_path/:endpoint_variable(.:format)                           |  v1  |  Endpoint description

Hmmm... I see. Thank you for the information. While it's not hard to parse string of this format, but I need to find all possible formats of route output to parse well, otherwise output may be messy. Could you please provide more samples?
Another solution would be to add another output format to grape_on_rails_routes gem itself. I'll think about it too.

This is the only other thing i can think of, it's a base route so it doesn't have a api version. the url variables (:variable) can be anywhere in the route with as many of them in it.
GET  |  /swagger_doc/:name(.:format)                                       |      |  Swagger compatible API description for specific API


Add ABI roundtrip test

r? @alexcrichton
I've ran into a problem where the Rust type and the C type have the same size, alignment, etc. but they were passed using different ABIs, resulting in garbage [0]. Ctest did not catch that.
I've added a "roundtrip" test that initializes the type with a sequence of bytes, passes the type by value to C to exercise the argument part of the ABI, then C reads it, verifies the bytes, write some other bytes to it, returns it by value back to Rust exercising the return part of the ABI, which verifies it again.
This test won't detect all cases in which the "call ABI" differs. For example, if the call ABI in Rust is SCALAR but in C it is AGGREGATE, it might happen that the C aggregate ends up using the exact same registers than the Rust scalar. Arguably, if this is the case, the ABI is in practice the same. This test won't catch that.
This implementation has UB because it writes (potentially) invalid bit-pattern to the values. The fix here will be to use MaybeUninit<T> once it becomes stable and repr(transparent), since it will have the same ABI as T, but would allow us to never really construct an invalid T. (cc @RalfJ ). We could also just use an union here without #[repr(transparent)], because even though it is not guaranteed, unions with one field have the same ABI as the field. (cc @eddyb)
I don't think adding to many workarounds to try to avoid UB here is worth it, particularly because we are already invoking UB in other places (e.g. creating references to packed struct fields and such).

@alexcrichton this might break libc CI in a couple of places where we might need to fix an ABI, or skip a test. Once this lands, i'll skip all the failures in libc quickly, and merge that. And then slowly work towards fixing those.

[0]: the problematic types were: __m128 in the C side, and #[repr(C, align(16))] struct __m128(i32, i32, i32, i32); in the Rust side.

So modulo a mingw bug (either in mingw or the Rust targets), this works.
The main issue is making sure that the writes to padding bytes actually happen, but volatile seems to fix that, at least for our tests.

Hey, @gnzlbg you can pull https://github.com/mati865/ctest/commit/d1e9a60a584b59d4f63faf81f99850ea2ad13724
All green: https://ci.appveyor.com/project/mati865/ctest/builds/25637616


Add support for 11ty

Hey guys! I've just added your package to some of my small projects. Thank you so much for your work!!
Here is my knip.config.js as a result:
/** @typedef {import('knip/dist').KnipConfig} KnipConfig */

/** @type {KnipConfig} */
let config = {
	entry: [
		`source/scripts/index.js`,
		`eleventy.config.cjs`, // 11ty – config has a lot of dependencies
		`.linthtmlrc.cjs`, // linthtml
	],
	ignore: [
		`source/data/**/*.cjs` // 11ty
	],
	ignoreDependencies: [
		`linthtml-config-htmlacademy` // linthtml
	],
}

export default config

I would like to suggest adding an Eleventy plugin. Eleventy is a very cool static site generator.

I am not sure if it's necessary to create an issue for my other suggestions, because I'm not sure if you'll be happy with many issues from me 😁
I'll write them here, and later, if you think it's necessary, I'll create separate ones.

Add support for linhtml as well
Before using your package, I used a Makefile as a file to store all my application scripts (not the scripts section in package.json). There are many reasons for this (comment support, variables, working with all platforms (Deno, Bun, etc.), and so on). I migrated the scripts to package.json along with your package since I have fairly small projects. However, as a future plan, you might want to consider expanding support for script files.
I understand you here, but I still think it would be cool to have knip.config.js as a possible config file name, as most other configuration files have this prefix or plan to have it (usually with a migration to ESM).

I am not sure if it's necessary to create an issue for my other suggestions, because I'm not sure if you'll be happy with many issues from me 😁

I'm interested in any type of feedback or input. Signals matter :)

I'll write them here, and later, if you think it's necessary, I'll create separate ones.

I think I speak not only for myself as a maintainer if I say that separate tickets for separate issues are almost always a good idea :)

I am not sure if it's necessary to create an issue for my other suggestions, because I'm not sure if you'll be happy with many issues from me 😁

I'm interested in any type of feedback or input. Signals matter :)

I'll write them here, and later, if you think it's necessary, I'll create separate ones.

I think I speak not only for myself as a maintainer if I say that separate tickets for separate issues are almost always a good idea :)

Cool! Thank you! I've moved them to separate issues/comments.

htmllint – https://github.com/webpro/knip/issues/395
more script files – https://github.com/webpro/knip/issues
knip.config.js – https://github.com/webpro/knip/issues/182#issuecomment-1859132471

Thank you! Really appreciate the input.
Any chance you would be up for a PR and contribute to Knip? Sounds like creating a Knip plugin is similar to the Remix plugin. No worries if not!

Thank you! Really appreciate the input.
Any chance you would be up for a PR and contribute to Knip? Sounds like creating a Knip plugin is similar to the Remix plugin. No worries if not!

Of course, I'll try to do it in the middle of the week 🙏

Hey @webpro !
Could you take a look?
https://github.com/webpro/knip/pull/404

Hey @webpro
Since PR https://github.com/webpro/knip/pull/404 is merged, I think it can be closed.
Btw, when can I try this? I see that it is already available on website - https://knip.dev/reference/plugins/eleventy/, but I still cannot try it in npm package 🥲

Thank you @webpro !
https://github.com/webpro/knip/pull/404


Add CPU Temperature (untested)

I'm closing this issue for the sake of portability.
I will be using vcgencmd measure_temp on devices with vcgencmd and acpi -T on those without.


This library seems to use static methods, multiple main JFrames

So in order to initialize the docking system, we call
DockingUI.initialize(this);
How would I go with an app with multiple projects open, each with its own JFrame and set of docking?
Can this method be called on multiple frames?

That is currently not possible. There is a single instance of Docking per JVM.
The framework probably should have the flexibility for this. The static methods are far more convenient for what I designed it for.

@KlemenDEV I have this roughly implemented with a new DockingInstance class that has the same interface (but not static) as Docking.
I'm currently looking into how I can better separate the static and non-static setups. I would like to keep the static stuff for convenience for other use cases where that's all that is required. But while setting up some tests for the new multi-config I noticed it was really easy to accidentally call one of the static methods somewhere and cause issues.

Thanks, I will take a look.
I think your approach is a good idea with keeping easy system for single JFrame apps, while also offering more extensive system for more complex systems.

I'm going to experiment with changing the packing to the following:
docking-api
    docking-ui
    docking-single-app
    docking-multi-app

Trying this out locally to see how well I can keep single and multi separated.

Just published 0.9.0 which will have this feature. Maven info for the package is:
groupId:     io.github.andrewauclair
    artifactId:  modern-docking-multi-app
    version:     0.9.0


[Storage] [Typing Release] Queue typing release

This PR contains the changelog and version updates associated with the release containing the queue types overhaul.

API change check
API changes are not detected in this pull request.


validate-all broken since v0.16.0

v0.16.0 creates a .terragrunt-cache directory.
When I run terragrunt validate-all, I get:
10:51 $ terragrunt validate-all [terragrunt] [/home/me/git/project/staging/eu-west-1/networking] 2018/07/10 10:51:50 Running command: terraform --version [terragrunt] 2018/07/10 10:51:50 Error processing module at '/home/me/git/project/staging/eu-west-1/networking/.terragrunt-cache/K4mWZ7k7E85FwmjJeDdnsYYHZsQ/6PYnJZYoeYKyHmRAwweXnstOrvc/networking/terraform.tfvars'. How this module was found: Terragrunt config file found in a subdirectory of /home/me/git/project/staging/eu-west-1/networking. Underlying error: /home/me/git/project/staging/eu-west-1/networking/.terragrunt-cache/K4mWZ7k7E85FwmjJeDdnsYYHZsQ/6PYnJZYoeYKyHmRAwweXnstOrvc/networking/terraform.tfvars includes ../../../../terraform.tfvars, which itself includes ../../../../terraform.tfvars. Only one level of includes is allowed. [terragrunt] 2018/07/10 10:51:50 Unable to determine underlying exit code, so Terragrunt will exit with error code 1
Obviously the .terraform-cache subdirectory should be excluded.

Ah, that's my bad. We run plan-all and apply-all in tests, so I'm not sure how that was missed! I'll try to get a fix out today. Thanks for reporting.

Just pushed https://github.com/gruntwork-io/terragrunt/releases/tag/v0.16.1. New binaries should show up shortly. Let me know if that fixes the issue for you!

Nope, still happening.
I suppose your tests don't catch it because you delete the workspace/container between each run, so they never use the cache directory?
The first lines of plan-all:
[terragrunt] [/home/me/git/project] 2018/07/10 15:54:43 Running command: terraform --version
[terragrunt] 2018/07/10 15:54:43 Module /home/me/git/project does not have an associated terraform configuration and will be skipped.
[terragrunt] 2018/07/10 15:54:43 Stack at /home/me/git/project:
  => Module /home/me/git/project/.terragrunt-cache/EJ89lfnC3wzv7EIMkTpcdLUdNrs/6PYnJZYoeYKyHmRAwweXnstOrvc/networking (dependencies: [])
  => Module /home/me/git/project/.terragrunt-cache/K4mWZ7k7E85FwmjJeDdnsYYHZsQ/6PYnJZYoeYKyHmRAwweXnstOrvc/networking (dependencies: [])
  => Module /home/me/git/project/dev/eu-west-1/networking (dependencies: [])
  => Module /home/me/git/project/staging/eu-west-1/networking (dependencies: [])

Hm, that's perplexing. I'll look more into it tomorrow. Thx for the report.

OK, let's try this one more time 😄
https://github.com/gruntwork-io/terragrunt/releases/tag/v0.16.2
Binaries should be there in a few minutes.

Looks good now!
Thanks for the quick fixes @brikis98


Feat landingpages

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Mustache-ES6 question or proposal

Mustache is an important template system for Web and non-Web applications... And Javascript   was a great inspiration and reference, for JSON and Mustache. Javascript evolved, particularly  with the ECMA's v6 edition, "ES6". Currently, the ${x} of the template literals is a de facto standard for placeholder-variables.
The adoption of {{x}} was a good choice (resembles the  Mediawiki templates, popular in 2009), and there is no problem with it... But it was arbitrary, before 2015 there was no  Javascript-reference — that's an important part of the "standards ecosystem".  Now, maybe, we can try to restart with non-arbitrary choice.
Question and suggestion: is it possible (or "are there people in this community?") to create a fork by Mustache iniciative (suggested name "Mustache-ES6") to test and evolve to the new standard?

PS: about particular Javascript implementation and optimizations, see  this es6-template-engine project.

Hi! Feel free to reopen, but given this isn't an actual issue with the Mustache spec (as far as I can tell) and it hasn't sparked interest, I'm closing this issue for now.


Polyfill

Support more browsers, to resolve https://github.com/paf31/purescript-graphics-vis/issues/3

Thanks very much!


Allow Nested Parent to be a field

See https://github.com/platanus/activeadmin_addons/issues/217 for issue

Side note: we added this for Flags as well, since it was needed for the user form there.

Looks like what they went with is if the field was on the object, then it is added as well, so no need for the is_field boolean.
We would need to update this fork to their master to get that change instead, which is fine with me.


bug in v2

When I try to download courses this error shows up
ERROR: Invalid path: C:\Users\moham\Desktop\datacamp-downloader-2.0\Datacamp

Fixed, please confirm!

It works now.
Thank you.


Fix TurboModuleRegistry TS type

Summary
TurboModuleRegistry export functions and not a TurboModuleRegistry object. See https://github.com/facebook/react-native/blob/main/Libraries/TurboModule/TurboModuleRegistry.js#L37
Changelog
[GENERAL] [FIXED] - Fix TurboModuleRegistry TS type
Test Plan
Tested that the import doesn't generate a type error when used correctly.
import * as TurboModuleRegistry from 'react-native/Libraries/TurboModule/TurboModuleRegistry';

export default TurboModuleRegistry.get<Spec>('RNCSafeAreaContext');

LGTM, though for most cases you should probably prefer using the public export for this instead of reaching into a file inside the package. I know there are places where our own documentation doesn't do this though.

I.e. prefer "import {TurboModuleRegistry} from 'react-native'"

Yea I realized after working on this that it is also a public import from react-native.


Include Missing Variables

example-dnsomatic-docker-compose.yaml.
Only to include the rest of the useable variables. Not "needed", as they do populate by ddnsup.py. This is only for reference in case they need to be used by others, saving time discovering them within ddnsup.py.
Also disabled Telegram by default, and noted OpenDNS credentials are required (For legacy users with DNS-O-Matic credentials) that I mentioned in my other submitted issue. I feel these changes will make it easier/faster to deploy.
environment:
  - PROVIDER=dnsomatic
  - DOM_USER=my-opendns-username
  - DOM_PASSWD=my-opendns-password
  - DOM_MX=NOCHG
  - DOM_BACKUPMX=NOCHG
  - DOM_WILDCARD=NOCHG
  - RECORDS=list,of,hostnames,you,are,updating
  - USETELEGRAM=0
  - CHATID='Your Telegram Chat ID'
  - MYTOKEN='Your Telegram Bot Token'
  - SITENAME='Your Site Identifier'
  - TZ=America/New_York # or whatever makes sense for you

Thanks again for all your work!

I'll have a good long think on this as well as your other post. Definitely should have some better consistency. I've got a few days off coming up, so I'll get a look.

Thank you!


Custom error evaluation

The api I'm working with always returns an HTTP 200 whether an error has occurred or not. There is a status key that will either be "success" or "error" so what I'm looking for is a way to define how this middleware determines which action to dispatch when it receives a response based .
I was wondering if this is possible in the current implementation and if not how open you'd be to receive a PR for this functionality if it seems useful to others.

Hi @adam8810, that would be a welcome addition indeed.
This is not possible today and we'd need to be able to provide a way for users to pass in their 'ok' condition here: https://github.com/agraboso/redux-api-middleware/blob/ec666f7a40acfe6f7e3ec93453c491d9a12c5751/src/middleware.js#L173
A PR would be most welcome -- let me know if there's any way I can help!

I made a PR that allow this. And also for future we can add more options that user can set


wiz iac/sast-orch: split into separate topics STO-7668

Preview links

Artifact scans with Wiz
Repo scans with Wiz
IaC scans with Wiz

PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66610ecfe069c42493d4b8ae--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6662466c9522ed8239c958a0--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6662637338a65b97c4fb79a6--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66649f1fca7ec3164eedeb1f--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6664c2487f26cb2c587422be--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6664c34197150530a81bdd71--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6665d61724ce83f30649f89e--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6665edb2d370ac04f82b5644--harness-developer.netlify.app


Update the configurator to match the behavior of MR OpenXR plugin 1.0

The Mixed Reality OpenXR plugin 1.0 was just released. We should update some of the descriptions in the configurator to match the recommended setup procedures.

fixed by #10000


Wrong version number for SQLite-net.dll targeting netstandard1.1

The SQLite-net.dll targeting netstandard1.1 has a wrong version number. The Version number is <IP_ADDRESS> but should be the same as the dll targeting portable Profile 259.
Because of that i'm unable to run a UWP app.

This is fixed in 1.5.166-beta and will get out of prerelease soon.


Client-side routing breaks layouts

When using client side navigation (e.g. clicking anchor links), Vike fails to add/remove Layouts from the page.
https://github.com/user-attachments/assets/b428acaa-2832-4ec7-834c-76cd61da129e
MRE Repo

Install dependencies w/ pnpm
Run pnpm dev and open in browser
Click the links and observe that the (in this case) nested layout is not applied/removed unless the page is refreshed

@Blankeos Maybe there is an issue with the cumulative +Layout implementation?

Looking into this!

Hi @jaydevelopsstuff. Looked into your MRE, thanks for this, I could play around with the issue immediately! Found that this isn't a Vike issue. It's is a very common misuse of SolidJS if you're coming from React.
TL;DR; You're destructuring props. Don't do that. I have some tips below though. I made a PR on your repo btw for the fix.
Few tips about SolidJS and props

You lose reactivity if you destructure props
Personally, I don't like to destructure, but here's a cheatsheet for most of your usecases:

// ❌  bad
import { FlowProps } from "solid-js"
const MyComponent = (props: FlowProps) => {
   const { children } = props;
   // ...
}

// ❌  bad
import { FlowProps } from "solid-js"
const MyComponent = ({ children }: FlowProps) => {
   const { children } = props;
   // ...
}

// ✅  good (also personally useful because you know which ones are props from a glance)
import { FlowProps } from "solid-js"
import { mergeProps } from "solid-js"
const MyComponent = (props: FlowProps) => {
   // ...
}

// ✅ good (if you really want to destructure)
import { mergeProps, FlowProps } from "solid-js"
const MyComponent = (props: FlowProps) => {
   // 1. First way: always use if you want to destructure and also add default values.
   const  { children } = mergeProps({ age = 14}, props)

   // 2. Second Way: or still keep it inside a parent object (I like this personally because of the  same reason above)
   const _props = mergeProps({ age = 14}, props)

   // ...
}

Also some improvements, I could add in your code (this doesn't matter though, I just realized):

File Structure. Your +Page.tsx that lives in the / route shouldn't be in src/pages/+Page.tsx (I guess that's one difference from Next.js and SvelteKit). But apparently, it still works without putting it inside index/+Page.tsx (I didn't know that @brillout lol)

By the way if this helped you, I'll just plug my SolidJS + Vike boilerplates here:

solid-hop - simpler (like a create-next create-solid create-svelte barebones starter for SolidJS)
solid-launch - fully-fledged with auth, folder structures, conventions, snippets, etc.

Thanks so much for the help, just a dumb mistake.

Happy to help @jaydevelopsstuff. It's perfectly okay to make that mistake. It's just the React-to-Solid jet lag haha. I made the same mistake before lol.

Also, hi @brillout, I think I missed reading your reply haha.

do you mean that it should be defined in src/pages/index/+Page.tsx instead? Why is that? 👀

Yup, based on the file structure docs, I never really thought src/pages/+Page.tsx was possible haha. But after reading it again, yeah it actually is there src/pages/**/+Page.js. That's cool!
Will probably still stick with src/pages/index/+Page.tsx though because +data.ts or +config.ts can be placed there if needed.

These look great! We could add them to vike-solid's readme/docs if you want.

Really appreciate that coming from you! Sounds awesome! Yeah, I think it would help the Vike + Solid community a lot if it's on the examples.

Also, if you're up for it, you could co-lead vike-solid with us

It would be a really cool opportunity, but not sure if I'm ready for the obligation. What does the co-lead usually do? Feel free to dm me on Discord!
In any case, I'll do my best answering questions in the community. I think it helps everyone and the framework in the long term. Would really love to see Vike becoming mainstream with giants like NextJS and upcoming ones like Tanstack Router.

It would be a really cool opportunity, but not sure if I'm ready for the obligation. What does the co-lead usually do?

You can contribute however you want and feel like.
Examples:

Have a look at current issues. But most are currently already being worked on by @phonzammi (although he'll probably very much welcome some help). One issues that is open and not taken by anyone is https://github.com/vikejs/vike-solid/issues/96, in case that's something that sounds appealing to you.
Follow new issues (by clicking the watch button at https://github.com/vikejs/vike-solid) while trying to fix them / reply to questions.
Implement new Vike extensions for vike-solid. See for example https://github.com/vikejs/vike-solid/tree/main/packages/vike-solid-query and https://github.com/vikejs/vike-react/tree/main/packages/vike-react-apollo.


🐛(sitemap) filter out Course run items from "sitemap.xml"

Purpose
Currently, the generated "sitemap.xml" contains all course run pages but they are not desired for SEO so they should not be included in Sitemap file.
This is related to opened issue #824
Proposal
This commit add a new custom Sitemap generator for cms pages which inherit from the one from DjangoCMS just to filter out Course run pages.

Note than this is currently a proof of concept since filtering from new custom cms page sitemap generator stand on demo behavior which starts every course run slug with session which is probably not solid behavior in real life.
However, it works to reduce sitemap size, on my local demo i'm going from 946 items to 490 items.

Add a small test to check that run is not included in the rendered sitemap?

@sampaccoud yeah, now i have to find time to create a test to cover this.

This problem was solved by PR https://github.com/openfun/richie/pull/1202 as course runs are not CMS pages anymore.

This problem was solved by PR https://github.com/openfun/richie/pull/1202 as course runs are not CMS pages anymore.


chore(dependencies): Update vulnerable packages

npm audit said there was something suspicious about hbs — it's gone now.

can you send against next? We are done with the beta branch. I tried to change the base but GitHub wasn’t able to rebase it cleanly

Sure, I will open another one.


Fix #117: add localtime to stop_date where clause

Fix for #117, by adding "localtime" to the stop_date where clause.

Thanks for the PR, lgtm, not tested though (see comments in #117)

Leaving a note for myself when I'm able to pick this up again:
Setting the TZ environment variable using OS.environ between invocations of the things.py API appears to work on a Mac, but not on a BSD system (or GitHub actions) per @mikez's test.
Next steps:

What is the way to change time zones mid script such that SQLite will notice the difference, and be able to query based on that?
After that's solved, how do I write a test for the  .last API call (to test the createdDate query change in this PR) that gets the right amount of tasks from a past date? (stashed my first attempt)

Setting the TZ environment variable using OS.environ between invocations of the things.py API appears to work on macOS, but not on a BSD system (or GitHub actions) per @mikez's test.
Next steps:

What is the way to change time zones mid script such that SQLite will notice the difference, and be able to query based on that?

Try this: Call time.tzset() after changing the TZ variable per: https://docs.python.org/3/library/time.html#time.tzset

After that's solved, how do I write a test for the  .last API call (to test the createdDate query change in this PR) that gets the right amount of tasks from a past date? (stashed my first attempt)

Forgot the other detail from my conversation with @mikez last week, which was that we think the call to .last only goes as far back as the current time X days ago, rather than midnight of that day.
So for example if I call the following...
last_tasks = things.last(f"{days_ago}d", status="completed")
...and it's currently 3:55pm, it only goes back days_ago days starting from 3:55pm on that day.
This means I can't create a reliable test that will cover the change I made to make_unixtime_range_filter to account for different timezones.

Two thoughts here then:

Should we commit and try the test above as-is, or
Come to a decision on the behavior of .last and update its behavior, and then complete this test so it covers both cases?

👍
I vote for splitting this into two PRs.
As for the behavior of "last", maybe @lmgibson can help us here as he was the architect here. In essence, the question is whether last='2d' should mean the last 48h from the time right now or the last two dates.

@mikez Marked as Ready for Review per your approval.
@AlexanderWillner I believe this is over to you now (unless you disagree).

@chrisgurney I ran the tests. There seem to be some doctest failures still. You can run these with make testdoc.

Hmm, I'm getting errors running make testdoc:
% make testdoc
THINGSDB=tests/main.sqlite pytest --cov=things -W ignore::UserWarning --cov-report=xml --cov-context=test --doctest-modules
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --cov=things --cov-report=xml --cov-context=test

@mikez Back to you.

@AlexanderWillner If you'd enjoy to do so, can you add a check for pytest-cov in the makefile; see https://github.com/thingsapi/things.py/pull/118#issuecomment-2189113454

@chrisgurney make lint and make auto-style may be helpful for the current failures.

@AlexanderWillner If you'd enjoy to do so, can you add a check for pytest-cov in the makefile; see #118 (comment)

Here's what I was thinking:
@type pytest >/dev/null 2>&1 || (echo "Run '$(PIP) install pytest; $(PIP) install pytest-cov' first." >&2 ; exit 1)

@AlexanderWillner If you'd enjoy to do so, can you add a check for pytest-cov in the makefile; see #118 (comment)

Here's what I was thinking:
@type pytest >/dev/null 2>&1 || (echo "Run '$(PIP) install pytest; $(PIP) install pytest-cov' first." >&2 ; exit 1)

You can do multiple arguments to pip: pip install pytest pytest-cov.

@mikez Linting issues fixed. Thanks for the tips.

@chrisgurney 🥳🙌

Everything passed!
I think it would also be helpful to add a CONTRIBUTING file to the project that:

suggests the make commands to run prior to submitting a PR, which for me was test, testdoc, and lint;
talks to how to copy over the test Things database (after backing up your own) via make db-to-things and make db-from-things, and a disclaimer about making changes to it (schema knowledge perhaps being a pre-requisite here);
@mikez helped me with was setting up a venv, which was new to me as a relatively new Python developer -- might be helpful to point to the docs for that;

@chrisgurney Good idea! Do you want to craft such a simple file?
You could model it on other CONTRIBUTING.md files that you enjoy.

@chrisgurney Good idea! Do you want to craft such a simple file? You could model it on other CONTRIBUTING.md files that you enjoy.

Thought you might suggest that. 😅 Perhaps when I come back to the second test, once (if) .last is updated.

@mikez I've got a draft of CONTRIBUTING.md almost ready. I'll submit a PR soon.


Can't build with latest version 3.0.0

Integration Method: Cocoapods
Xcode Version: 7.3.1
Library Version: 3.0.0
Platform: iOS
Device: Simulator
Description: When build with version 3.0.0, the compiler gives error "definition of 'Mixpanel' must be imported from module 'Mixpanel.Mixpanel' before it is required My project is Objective-C
Expected Behavior: When i revert back to 2.9.9, everything is fine.

Hi @namanhams Can you please post the contents of your bridging header?

Can you confirm that you have #import <Mixpanel/Mixpanel.h> in that same file that you're receiving the error? Although the error looks like it might be from the module system. Are you instead using @import Mixpanel;?
Otherwise I think it must be an issue with your project configuration. I created a new clean project in Objective-C and integrated v3.0.0 of the CocoaPod. I'm able to build and send events. I attached the sample project in hopes that it might help you figure out what setting is wrong in your project.
MixpanelCocoaPod300.zip

I follow the instruction and do "#import "Mixpanel.h" instead. But this works fine for 2.9.9. It just doesn't work for 3.0.0. I'll clean and try again and let you know

Did this resolve your issue?

I'm facing the same issue, i just updated my pod and now it's not working with 3.0.0

@hamdullahshah Can you please open a new issue and fill out the template so we can keep each issue focused?

@samgreen I was having the same issue, because I was importing #import "Mixpanel.h. Changing to @import Mixpanel; fixed it.

Marking issue as resolved.


panic on validation step in webhook for machinedeployment.

After upgrading to latest 1.27.11 got this error in attempt to create machine-deployment(cloud provider - hetzner)
2021/07/20 16:10:42 http: panic serving <IP_ADDRESS>:32616: runtime error: invalid memory address or nil pointer dereference
goroutine 1833 [running]:
net/http.(*conn).serve.func1(0xc0001a9180)
	net/http/server.go:1801 +0x147
panic(0x2ca4be0, 0x5251720)
	runtime/panic.go:975 +0x3e9
net/http.(*timeoutHandler).ServeHTTP(0xc00013fa00, 0x38241c0, 0xc000dce700, 0xc00024d500)
	net/http/server.go:3277 +0x988
net/http.serverHandler.ServeHTTP(0xc0000b01c0, 0x38241c0, 0xc000dce700, 0xc00024d500)
	net/http/server.go:2843 +0xa3
net/http.(*conn).serve(0xc0001a9180, 0x382f300, 0xc00057a3c0)
	net/http/server.go:1925 +0x8ad
created by net/http.(*Server).Serve
	net/http/server.go:2969 +0x36c
I0720 16:10:42.969704       1 machines.go:48] Defaulting and validating machine kube-system/
I0720 16:10:42.969795       1 validationwrapper.go:56] Got cache miss for validation
2021/07/20 16:10:42 http: panic serving <IP_ADDRESS>:4615: runtime error: invalid memory address or nil pointer dereference

If rewrite this [template]( https://github.com/kubermatic/machine-controller/blob/master/examples/hetzner-machinedeployment.yaml with hetzner api token as plain text - everything work as expected.
)
Is it a bug or examples/ should be fixed?

duplicate of #943


RemoveMethodInvocationsVisitor can remove static method

What's changed?
Add test to verify if RemoveMethodInvocationsVisitor can delete static method
What's your motivation?
After moving recipe org.openrewrite.java.migrate.RemoveMethodInvocation defined on project rewrite-migrate-java to org.openrewrite.java.RemoveMethodInvocations in `rewrite-java' some custom recipe now failed
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.testing.easymock.EasymockRemoveReplay
displayName: Remove EasyMock `replay()`"
description: Remove EasyMock `replay()` method calls.
recipeList:
  - org.openrewrite.java.migrate.RemoveMethodInvocation:
      methodPattern: org.easymock..EasyMock replay(..)

this exemple work but the recipe has been removed :

recipe : https://github.com/dralagen/rewrite-testing-frameworks/blob/java-migrate-removeMethodInvocation/src/main/resources/META-INF/rewrite/easymock.yml
test : https://github.com/dralagen/rewrite-testing-frameworks/blob/java-migrate-removeMethodInvocation/src/test/java/org/openrewrite/java/testing/easymock/EasymockRemoveReplayTest.java

this exemple break TU : https://github.com/dralagen/rewrite-testing-frameworks/blob/removeMethodInvocations/src/main/resources/META-INF/rewrite/easymock.yml
Anyone you would like to review specifically?
@timtebeek  I created the PR as draft with test the remove Method static invocation detect on the Migration from easymock to mockito
Have you considered any alternatives or workarounds?
I see the same issue on PR :

https://github.com/openrewrite/rewrite-testing-frameworks/pull/639

Checklist

[x] I've added unit tests to cover both positive and negative cases
[ ] I've read and applied the recipe conventions and best practices
[x] I've used the IntelliJ IDEA auto-formatter on affected files

Looking at the tests I believe the static method call is not removed by RemoveMethodInvocationsVisitor as the call is part of a local variable assignment. That is of course something that could be changed (e.g. completely remove the initializer or replace it with null), but as it currently stands this visitor will just do nothing in this situation: https://github.com/openrewrite/rewrite/blob/cf71b0d927f09d89ecebc5c49c3fce00917e7ef3/rewrite-java/src/main/java/org/openrewrite/java/RemoveMethodInvocationsVisitor.java#L124-L132

Looking at the tests I believe the static method call is not removed by RemoveMethodInvocationsVisitor as the call is part of a local variable assignment. That is of course something that could be changed (e.g. completely remove the initializer or replace it with null), but as it currently stands this visitor will just do nothing in this situation:
https://github.com/openrewrite/rewrite/blob/cf71b0d927f09d89ecebc5c49c3fce00917e7ef3/rewrite-java/src/main/java/org/openrewrite/java/RemoveMethodInvocationsVisitor.java#L124-L132

That's right, I just pushed a first implementation.

Thank you very much for your responsiveness and the time taken to fix it.


#P04 As Participant, I would like to see a list of any upcoming Hackathons.

Hiya! I have a draft to fix issue #21 ready to go.
Description

A simple ListView that displays the Hackathon models in a card-based format. I tried to make it similar to lessons on the CI lesson pages.
The view is paginated for every eight objects. I provided links for an organiser's page and a detail page in the future.
The pagination buttons are also an include template using the default page_obj, so it is modular, allowing use for other paginated lists.
I have added additional styles to style.css for the cards, the paginator and text colors.
Added a draft menu item in the Navbar, "Hackathons".

Tests

I wrote tests that check for the templates used, URL status, context and queryset.
I have verified the page with the HTML5 verifier.
Responsiveness checked using the Chrome inspector on all device sizes.

Known Bugs
None I can find, the view keeps it simple! 😃
Let me know what ye think, what yere vision is, I'll put in the additions to fix it right up!
Screenshots

Actually, just saw it's only a draft. But I'd say we can merge it already and you can work on the other pages in another PR.

@Ri-Dearg looks great! Merging now.


[WIP] Merge installation sections from crate-howtos and tutorials

Summary of the changes / Why this is an improvement
🚧 Work In Progress 🚧
First attempt of moving installation instructions from crate-howtos to crate-tutorials
Checklist

[x] CLA is signed

 Rework Ubuntu and Debian Deployment Guides to Multi-Node best practices


[luci.js] invalid XML

exhibits on Master and 19.07
exhibits with different browsers

Accessing /cgi-bin/luci/admin/status/processes prints (depending on browser)

Failed to set the 'innerHTML' property on 'Element': The provided markup is invalid XML, and therefore cannot be inserted into an XML document.

or

SyntaxError
An invalid or illegal string was specified

Browser console points to luci.js
162 else if(children!==null&&children!==undefined){node.innerHTML=''+children;return node.lastChild;}

Which theme?

OpenWrt theme only, does not exhibit with Bootstrap or Material.
luci-mod-status git-19.329.02080-e3b3653-1.0 (that is on Master).

Hm, there is no revision e3b3653 in the repo. The 1.0 revision looks odd as well. Is this some LuCI fork?

No fork
opkg info luci-mod-status

Package: luci-mod-status
Version: git-19.329.02080-e3b3653-1.0
Depends: libc, luci-base, libiwinfo, libiwinfo-lua
Status: install user installed
Section: luci
Architecture: arm_cortex-a9_vfpv3
Size: 25498
Filename: luci-mod-status_git-19.329.02080-e3b3653-1_arm_cortex-a9_vfpv3.ipk
Description: LuCI Status Pages
Installed-Time:<PHONE_NUMBER>

That version is newer than the current LuCI branch tip and newer than whats available on the download server. You must be building from some different source, or with custom commits applied or something.

A bit strange since the LuCI packages are being pulled straight from the OpenWrt feed (server).
Closing since being a minor issue and exhibiting only OpenWrt theme.


Bump client revision to 3

Please make sure to update the client versions.
cheers
crackers
https://zpool.ca

never mind. I see alamshafil just did it.

Thanks for the help anyways :)


Enhancement: Add supprt for Google AI Studio (Top ranking LLM)

What features would you like to see added?
Google's gemini-exp-1206 recently rose to the top of the LMSYS community leaderboard, I think it would be great if we could use this model from Librechat.
More details

https://lmarena.ai

Which components are impacted by your request?
General
Pictures

Code of Conduct

[X] I agree to follow this project's Code of Conduct

it can be added to the list of models with the GOOGLE_MODELS environment variable in .env file


Feature: introduce proxy caching plugin

Hi，
I want to introduce a proxy caching plugin, but there are several choices.

Based on Nginx's built-in proxy cache in ngx_http_proxy_module, it store data on disk.
Based on lua_shared_dict in ngx-lua-module, it store data on memory.
Based on external storage such as redis and other redis-like storage system.

Each option has its own scenario, but i think option 1 supports more functionality and less code needs to be implemented. In addition, I'd perfer to abstract these options into a plugin and then by parameters to distinguish.
What do you think of?

Based on Nginx's built-in proxy cache in ngx_http_proxy_module, it store data on disk.

The ngx_http_proxy_module depends on the Nginx configuration file. We need to modify the Nginx core to use it dynamically. This is not an easy task.

Based on lua_shared_dict in ngx-lua-module, it store data on memory.

This is the simplest,

I perfer the option 1, which is more stable and easier to learn.
and one more thing, @agile6v you can send a [DISCUSS] email to mailinglist such like architecture selection topic.


Please add socks5 proxy func to download models ！Because the internet in China is not accessible

Please add socks5 proxy func to download models ！Because the internet in China is not accessible

Ollama uses any proxy setting set in the environment, specifically HTTPS_PROXY. For socks5, use something like this HTTPS_PROXY=socks5://proxy_address:proxy_ort

thanks


pr34: Add shell script to check kernel config

The shell script is meant as a guide for people configuring
their kernel to run northstar. It attempts to check specific
functionality provided by the various kernel config options.

Check on one of our regular targets.


KAFKA-7422: forceUnmap mmap on linux when index resize

https://issues.apache.org/jira/browse/KAFKA-7442
In AbstractIndex#resize, safeForceUnmap should also be invoked for Linux.
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@cmccabe can you please review this? I don't know the original intent of the code, but what would be the most efficient way to remap on Linux after resizing?

The risk of using munmap here is that it might block, which could be slower than what we have now.  However, there are several problems with not using munmap here: we might run out of file descriptors, or we might do the munmap in a finalizer, which would slow down the GC process.
On the whole, I think this is a good change and we should do it.

retest this please

Can we just keep it to the original change that calls forceUnmap unconditionally, and save further refactoring for a follow-on change?

@cmccabe the original change did not seem safe in hindsight. Do you disagree?

Sorry, I missed your follow up comment on the v1 patch, because I started by looking at v2 today.  I definitely agree that if people are using mmap without the lock, then the previous patch was unsafe.  And the existing behavior on Windows is unsafe as well.
Unfortunately, we don't have any really good options here.  A thread could grab a reference to the mmap and hold on to it for an arbitrary amount of time.  So in general there is no way to tell when it is safe to delete the mmap.  The only way out of this is to integrate with the Java GC to know when all references have been GC'ed.  This is basically semantically equivalent to setting up a finalizer, which ByteBuffer already does, and has all the same problems.
Another way out is to roll our own GC by doing reference counting.  So we could increment a reference count whenever using the mmap, and decrement it whenever that use is over.  The atomic increment and decrement would add extra overhead, but I'm not sure how to avoid this.

Actually I prefer the option of calling forceUnmap() unconditionally instead of putting it outside of the locking since the latter seems to be an over-optimized choice.

@huxihx: the issue @ijuma pointed out is that even if you call forceUnmap inside the locking, there may be threads using that MappedByteBuffer concurrently with your unmap.  The mmap is a volatile variable, which threads can access without taking the lock.

I think we should close this PR and file a JIRA for a bigger refactoring where we add reference counting to our use of MappedByteBuffer.  Once we have reference counting, we can munmap without waiting for the garbage collector to validate that all object references are gone.

@cmccabe Could we apply the v1 patch to keep it line with other usages of safeForceUnmap before figuring out the final solution where reference counting is introduced?

As I understand it, the original patch isn't safe, because callers could access the volatile field after we've unmapped the memory region.  This would crash the broker.

@cmccabe  The original patch invokes safeForceUnmap with lock held before assigning mmap to a newly-created region. Right?

Not all the code hold the lock while it's using the mapped region.  It doesn't matter if you take the lock when unmapping if someone uses the object without locking.


FIRESTORE INTERNAL ASSERTION FAILED Failed to commit transaction, No space left on device (LevelDB)

[REQUIRED] Step 1: Describe your environment
Xcode version: 12.0.1
Firebase SDK version: 6.34.0
Firebase Component: Firestore
Component version: 6.34.0
Installation method: CocoaPods
[REQUIRED] Step 2: Describe the problem
We had a lot of crash recently with the following error:
FIRESTORE INTERNAL ASSERTION FAILED: Failed to commit transaction: <LevelDbTransaction NextMutationBatchAfterBatchID: 0 changes (0 bytes):> Failed: IO error: /var/mobile/Containers/Data/Application/1D9183C6-D12F-42CB-8A18-A408B7F5F841/Library/Application Support/firestore/__FIRAPP_DEFAULT/[APP-NAME]/main/001236.ldb: No space left on device (expected status.ok())
After inspecting the code and the stack trace, it's seems that this crash is coming if the user devices has very few disk space left:

Here is the full stack trace:
Fatal Exception: NSInternalInconsistencyException
0  CoreFoundation                 0x1b0401114 __exceptionPreprocess
1  libobjc.A.dylib                0x1c3c27cb4 objc_exception_throw
2  CoreFoundation                 0x1b0310308 -[CFPrefsSearchListSource addManagedSourceForIdentifier:user:]
3  Foundation                     0x1b1642ca8 -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:]
4  Wizz                           0x1003407b0 firebase::firestore::util::ObjcThrowHandler(firebase::firestore::util::ExceptionType, char const*, char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 59 (exception_apple.mm:59)
5  Wizz                           0x100340300 firebase::firestore::util::Throw(firebase::firestore::util::ExceptionType, char const*, char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 91 (exception.cc:91)
6  Wizz                           0x10038f968 firebase::firestore::util::internal::FailAssertion(char const*, char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*) + 42 (hard_assert.cc:42)
7  Wizz                           0x10038fa08 firebase::firestore::util::internal::FailAssertion(char const*, char const*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*) + 49 (hard_assert.cc:49)
8  Wizz                           0x1003abfdc firebase::firestore::local::LevelDbTransaction::Commit() + 208 (leveldb_transaction.cc:208)
9  Wizz                           0x1003a1764 firebase::firestore::local::LevelDbPersistence::RunInternal(absl::lts_2020_02_25::string_view, std::__1::function<void ()>) + 261 (leveldb_persistence.cc:261)
10 Wizz                           0x1003b2870 firebase::firestore::local::LocalStore::GetNextMutationBatch(int) + 1831 (functional:1831)
11 Wizz                           0x1003e5420 firebase::firestore::remote::RemoteStore::FillWritePipeline() + 452 (optional.h:452)
12 Wizz                           0x1003e5290 firebase::firestore::remote::RemoteStore::EnableNetwork() + 117 (remote_store.cc:117)
13 Wizz                           0x1003e7ae8 firebase::firestore::remote::RemoteStore::HandleCredentialChange() + 567 (remote_store.cc:567)
14 Wizz                           0x1003fba78 firebase::firestore::core::SyncEngine::HandleCredentialChange(firebase::firestore::auth::User const&) + 259 (sync_engine.cc:259)
15 Wizz                           0x100364848 std::__1::__function::__func<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::auth::CredentialsProvider>, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_2::operator()(firebase::firestore::auth::User)::'lambda0'(), std::__1::allocator<firebase::firestore::core::FirestoreClient::Create(firebase::firestore::core::DatabaseInfo const&, firebase::firestore::api::Settings const&, std::__1::shared_ptr<firebase::firestore::auth::CredentialsProvider>, std::__1::shared_ptr<firebase::firestore::util::Executor>, std::__1::shared_ptr<firebase::firestore::util::AsyncQueue>, std::__1::unique_ptr<firebase::firestore::remote::FirebaseMetadataProvider, std::__1::default_delete<firebase::firestore::remote::FirebaseMetadataProvider> >)::$_2::operator()(firebase::firestore::auth::User)::'lambda0'()>, void ()>::operator()() + 1720 (functional:1720)
16 Wizz                           0x100321b70 firebase::firestore::util::AsyncQueue::ExecuteBlocking(std::__1::function<void ()> const&) + 957 (atomic:957)
17 Wizz                           0x1004031f0 firebase::firestore::util::Task::ExecuteAndRelease() + 1859 (functional:1859)
18 libdispatch.dylib              0x1b003a280 _dispatch_client_callout
19 libdispatch.dylib              0x1b00164fc _dispatch_lane_serial_drain$VARIANT$armv81
20 libdispatch.dylib              0x1b0016fe8 _dispatch_lane_invoke$VARIANT$armv81
21 libdispatch.dylib              0x1b0020808 _dispatch_workloop_worker_thread
22 libsystem_pthread.dylib        0x1f5ce45a4 _pthread_wqthread
23 libsystem_pthread.dylib        0x1f5ce7874 start_wqthread
>

Hi @gautier-gdx! Unfortunately, this is a symptom of some rough edges of Firestore's internals. It is a known issue that we hope to tackle in a holistic way in the future; however, for now I can only suggest a few workarounds for you.
The first workaround would be to monitor free space on the device and disable persistence if free space drops below a certain threshold. In order to disable persistence, you would need to shut down the FIRFirestore instance by calling its terminate method. You could even free up a bit of disk space by calling clearPersistence. Then, you can restart the FIRFirestore instance with a FIRFirestoreSettings object with its persistenceEnabled property set to false.
Another workaround could be to limit the cache size. This value can be specified in the FIRFirestoreSettings cacheSizeBytes property.
These workarounds certainly wouldn't guarantee that a "No space left on device" but could possibly reduce their frequency. Since there isn't any immediate action that we are prepared to take to fix this issue I'm going to close it. But feel free to continue the discussion if you have further suggestions/questions.


Visual Studio Code only runs from Administrator command prompt

VSCode Version: 1.5.3
OS Version: Windows 7

Whenever I open Visual Studio Code, it immediately crashes "The window has crashed". Clicking the 'Reopen' button just repeats the error.
The only way I can get Visual Studio code to work is to launch "C:\Program Files (x86)\Microsoft VS Code\Code.exe" from an Administrator command prompt.

Does it reproduce using our insider release? !!! PLEASE DO NOT RUN IT AS ADMINISTRATOR !!!
You can give our preview releases a try from: http://code.visualstudio.com/Download#insiders

A number of days has past without answer on the questions asked. I am thereby going to close this issue to clean up our backlog of issues. Once you can answer on the questions, the issue can be reopened again. Thanks for understanding this process!

@bpasero Yes I can reproduce with VSCode-win32-insider.zip from http://code.visualstudio.com/insiders

@hickford when you run "code -n" from the command line, does that work? Not as administrator I mean.

A number of days has past without answer on the questions asked. I am thereby going to close this issue to clean up our backlog of issues. Once you can answer on the questions, the issue can be reopened again. Thanks for understanding this process!


Update entire commandline toolchain to support new Habery and encrypted keystores with a passcode.

This PR includes:

Update entire commandline toolchain to support new Habery and encrypted keystores with a passcode.

Persist delcept event locally before receiving delegator's anchor.  Closes #100

Update agent to work with Habery, encrypted keystore and new Swagger APIs

New kli tests using shell scripts.

Signed-off-by: Phil Feairheller<EMAIL_ADDRESS>

Codecov Report

Merging #140 (8ca73fa) into master (03a760e) will decrease coverage by 5.02%.
The diff coverage is 53.54%.

@@            Coverage Diff             @@
##           master     #140      +/-   ##
==========================================
- Coverage   90.27%   85.25%   -5.03%
==========================================
  Files         111      146      +35
  Lines       30777    32252    +1475
==========================================
- Hits        27785    27497     -288
- Misses       2992     4755    +1763

Impacted Files
Coverage Δ

setup.py
0.00% <ø> (ø)

src/keri/app/cli/common/displaying.py
16.12% <0.00%> (-0.54%)
:arrow_down:

src/keri/app/signing.py
92.30% <ø> (-5.13%)
:arrow_down:

src/keri/core/coring.py
88.23% <ø> (ø)

src/keri/core/routing.py
79.48% <ø> (ø)

src/keri/vc/walleting.py
47.05% <ø> (ø)

src/keri/vdr/eventing.py
78.25% <ø> (-0.14%)
:arrow_down:

src/keri/vdr/issuing.py
43.90% <0.00%> (-16.27%)
:arrow_down:

tests/app/test_delegating.py
100.00% <ø> (ø)

tests/app/test_grouping.py
30.88% <0.00%> (-68.01%)
:arrow_down:

... and 113 more

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 03a760e...8ca73fa. Read the comment docs.


Improve new Moon UI VNC performance

Cursor should react faster.

Fixed in https://github.com/aerokube/moon2/pull/242.


Pipenv shell support

I tried out Elvish and it immediately broke when I did pipenv shell. See also this ticket over at pipenv: https://github.com/pypa/pipenv/issues/4198
I'm not too clear about the intricacies of this and which side needs to change what to make this work but I thought it would be good to have a tracking ticket on this side.

I suspect this is related to #974, and even if it is not, we should probably link the two issues into a larger "Python Support" issue.
@xiaq I think it might be best if you give some guidance here (or in #974). I'm willing to try and implement something, either as a built-in or as a separate module, but I don't want to go make something that is counter to how you think Elvish should handle python support.
@alper I don't use pipenv, but I do use poetry. I happen to have a slightly weird usage pattern that relies on existing virtual environments, so I don't use the equivalent poetry shell command. However, when I just tried it out I see it fails. I'm not familiar with poetry internals here, but a quick glance does show some special handlers for fish and csh so I assume pipenv has something similar?
As a quick workaround I suspect you can make your own virtual environment and activate it using my python module. Again, I don't use pipenv so I'm not entirely sure if it'll work with my module, but I suspect it'll be fine.

I've been a Python user, and fan, for thirteen years. I've used a couple of python virtual environment managers. I currently prefer Anaconda. I've never heard for either "pipenv" or "poetry". The problem in https://github.com/pypa/pipenv/issues/4198 is that elvish does not have a -i flag to force "interactive" mode and pipenv assumes the shell does support that flag. That is not something Elvish can solve, in general, since it is not a POSIX 1003.2 compatible shell.
It is impossible for Elvish to work with all of the (not just Python) virtual environment managers without being a POSIX 1003.2 compatible shell. And that, by definition, will never happen since Elvish is explicitly not POSIX 1003.2 compatible.
The only solution here is
a) adding special-case support to those virtual environment managers for elvish, similar to what has been done for other non-traditional shells like fish, or
b) bundling equivalent mechanisms with elvish.
Option (a) is preferable but requires someone who cares about a specific virtual environment manager to create, and lobby to get merged, an appropriate change to that project.

I suspect for Python in general, the best thing would be for Elvish to gain built-in support for "activating" and "deactivating" Python virtual environments. As far as I know all Python project managers use the same underlying virtual environment practices, so this would allow Elvish users to be productive in Python, even if they have to jump through a few extra hoops compared to POSIX compatible shell users. I already have some code that does basically this (it makes some assumptions based on my personal workflow, but this could be changed).
As far as fixing specific tools, such as pipenv or poetry or conda there are two options I can think of, I'm sure there are more but I've only had one cup of coffee so far today.

Give Elvish a new -i flag. This is really, really, really incredibly silly since it wouldn't do anything, but maybe it's silly enough to "just work". I reserve the right to mercilessly mock this idea after another cup of coffee.
Provide some general documentation on best practices for starting a new Elvish shell from a 3rd party tool. Do not focus just on Python project managers, but anything that could require starting a brand new Elvish process.


Print more log messages to enable tracking of SLIs

In order to track service level indicators, we need to print more logs.
For the Koji Hub plugin, this means we print a message each time a request is received by the plugin. A second log message is printed once the task has been successfully created in Koji Hub's database. This also will allow us to measure the time it takes for Koji Hub to insert a task into its database.
Example messages:
[Tue Nov 15 19:43:05.996844 2022] [wsgi:error] [pid 17:tid 55] [remote <IP_ADDRESS>:38666] 996 [INFO] m=None u=None p=17 r=?:? koji.plugins: Create osbuildImage task
[...]
[Tue Nov 15 19:43:06.003731 2022] [wsgi:error] [pid 17:tid 55] [remote <IP_ADDRESS>:38666] 2022-11-15 19:43:06,003 [INFO] m=osbuildImage u=kojiadmin p=17 r=<IP_ADDRESS>:38666 koji.plugins: osbuildImage task 3 added to database

For the Koji Builder plugin we print a log message once a task has been received. We print a second log message once composer returns a compose id. This means the plugin completed one iteration successfully.
These logs are ingested into Splunk. In a dashboard we can then track the two subsequent requests and the duration between them.
As the newer version of pylint available in Fedora 37 that was just released fails with the current code base, I pinned the container so this can be addressed in a separate, subsequent PR.

Changes look good to me. I added one nitpick and have one more general comment, although I think that you were trying to keep the changes as minimal as possible.

Indeed.

Since you added the names logger in the hub plugin, I winder whether it wouldn't be better to rework the builder plugin to also get and use a logger with the same name, instead of using self.logger.info() directly... thinking

That might make sense!
At the same time we are most likely the only ones ever interested in these logs and as far as I can tell they are unique enough to enable easy matching.

Love this, thanks @ochosi !
Will this allow us to measure end to end success ratio in the builder (and the hub for that matter), i.e. not only that the build was started successfully but that it completed with success?

Love this, thanks @ochosi !
Will this allow us to measure end to end success ratio in the builder (and the hub for that matter), i.e. not only that the build was started successfully but that it completed with success?

If a compose id is returned we assume that the compose worked, yes. There is no further evidence about the state of the compose in koji-osbuild, as far as I can tell. The rest would be in composer. We can hopefully somehow plot this side-by-side though, even if we cannot combine the metrics.
In the hub we can only measure if the (valid) requests that come in were correctly added to Koji's database, cause that's really all the hub plugin does. (It validates the json and then creates a task in the db.)

I apologize for the many force pushes. I hope the PR is ok now.

If a compose id is returned we assume that the compose worked, yes. There is no further evidence about the state of the compose in koji-osbuild, as far as I can tell. The rest would be in composer. We can hopefully somehow plot this side-by-side though, even if we cannot combine the metrics.

Well, there is https://github.com/osbuild/koji-osbuild/blob/741be470bb0b265a5b539de1b1a54452ae3e4d20/plugins/builder/osbuild.py#L722, no? That would allow us to track the successful composes (rather than the successful starts). That's already logged though, so not relevant to this PR.

Well, there is
https://github.com/osbuild/koji-osbuild/blob/741be470bb0b265a5b539de1b1a54452ae3e4d20/plugins/builder/osbuild.py#L722
, no? That would allow us to track the successful composes (rather than the successful starts). That's already logged though, so not relevant to this PR.

Very true, that's already appearing in the Splunk logs. The idea of tracking the compose id as service level indicator separately is that we cannot guarantee that the compose will be successful. It seems interesting and worth tracking, but it is (as far as I understand this) not directly related to the plugin's functionality.
What we can track for the performance of the plugin itself is whether the builder plugin submits composes correctly to composer.

Very true, that's already appearing in the Splunk logs.

Perfect :)

The idea of tracking the compose id as service level indicator separately is that we cannot guarantee that the compose will be successful. It seems interesting and worth tracking, but it is (as far as I understand this) not directly related to the plugin's functionality.
What we can track for the performance of the plugin itself is whether the builder plugin submits composes correctly to composer.

I think we should track both. If the "outer" SLI fails it will be down to either the "inner" one or composer so good to have the possibility of digging deeper. But I think the interesting thing to measure is the overall success rate, whether issues are due to the plugin or our dependencies.

We also have a Retry adaptor on the http class, I was wondering if it might make sense to track the number of retries here too.

We also have a Retry adaptor on the http class, I was wondering if it might make sense to track the number of retries here too.

That sounds like a very good idea. I wonder if the retries are already logged in some way or if we have to log them explicitly.

We also have a Retry adaptor on the http class, I was wondering if it might make sense to track the number of retries here too.

That sounds like a very good idea. I wonder if the retries are already logged in some way or if we have to log them explicitly.

@diaasami was tracking retries at some point, not sure if these are the same ones though.

@diaasami was tracking retries at some point.

Yes, these are still being tracked, although the frequency has decreased a lot, we have a week without a single retry every few weeks.

not sure if these are the same ones though.

They are not, the retries in koji-osbuild are retries in the connection to composer, while the ones in the workers (that I added) are retries while authenticating or uploading the image to koji.


Nodegraph inputs are not propagated to all connections

We are experimenting with standard_surface_brick_procedural.mtlx and changing its properties. It seems to me that the inputs in the nodegraph (for example hue_variation) are copied by value to each node that is connected to it, and then is only one of those nodes stored as a path for the input variable. Here is a simple repro to show what I mean:
<?xml version="1.0"?>
<materialx version="1.38" colorspace="lin_rec709">
  <nodegraph name="NG_Split">
    <input name="in_color" type="color3" value="0.5, 0.5, 0.5" />
    <splitlr name="node_split_0" type="color3">
      <input name="valuel" type="color3" interfacename="in_color" />
      <input name="valuer" type="color3" interfacename="in_color" />
    </splitlr>
    <output name="base_color_output" type="color3" nodename="node_split_0" />
  </nodegraph>
  <standard_surface name="N_StandardSurface" type="surfaceshader">
    <input name="base_color" type="color3" nodegraph="NG_Split" output="base_color_output" />
  </standard_surface>
  <surfacematerial name="M_Split" type="material">
    <input name="surfaceshader" type="surfaceshader" nodename="N_StandardSurface" />
  </surfacematerial>
</materialx>

When opening this in MaterialXView and changing in_color in Property Editor, only one of the inputs to the split node is updated:

Version tested: MaterialX main branch as of today (a78d13f6)

Good catch, @rasmusbonnedal, and I believe that's specifically a limitation of the Property Editor in MaterialXView.  It would definitely be worthwhile to fix this.

Thanks for reporting the issue @rasmusbonnedal. I had a look today and it's a limitation to code generation of compound nodegraphs.
MaterialX differentiates between compound nodegraphs and functional nodegraphs. A compound nodegraph is an explicit use of a nodegraph to wrap a set of nodes to organize your network, like in your example. A functional nodegraph is a way to specify an implementation of an atomic node (the implementation for a nodedef).
Compound nodegraphs with a specified input interface, like in your example, is a quite new construct and apparently we need to update codegen to take this input interface into account. We'll keep this issue open to track the development of a fix.
Until a fix is done, a workaround is to use a functional nodegraph instead. In this case you specify your input interface through a nodedef, and then set the nodegraph to be the implementation of this nodedef. Here's an updated doc with your example:
<?xml version="1.0"?>
<materialx version="1.38" colorspace="lin_rec709">
  <!-- Definition and implementation of node <splitter> -->
  <nodedef name="splitter_color3" node="splitter" type="color3">
    <input name="in_color" type="color3" value="0.5, 0.5, 0.5" />
    <output name="out" type="color3" />
  </nodedef>
  <nodegraph name="NG_Split" nodedef="splitter_color3">
    <splitlr name="node_split_0" type="color3">
      <input name="valuel" type="color3" interfacename="in_color" />
      <input name="valuer" type="color3" interfacename="in_color" />
    </splitlr>
    <output name="out" type="color3" nodename="node_split_0" />
  </nodegraph>
  <!-- Using an instance of node <splitter> -->
  <splitter name="splitter1" type="color3">
    <input name="in_color" type="color3" value="0.5, 0.5, 0.5" />
  </splitter>
  <standard_surface name="N_StandardSurface" type="surfaceshader">
    <input name="base_color" type="color3" nodename="splitter1" />
  </standard_surface>
  <surfacematerial name="M_Split" type="material">
    <input name="surfaceshader" type="surfaceshader" nodename="N_StandardSurface" />
  </surfacematerial>
</materialx>

This will force codegen to generate a separate function from the nodegraph, thus hiding the internal inputs node_split_0_valuel and node_split_0_valuer, and only publish the single input in_color.

Great explanation @niklasharrysson, thanks!
We are seeing an issue that might be somewhat related. Is it supposed to be possible to have two compound nodegraphs providing outputs to a shader? We are seeing an issue when there is a node with the same name in both nodegraphs. This shader generates incorrect code for both osl and glsl. Version tag v1.38.3.
<?xml version="1.0"?>
<materialx version="1.38" colorspace="lin_rec709">
  <nodegraph name="NG_1">
    <output name="out_color" type="color3" nodename="c1" />
    <constant name="c1" type="color3">
      <input name="value" type="color3" value="0, 0, 1" />
    </constant>
  </nodegraph>

  <nodegraph name="NG_2">
    <output name="out_float" type="float" nodename="c1" />
    <constant name="c1" type="float">
      <input name="value" type="float" nodename="0.5" />
    </constant>
  </nodegraph>

  <standard_surface name="SR_input" type="surfaceshader">
    <input name="base_color" type="color3" nodegraph="NG_1" output="out_color" />
    <input name="metalness" type="float" nodegraph="NG_2" output="out_float" />
  </standard_surface>

  <surfacematerial name="InputMaterial" type="material">
    <input name="surfaceshader" type="surfaceshader" nodename="SR_input" />
  </surfacematerial>
</materialx>


Useful utility function -> obtain all CSS variables on the website easily

Is there an existing issue outlining your problem?

[X] I have searched the existing issues and they do not solve my problem.

Describe your issue.
Here's a cool utility function that will yield every single CSS variable on any site
[...document.styleSheets]
  .filter((styleSheet) => {
    if (!styleSheet.href) {
      return true;
    }

    return styleSheet.href.indexOf(window.location.origin) === 0;
  })
  .reduce(
    (finalArr, sheet) =>
      finalArr.concat(
        [...sheet.cssRules]
          .filter((rule) => rule.type === 1)
          .reduce((propValArr, rule) => {
            const props = [...rule.style]
              .map((propName) => [
                propName.trim(),
                rule.style.getPropertyValue(propName).trim(),
              ])
              .filter(([propName]) => propName.indexOf("--") === 0);

            return [...propValArr, ...props];
          }, []),
      ),
    [],
  );

On github we get:

Use case:
Makes it easier to style websites that use CSS variables for their theme
Source: https://css-tricks.com/how-to-get-all-custom-properties-on-a-page-in-javascript/

noice

Most the code seems done, feel free to PR this as part of the "tips and tricks" section of our docs. If your not confident with doing so we can do it for you.

this is... I love you

What's the benefit of this over simply viewing the variables, which are almost always on the <html>/:root element? Knowing all of the variables doesn't really help since you need to know where they are and what they theme anyway.

Update
See https://github.com/catppuccin/userstyles/pull/1250

What's the benefit of this over simply viewing the variables which are almost always on the <html>/:root element in the normal style panel? Knowing all of the variables doesn't really help since you need to know where they are and what they theme anyway.

Some websites don't put all their variables on the root and can be tricky to find all the variables, but I think the best outcome from this is that we can now manipulate every single CSS variable with code (see linked PR)

I think this results in lower quality userstyles. I too used to use color matching tools to get the right colors for variables to match the website, but that isn't what this is about, not every color makes sense to match in Catppuccin; some should be accent, some should follow existing standards/rules in Catppuccin (base-mantle-crust usage in backgrounds, subtext0/1/text usage), etc. I should also mention that the CIE 2000 algorithm for finding similar colors you mentioned can have a lot of false positives / inaccuracies.

I think this results in lower quality userstyles. I too used to use color matching tools to get the right colors for variables to match the website, but that isn't what this is about, not every color makes sense to match in Catppuccin; some should be accent, some should follow existing standards/rules in Catppuccin (base-mantle-crust usage in backgrounds, subtext0/1/text usage), etc. I should also mention that the CIE 2000 algorithm for finding similar colors you mentioned can have a lot of false positives / inaccuracies.

Ok, I'll make sure to include that
what do you think if I add wording around how this should only be used as a rough start ? just to kickstart etc.


feature: Change Observation variable generation

Feature Request
Describe the Feature Request

Changer Observation resource while adding a new variable. The GUI currently generates “value:Observation.valueQuantity.value”, but it should be “value:exists” instead .
**

**
Is your feature request related to a problem? Please describe

Describe Preferred Solution

Additional Context

Done


Logout

The user should optionally be able to configure logout.path and logout.redirect_to_uri. If they choose to configure either, then they must configure both.
GIVEN The user has configured the logout.path and logout.redirect_to_uri
WHEN The user makes a GET and/or POST to the logout URI, with and/or without cookies,
THEN all of the authservice cookies should be removed (if any)
AND the user's browser should be redirected to GET the configured logout.redirect_to_uri

Submit an issue to envoyproxy to address not being able to add multiple Set-Cookie.

As is, this feature works despite the envoyproxy bug.
When the envoy proxy bug is present, the caveat is that only the ID token cookie is deleted upon logout, thus the other authtoken and state-nonce cookies are left behind. The presence of the authtoken cookie or state-nonce cookie are ignored when determining if the user is logged in. The authservice only relies on the presence of the id token cookie.
When the envoyproxy bug fix finds its way into the Istio sidecar proxy, all authservice and state-nonce cookies will be deleted upon logout.


The web application [ROOT] appears to have started a thread named [lettuce-eventExecutorLoop-1-1] but has failed to stop it.

Bug Report

Current Behavior
I made the batch application by using CommandLineRunner.
This batch application is triggered by Jenkins Cron Scheduler.
When the batch application is triggered, read and write a data in redis repository.
The problem is occurred on the step of stopping the application.
I am curious about the reason of occuring WARN Message. - "The web application [ROOT] appears to have started a thread named [lettuce-eventExecutorLoop-1-1] but has failed to stop it. This is very likely to create a memory leak."
Please see below stack trace for more details.

Stack trace
2021-04-27 16:43:48.514  WARN [facebook-batch,,,] [<IP_ADDRESS>] [localhost] 47132 --- [           main] o.a.c.loader.WebappClassLoaderBase       [o.a.j.l.DirectJDKLog > log:173] : The web application [ROOT] appears to have started a thread named [lettuce-eventExecutorLoop-1-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
 java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
 io.netty.util.concurrent.SingleThreadEventExecutor.takeTask(SingleThreadEventExecutor.java:256)
 io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:64)
 io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
 io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
 io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 java.lang.Thread.run(Thread.java:748)

Input Code

Input Code
application.yml
redis.cluster.pool.minIdle: 2
redis.cluster.pool.maxIdle: 4
redis.cluster.pool.maxTotal: 6
redis.cluster.pool.jmxEnable: false
redis.cluster.pool.maxWaitMillis: -1
redis.cluster.pool.testOnBorrow: false
redis.cluster.pool.testOnReturn: false
redis.cluster.pool.testWhileIdle: true
redis.cluster.commands.timeoutMilliSeconds: 1500
redis.cluster.commands.asyncTimeoutMilliSeconds: 3000
redis.cluster.commands.setBaseExpireSeconds: 86400
RedisClusterPoolConfig.java
public class RedisClusterPoolConfig {
private final RedisClusterProperties redisClusterProperties;

@Bean
public ClusterTopologyRefreshOptions clusterTopologyRefreshOptions() {
    ClusterTopologyRefreshOptions topologyRefreshOptions = ClusterTopologyRefreshOptions.builder()
            .enablePeriodicRefresh(Duration.ofSeconds(30))
            .enableAllAdaptiveRefreshTriggers()
            .build();
    return topologyRefreshOptions;
}

@Bean
public ClusterClientOptions clusterClientOptions() {
    return ClusterClientOptions.builder()
            .topologyRefreshOptions(clusterTopologyRefreshOptions())
            .build();
}

@Bean
public LettuceConnectionFactory redisConnectionFactory() {
    RedisClusterConfiguration redisClusterConfiguration = new RedisClusterConfiguration();
    redisClusterConfiguration.setClusterNodes(redisClusterProperties.getRedisNodes());
    redisClusterConfiguration.setPassword(redisClusterProperties.getPassword());

    LettuceClientConfiguration lettuceClientConfiguration = LettuceClientConfiguration
            .builder()
            .readFrom(ReadFrom.REPLICA_PREFERRED)
            .clientOptions(clusterClientOptions())
            .commandTimeout(Duration.ofMillis(redisClusterProperties.getCommands().getTimeoutMilliSeconds()))
            .build();

    return new LettuceConnectionFactory(redisClusterConfiguration, lettuceClientConfiguration);
}

}

Expected behavior/code
I saw the usage of cpu and memory on VisualVM.
But I could not find any problems.
The status of the thread [lettuce-eventExecutorLoop-1-1] was PARK.
There were another threads [lettuce-eventExecutorLoop-1-2, lettuce-eventExecutorLoop-1-3] that the status is PARK.
But only the thread [lettuce-eventExecutorLoop-1-1] was mentioned in the log file.
Environment

Lettuce version(s): 5.3.3.RELEASE
Redis version: 5.0.8

Possible Solution

Additional context

Lettuce starts I/O threads to do its work. Make sure to properly shut down LettuceConnectionFactory so that Lettuce worker threads get stopped upon application shutdown.

I appreciate your quick reply, would you let me know more details about the solution?

Make sure that LettuceConnectionFactory.destroy() gets called, specifically RedisClient.shutdown() and ClientResources.shutdown(). That all should be handled by LettuceConnectionFactory.

As your advice I called LettuceConnectionFactory.destroy() at the end of the batch job and therefore the problem was fixed.
Thank you for your guidance.

Where did you exactly called destroy method in your code


Perform Youtube search if Spotify can't find anything

Closes #101 #105, #92

Performs Youtube Search if Spotify gives not result using the old search function. Tested with Wasted Penguinz - Forever Today which is not available on Spotify.
If a user rejects a track and it is playing in the bot, it plays the next song
If a user rejects a track, it will remove this and other occurences with the same videoId from the queue.
If a user reject a track and it is playing, it will be removed from the play history table by that userId, trackId and the current date. Songs that are in the PlayHistory table are not being removed. Songs in the queue are automatically not added to this table since it only inserts data when the song gets played.
Use the Track model to get Tracksources to filter on rejected Youtube VideoID's of query-ing the TrackSource table on that videoId. This prevents that songs gets filtered out if they are rejected by another search action. Before this, once rejected, this video would never show up anymore.
Build extra validation that checks if the trackName is in the Youtube video to prevent faulty insertions into the PlayHistory table.
Removed Youtube Channel checking because this was breaking the search functionality massively. I came to the conclusion that some tracks are published by the label, which resulted in that tracks were of the artist itself got prioritu. This meant that tracks got played from the artist that were not even right given the search string. It only checks for durations now of the Spotify Track plus and minus 15 seconds. This will hopefully get better results faster instead of 6 search attempts we are seeing now.
Some refactoring and making a lot of method parameters final

@PiekJ I tested this fixes myself. But let's pair to test this even better before merging and releasing


Specify output syntax (RDF/XML, N-Triples, Turtle, …)

Add a command-line option for changing the output format. Perhaps -f and --format, with possible values such as nt, ttl, rdf, xml (alias of rdf). Or to remain extensible, just defer to Jena's RDFWriterRegistry?

My impression is that Turtle and N-Triples are by far the most important formats, and external tools can be used to convert into other formats such as RDF/XML (which is slowly fading anyway) and JSON/LD (which is not really suitable for large payloads). In the absence of streaming writers for other formats, and in the absence of user demand, this can be closed.


Saucy not working in house fortemps

Hi, I tried to use saucy in the house fortemps and it would do everything like starting new rounds except actually play cards. Tried restarting plugin aswell as client and nothing worked.
I then went to Ul'Dah to challenge one of the NPCs there and it worked normally. Maybe the plugin has issues with instanced areas?

This is also happening to me. Saucy is fine everywhere else but in house fortemps it refuses to actually play any cards. Itll start matches and select a deck just fine but the match starts and it just.... doesnt do anything.

Please ensure your ingame window scaling for the Triple Triad game is set to 100%. Right click the heading.

And select 100%.


chore(main): release 0.0.2

:robot: I have created a release beep boop
0.0.2 (2024-04-12)
Bug Fixes

moves err nil check before statusCode check (solves #11) (#12) (bacdb7a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/schaermu/changedetection.io-exporter/releases/tag/v0.0.2 :sunflower:


[suggestion] image opacity

Not sure if this is possible, but a settings option for image opacity would be really cool!

I added the option to change the opacity, now we need to wait for it to be merged.


ARROW-5453: [C++] Update to cmake-format=0.5.2 and pin again

I think we need to put cmake-format back into the doghouse until we observe a period of stability in the formatting algorithm

+1. Other build failures are unrelated


Only showing Advertising and Discovering but doing nothing

Can we please have a fix for this? Because APIs have been changed on platforms.

Are you using andriod 12? The example app was working fine but stopped working after updating to androd 12


yum: generate build_id in -debuginfo

build_id links may be useful for debug but there is a case that
build_id conflicts with other packages. (e.g. gitlab-ce)
Thus "_build_id_links compat" may not be suitable, so change it to
traditional alldebug.
Before:
td-agent contains /usr/lib/debug/.build-id/xx/yy
After:
td-agent-debuginfo contains /usr/lib/debug/.build-id/xx/yy
NOTE: rpm --excludepath may be a workaround to install, but it is not
so good.
Closes: #370

Thanks for resolving this!


Fixed bug in Incident ID creation

Fixed bug in Incident ID creation.


Enabeling mon_host_v1 on already deployed cluster

Bug Report
What happened:
Deployed a single node cluster with the v1 endpoint disabled on group_vars/all.yml
mon_host_v1:
  enabled: False
  suffix: ':6789'
mon_host_v2:
  suffix: ':3300'

The cluster deployed successfully with only port 3300 on the mon as expected.
Then I realised I needed the v1 endpoint as well. So updated group_vars/all.yml to have
mon_host_v1:
  enabled: True
  suffix: ':6789'
mon_host_v2:
  suffix: ':3300'

The ansible run terminated successfully, and the ceph.conf config was updated.
However mon did not bind on port 6789 as well.
What you expected to happen:
How to reproduce it (minimal and precise):
Deploy a fresh cluster with minimal group_vars containing
mon_host_v1:
  enabled: False
  suffix: ':6789'
mon_host_v2:
  suffix: ':3300'

Update group_vars to set
mon_host_v1:
  enabled: True

Verify that the ceph.conf is updated but mon does not bind to the v1 port.
Sha your group_vars files, inventory and full ceph-ansibe log
Update:
Deploying a fresh cluster with
mon_host_v1:
  enabled: True

from the start, works just fine with both endpoints available.
Environment:

OS (e.g. from /etc/os-release): 18.04.4 LTS (Bionic Beaver)
Kernel (e.g. uname -a): Linux ceph 4.15.0-101-generic #102-Ubuntu SMP
Docker version if applicable (e.g. docker version): n/a
Ansible version (e.g. ansible-playbook --version): ansible-playbook 2.9.9
ceph-ansible version (e.g. git head or tag or stable branch): stable-5.0
Ceph version (e.g. ceph -v): ceph version 15.2.3 (d289bbdec69ed7c1f516e0a093594580a76b78d0) octopus (stable)

Update: It seems that mon does just not pick the new configuration change after bootstrapped, because it can still bind to the port using  ceph mon set-addrs
I understand that the issue is more related to ceph itself rather than ceph-ansible.


Add Memorial University of Newfoundland

@ttricco I am sorry, the domain mun.ca is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Transfer this repository under the IPython org?

cc. @jasongrout @sylvaincorlay @maartenbreddels
There is some ongoing effort to remove the ipykernel dependency from ipywidgets. Extracting the Comm module from ipykernel would help reaching that goal.
This would also help other Python kernels that wants to support ipywidgets without requiring ipykernel (xeus-python, solara, jupyterlite's pyolite etc).
I took the liberty to start the comm module under my name, but transferring it under the IPython org next to ipykernel and IPython would be better.
Those are the PRs using this comm module in multiple places:

ipykernel
ipywidgets
xeus-python
solara

@ivanov @Carreau @blink1073 I'm happy to give full rights to one of you here so you can perform the transfer.

and it is done!

Thank you!


Roncy6

What the program do ?
finds larger of three number number
In what programming language it is written?
python

resolve your conflict


Make SCSS variables optional

When I was using this great plugin a couple of weeks ago I stumbled upon a very small but irritating little 'bug'. I am compiling my own CSS file consisting out of multiple plugins and custom SCSS. When compiling and using the plyr.scss source file it's impossible to overwrite the variables without editing the file itself. I needed to adjust the main blue color to green to match the player with the rest of the site. I'm currently @importing the plyr.scss file and overwriting the color in a separate file that I'm loading after the plyr.scss file.
But of course it would be better to be able to overwrite the variables beforehand. So I added !default to each variable making it overwritable before the @import like so:
$blue: #81C3B3;
@import "plyr";

Additionally we could also make some of the classes and @mixin's optional. So if your project already has a clearfix mixin you don't need it again in the plyr.scss file. Same goes for the 'sr-only` class; if you already have it then you don't really need it again since it gets you duplicate selectors. Also the tab-focus and font-smoothing might be two things you want to handle yourself to match the rest of your page. But that should probably be another issue.

Sounds good to me. I've been meaning to clean up the LESS and SASS/SCSS a bit so I'll take a look at your other suggestions. Cheers :+1:

:+1:  If you need any help with that just let me know!


Fix issue launching app after create

I had trouble invoking the start command after using create-frigg-app. This seemed to resolve it.

Closing as we put the template package into createFriggApp.js and updated there... likely need to modify over time (probably greatly simplify the command)


Key value store firestore - Byte store to use with Parent Document Retriever

Implementing Firestore as a key-value store, (ByteStore)
I used Redis store as example:
https://python.langchain.com/api_reference/_modules/langchain_community/storage/redis.html#RedisStore
Test include:

ByteStore method test
Parent document retriever test

I didn't use the function from document_converter.py and document_loader.py used in Firestorevectorstore because it made the code overcomplicate for this implementation.
Fixes #102  🦕

Thank you @Freezaa9 , we will review shortly.

Hello, any news ?


[BUG] Module not found: Error: Can't resolve 'attr-accept' in '/path'

Describe the bug
I am getting this error when I try to install react-dropzone.
Module not found: Error: Can't resolve 'attr-accept' in '/path'
To Reproduce

try to install react-dropzone.

Expected behavior
This was working prior to the latest version release.
Desktop (please complete the following information):

macOs Sequioa

Additional context
Add any other context about the problem here.

Probably related to https://github.com/react-dropzone/attr-accept/issues/71.


Fix empty 'version' file

This teaches the makefiles to construct the version string again so
it can be emitted to the 'version' file for packaging.
Fixes failing nightly builds.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

OK, tested and confirmed fix.

@bors: r+

:pushpin: Commit 2389529 has been approved by alexcrichton

This needs to be backported to branch rust-1.16.0

@bors: p=1


Proposed issue 528 fix

Proposed fix to #528 (small typo).
Ready for very quick review @whoburg

good call!


New version 2.0.1 breaks

the new version 2.0.0 throws an error when running webpack --watch
(function (exports, require, module, __filename, __dirname) { const { extend, isFunction } = require('lodash')
                                                                    ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/ninaregli/vagrant-local/www/cofi/public_html/wp-content/themes/cofi/node_modules/browser-sync-webpack-plugin/index.js:1:89)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)`

Version 1.1.4 seems to work fine. These are my dependencies in my package.json file:
"devDependencies": {
    "browser-sync": "^2.23.6",
    "browser-sync-webpack-plugin": "^1.1.4",
    "css-loader": "^0.28.9",
    "extract-text-webpack-plugin": "^3.0.2",
    "lodash": "^4.17.5",
    "node-sass": "^4.7.2",
    "postcss-loader": "^2.1.0",
    "sass-loader": "^6.0.6",
    "style-loader": "^0.20.1",
    "uglifyjs-webpack-plugin": "^1.1.8",
    "webpack": "^3.10.0"
  },

@salamalala Hello! Could you provide your node version and webpack config?
I'm quite sure it's your node version is the culprit.
Yes, version 2.0.1 does have breaking changes (it's a major release following semantic versioning), the biggest one being use of ES6 which is only supported in node v4.

@salamalala the fact that error is SyntaxError and it is being thrown for destructuring code ensures me that it's caused by not using Node v4 or higher. please, make sure that you're on up-to-date Node or downgrade the package to v1


Support word output

Is it possible to support docx format?

Is this what you mean? https://tex.stackexchange.com/questions/8836/producing-doc-docx-from-latex


Use templated doc stuff

Use template stuff for common (refactored) options.
The build stuff is getting kinda heavyweight, ping @levitte for thoughts.
(that -i.in doc/man/*.in option looks kinda nice now :)

This depends on #10159 , so only the top commit is worth looking at now.

No longer in WIP, ready for review.  Requires #10159

Did you mean to say "ping" here?

no, this get merged into #10159.  I didn't really intend to do that, call it 'distracted rebasing' but there ya go.  I can give a rationale for that saying "it's not just infrastructure, it also shows it being used" but that's really covering up my good.  So this is closed and #10159 is the one to review.


live scripting console not working

I'm posting this issue here cause is more related with the G-Python extension.
"Enable G-Python scripting" gives me the following error:
https://imgur.com/MIxJIrg
Note that all the the required packages are installed (qtconsole pyqt5 jupyter-console g-python):
https://imgur.com/TGbLRns
Python version is 3.9.1

Are you using macOS?
Please run the following command:
$(which python) --version
It should say 3.9.1. If not, then the issue is that your python in the path variable is not the correct one.

Are you using macOS?
Please run the following command:
$(which python) --version
It should say 3.9.1. If not, then the issue is that your python in the path variable is not the correct one.

I'm using windows 10!

I'm using windows 10!

Your g-python is out of date if you're using g-earth 1.3.1, update it with
pip install g-python --upgrade

Your g-python is out of date if you're using g-earth 1.3.1, update it with
pip install g-python --upgrade


cache issue / header issue in dark mode

When you load the website the first time this is how it looks automatically

but when you turn off and on dark mode it changes to normal and works fine even after reloads

@Sehrishzarin Yeah dude.. are you going to work on this issue.. should i assign it to you ?

I'd love to