Allow for booleans and numbers to be passed via data attributes

What
Ensure that config passed by data attributes is typed sensibly for the way we want to use it.
Why
Attributes passed via data attributes will always be strings, but in some cases we want to be able to treat them as booleans or numbers.
For example:

data-prevent-double-click on buttons which is a boolean
data-maxlength on the character count which is a number

Who needs to work on this
Developers
Who needs to review this
Developers
Done when

[ ] Attributes that we expect to be booleans or numbers are typed as such when used as config in a component
[ ] We have good test coverage of any function(s) required to implement this

I was thinking of a different approach for this where the component would explicitely declare what it needs parsing for some attributes:
// The `as...` functions would likely be in their own modules, maybe alongside the `normaliseData` one
function asInt(stringValue) {
  if (!stringValue) {
    return null;
  }
  return Number(stringValue);
}

function asBoolean(stringValue) {
  if (!stringValue) {
    return null;
  }
    if (stringValue === 'true') {
      return true
  } else if (value === 'false') {
      return false
  } else {
      return Boolean(value)
  }
}

function normaliseData(config, normalizers) {
  for(var key in normalizers) {
  		// We don't want to be adding keys that were not there
  		if (config[key]) {
		    config[key] = normalizers[key](config[key]);
		}
  }
  return config;
}

function MyComponent($module, config) {
  var defaultConfig = {
    points: 100,
    isAwesome: true
  }

  this.config = mergeConfigs(
    defaultConfig,
    config,
    normaliseData($module.dataset, {points: asInt, isAwesome: asBoolean})
  );
}

I think if we opted for that sort of approach it'd be useful to keep the 'config config' (!) in one place, rather than having some of it in class-level variables and some of it passed to normaliseData as options.
Something like:
function MyComponent($module, config) {
  var defaultConfig = {
    points: {
      type: 'number',
      default: 100
    },
    isAwesome: {
      type: 'boolean',
      default: true
    }
  }
}

This would be particularly useful if we do end up moving to components inheriting from a base component that takes care of the config merging for us, as we'll want a single place to determine how the config should work.
This does however feel like it's starting to become quite complicated considering currently parts of it will need to be duplicated across every component that takes config…
Maybe we should optimise for the simplest option to allow us to handle the config in the components we have now, and revisit in 5.0? I guess that'd be option 1? 🦆

Alternatively, we can work around this for now by handling it at the component level, for example in the button component we'd need to do something like:
if (config.preventDoubleClick === 'true' || config.preventDoubleClick === true) {

Which is a little messy but might unblock #2808 and we can revisit later.

I thought of grouping defining the type in the same hash as the default, like you describe. Indeed, it has quite a different impact on what needs to be updated, so left it out (should probably have mentioned it as "a route we should probably not take for now"). I think it'd be a great pattern to have if we move to a base component, though.
The method I was proposing felt like a step that would need to happen before that and we could take now. I can understand the clunkiness of having defaults in one place, parsing in another though.
Regarding that last solution, both the Button and the CharacterCount each have a very specific place where they access the attribute, and only one so it feels like a good idea to get us out for now.
I guess it depends on how far ahead we see the update of components to using a base class vs. having new components come in that'd need some parsing. If we foreses a lot of parsing comin ahead, we'd likely want a specialized method. On that topic, it's worth noting that using defaults to get the types wouldn't work for the CharacterCount as it doesn't have any default maxlength (that I could find, but maybe I missed something). So we may be tied to Bootstrap-like duck-typing for parsing the values. I don't think it's such a bad thing for the moment, though.
A couple of thoughts while I read through:

The button reads the data-prevent-double-click attribute during the execution of the click listener. This means that another piece of JS may toggle that attribute to control whether to prevent double clicks or not at runtime. I'm not sure if anyone does it, nor can't think of a reason why you'd want to sometimes prevent, sometimes not. Moving to normalizing inside the component's init() call would result in changing that, as we'd store the value at that point in time. Maybe that's more a discussion for #2808, though.
The parsing should likely be extended to data-maxwords as well, as it's a number just like data-maxlength

For options/config did the https://github.com/alphagov/govuk-frontend/issues/2736 JSON approach get ruled out?
Input: JSON string from data attribute
<div id="my-component" data-config='{ "points": 100, "default": true }'>
  <!-- Example -->
</div>

Output: JavaScript object with types
const component = document.getElementById('module')
const config = JSON.parse(component.dataset.config)

console.log(config) // { points: 100, default: true }

We touched on it briefly in https://github.com/alphagov/govuk-frontend/issues/2736#issuecomment-1208303510 but I think the biggest downsides were:

It means that you need a way to JSON encode things from the 'view' layer (so that we can convert the Nunjucks options for i18n into the JSON object). We have this in Nunjucks via the dump filter but we weren't confident that port maintainers would have this available in every templating language
It felt messier in terms of dealing with quotes and escaping

As flagged in the linked issue, Bootstrap now support this via data-bs-config but that's in addition to the individual data attributes.


Completion no longer working

Hello! I noticed recently that part of our LSP completion stopped working. I'm trying to figure out what happened, but I'm having some trouble and I would appreciate some guidance.
VS Code version: 1.83.1
vscode-languageclient version: 9.0.1
We provide completion for two things at the moment: require paths (which are like imports in TypeScript, but for Ruby) and constants. For some reason, only the require path completion stopped working.
Here you can see the behaviour working properly in the beginning of the GIF https://github.com/Shopify/vscode-ruby-lsp?tab=readme-ov-file#features.
This is our server capabilities for completion. The path completion happens on the / char (which isn't working anymore). Constant completion happens on any uppercase char and that continues to work fine.
{
  triggerCharacters: ["/", "A", "B", "C", "..."], // forward slash + all uppercase chars
  resolveProvider: false,
  completionItem?: {
    labelDetailsSupport?: true;
  }
}

For the path completion, we return an array that looks like this.
[
  {
    label: "ruby_lsp/listener",
    text_edit: {
      range: { ... },
      new_text: "ruby_lsp/listener",
    },
    kind: 18, // REFERENCE
  }
]

If I turn on verbose tracing for our server, I can see that the completion request is correctly returning an array of items like the one above when I press /, but nothing happens in the editor. It's really odd because constant completion continues to work as expected.
I thought it might be related to the languageDetailsSupport configuration, but so far no luck. I have tried:

Adding a labelDetails attribute to the response
Adding a documentation attribute to the response
Adding a detail attribute to the response
Removing the labelDetailsSupport capability
Downgrading vscode-languageclient

Any ideas on what I am missing? Should we be returning something else for the path completions?

The easiest way to find out what is going on is to debug this. The corresponding code is in completion.js in the client modules lib/common folder. The code in question is on line 94
return client.protocol2CodeConverter.asCompletionResult(result, defaultCommitCharacters, token);

result contains the items return from the server. They are then converted into VS Code items. Would be good to know how many are handed off to VS Code.

Let me know how it goes.

@vinistock actually the results look fine. I suspect that this is more a VS Code bug. Toi confirm this you could do the following:

implement a test extension that returns completion items as a hard coded list
do this using only a VS Code completion item provider.

I can provide you with a skeleton extension if it is of any help

Finally figured out the issue. We switched to using the new Ruby parser recently and I had not realized that it includes the string quotes as part of its node locations. We were returning off by one characters to the editor, which then didn't match the expected contents and VS Code refused to apply them.
It's working now after https://github.com/Shopify/ruby-lsp/pull/1203. Sorry for the confusion and thank you very much for your assistance!


Type error: Unable to solve type Number / int / Times / RealFloat

This program:
actor main(env):
    var foo = 1
    var bar = foo * 0.5

    def finish():
        env.exit(0)

    after foo: finish()

results in this compilation error:
******************** Type error
Cannot solve 'w$7' : 'T$5' (__builtin__.Number), 'w$12' : 'T$5' < 'T$9', 'T$5' < __builtin__.int, 'w$16' : 'T$9' (__builtin__.Times['T$11']), 'w$15' : 'T$13' < 'T$11', 'w$14' : 'T$13' (__builtin__.RealFloat)

It seems the compiler can't solve this where foo needs to be of type Times for the after: statement (I guess) and also being a float when assigning variable bar (since it multiplies by 0.5, which is a float). I can make it work by explicitly casting foo to a float in the assignment of bar:
actor main(env):
    var foo = 1
    var bar = float(foo) * 0.5

    def finish():
        env.exit(0)

    after foo: finish()

However, I think it should be possible to do this, i.e. cast foo to an int explicitly and then rely on the system understanding that an integer can be cast as a float and do that for me implicitly.
actor main(env):
    var foo = 1
    var bar = int(foo) * 0.5

    def finish():
        env.exit(0)

    after foo: finish()

It returns another unsolvable type error though:
******************** Type error
Cannot solve 'T$15' < __builtin__.int, 'w$16' : 'T$15' (__builtin__.RealFloat)

The above example no longer fails after #846 as we changed the after statement to take a float rather than an int. This isn't as much of a bug as it is a design limitation, so I don't really think we need a regression test and so I'll remove it (in #846). Just noting down here what's being done. We can write a new example or test when needed.

I think #1502 better tracks our ideas around integer subtyping. This issue is redundant, closing.


Build error when MUT_AUTH_CAP and ENCAP_CAP are disabled

Encountered the error below when MUT_AUTH_CAP and ENCAP_CAP are disabled.
spdm_requester_lib/libspdm_req_challenge.c:310:18: error: implicit declaration of function ‘libspdm_encapsulated_request’
libspdm_encapsulated_request() is declared in https://github.com/DMTF/libspdm/blob/0c0348623c76daabd81b9e91986e585c116ff2c4/include/internal/libspdm_requester_lib.h#L286
and wrapped by
#if (LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP) || (LIBSPDM_ENABLE_CAPABILITY_ENCAP_CAP)
We might need to also add the following?
#if (LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP)
https://github.com/DMTF/libspdm/blob/9579c296218d9b06147f32010656f6df1d99f904/library/spdm_requester_lib/libspdm_req_challenge.c#L305-L319
#endif

I was just looking into sweeping through all the capability bits with Github Actions, which would hopefully have caught this.


Reimplement ResponseRow

Currently ResponseRow does not add any value besides making things much slower. We have to make this more useful and replace the magic with something more solid.

ruby-druid v0.2.0 in the new ruby-druid/ruby-druid repo does not have a ResponseRow class anymore. Please close this PR.

true story


CONNECTION FAILED Could not connect to the network There was an problem with the network connection.

install the latest version of the browser on Windows 0.18.4 alpha5
The installation was done correctly but when I finished the installation and opened the browser, it showed me the following message.
CONNECTION FAILED
Could not connect to the network
There was an problem with the network connection.

Prerequisites

[ ] Using yarn
[ ] Using an up-to-date master branch
[ ] Link to stacktrace in a Gist (for bugs)

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Node version :
Version or Branch used :
Operating System and version :
Link to your project :

@discapacidad5 There's currently no live running network for the browser to connect to, hence the error you are seeing.
The next iteration of the network is being worked on and we hope to have available in due course. Once it is available, it would initially be with a CLI interface (i.e. https://github.com/maidsafe/sn_api/releases ) but we would then look to update the browser, and other apps, to be compatible.


loosen core dep to tolerate 0.2

@efriis lgtm. will you split this so we can push the ai-endpoints and address trt later?

Just reverting the trt portion. I think that package is still an rc so don't think anyone is using it. If most investments are going to happen in ai-endpoints, it might be worth removing that directory for now (or putting it in a branch)!


Auto-batching documents

Related to this spec: https://github.com/meilisearch/specifications/pull/96
The spec is still a WIP
The goal of this internal feature is to gather the small batches of the user's documents in one batch to decrease the indexation time.

This might impact the @meilisearch/docs-team, depending on the impacts we will notice. This issue will keep you informed about the improvements.

Fixed by #2005 🎉
More information here in this dedicated discussion: https://github.com/meilisearch/meilisearch/discussions/2070

Is there any significant difference between the spec and the dedicated discussion? Can we use both when writing the documentation for this experimental feature?

@curquiza I thought we'd wait a bit before documenting this?

@gmourier knows better than me what we should document regarding this experimental feature.
But yes for me, as far as I understand, no need to document this since it's completely experimental. Only a link to the discussion would be welcome in the documentation :)
@gmourier, can you confirm? Maybe there were some changes regarding this.

Hi 👋
This is an ongoing discussion! I think we should keep it very simple by using the Github discussion links since it's experimental but the chosen format belongs to the documentation team.
@guimachiavelli, the two are almost identical in my opinion. The discussion may be easier to read.

The @meilisearch/docs-team is still discussing whether/how/when to include this into the docs, so my question for the moment was mostly so I could establish up-to-date sources.
After discussing a bit with the team, I realised I wasn't sure about the schedule for this feature. Do we call it experimental because it's on the pre-release but might not be on the official release? Or is it possible we include it on v0.26 and keep its experimental status?

It will be in v0.26.0 release with the experimental flag. Experimental is mostly to say that it could evolve strongly to a non-experimental implementation or even be removed in a future version.

We have decided we want to provide some documentation on the docs site. Our goal is to acknowledge the existence of this experimental feature, and give users of the docs a quick intro and instructions on how to activate it.
This mini-guide will also include a very explicit link inviting users to check #2070 so they know where to go next in case they experience issues, want more in-depth info, or want to give us feedback.


vclient018 error

how can i fix i dont wanna lose my version

Maybe you're still using the old client_panorama.dll?
https://github.com/danielkrupinski/Osiris/commit/efe8d16d0ea5d6e5cd45208a7f3d6ef2ff5526e6

or trying inject using crashhandler method

İt doesnt work now game crashing

Maybe you're still using the old client_panorama.dll?
efe8d16

or trying inject using crashhandler method

What is this

What is this
Renaming Osiris.dll to crashhandler.dll and replacing it in Steam folder

İt doesnt work now game crashing

Maybe you're still using the old client_panorama.dll?
efe8d16

Debug it, then.


add Changelog item for TLS1.3 FFDHE work

Raja added support for FFDHE in TLS 1.3 in commits 9aaecbfc98eb89,
8e63900a71df38ff, dfa1f5476e86f3 in 2019, reflect this in the changelog.
This is follow up from https://github.com/openssl/openssl/pull/8178

Checklist

[x] documentation is added or updated
[x] tests are added or updated

"GitHub CI / external-tests (pull_request)" failure is related to GOST, so I don't think it's relevant to this PR

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged. Thanks!


fix: error when inlay hints attempt to disable on close

Appeared after https://github.com/neovim/neovim/pull/24411
When a preview window is closed neovim prints this error:
Error executing lua callback: ...im-linux64/share/nvim/runtime/lua/vim/lsp/inlay_hint.lua:126: Failed to delete autocmd
stack traceback:
	[C]: in function 'nvim_del_autocmd'
	...im-linux64/share/nvim/runtime/lua/vim/lsp/inlay_hint.lua:126: in function 'disable'
	...im-linux64/share/nvim/runtime/lua/vim/lsp/inlay_hint.lua:162: in function <...im-linux64/share/nvim/runtime/lua/vim/lsp/inlay_hint.lua:161>
	[C]: in function 'nvim_buf_delete'
	...local/share/nvim/lazy/glance.nvim/lua/glance/preview.lua:178: in function 'close'
	...e/.local/share/nvim/lazy/glance.nvim/lua/glance/init.lua:502: in function 'close'
	...e/.local/share/nvim/lazy/glance.nvim/lua/glance/init.lua:244: in function <...e/.local/share/nvim/lazy/glance.nvim/lua/glance/init.lua:243>

We can fix this error by manually disabling inlay hints before deleting a preview buffer.
pcall is used for backwards compatibility: AFAIK stable neovim does not have inlay_hint yet.

Thank you!


Preassembled devices

Do you sell preassembled devices?  It's great that you've open-sourced the project, but I'd rather buy than DIY.
In any case, thanks for your project!  I've wanted to sort out this issue on my speakers for a while now.
My email address is<EMAIL_ADDRESS>

Hi Jay.
I'm also interested in a preassembled device. Can we connect to see if I can get one? Thanks! My email is<EMAIL_ADDRESS>

+1. @jaytavares DIY with soldering tools might not be a choice for lots of regular Bose consumers. It's be really helpful if you could sell it. I'm not sure about the market size but if you are interested in finding a manufacturer to bulk produce I could help with connecting you with some Chinese manufacturer.

Hey there. I've made some for people who are in your same position. I don't think there's enough demand to justify large scale manufacture. So, I've just been assembling small runs myself.

@jaytavares, it might be useful to add contact information to the readme for people who’d like a preassembled device. Also, some people who self assemble may be interested in donating through GitHub sponsors.
My main motivation was to support the author of the project, though I’d also rather not have a soldering project. It’s great to see open source projects like this one. Thanks, Jay.

@jaytavares, it might be useful to add contact information to the readme for people who’d like a preassembled device. Also, some people who self assemble may be interested in donating through GitHub sponsors.
My main motivation was to support the author of the project, though I’d also rather not have a soldering project. It’s great to see open source projects like this one. Thanks, Jay.

Good idea @maxkfranz, I’ll add a note with some contact information to the readme.

@maxkfranz Oh and I also really appreciate your support!

Hello @jaytavares!
Would love to know if you are willing to build and sell one more?
if so, how can I reach you for the details? You can also email me at<EMAIL_ADDRESS>Thanks!

Hello @jaytavares!
Would love to know if you are willing to build and sell one more?
if so, how can I reach you for the details? You can also email me at<EMAIL_ADDRESS>Thanks!

I just added a direct purchase link to the readme. Hopefully this helps!

Hello @jaytavares!
Would love to know if you are willing to build and sell one more?
if so, how can I reach you for the details? You can also email me at<EMAIL_ADDRESS>Thanks!

I just added a direct purchase link to the readme. Hopefully this helps!


[💡 FEATURE REQUEST]: kafka plugin sasal auth

Plugin
JOBS
I have an idea!
Implement sasl authorization for kafka plugin

Hey @VadymBerezdetskyi 👋🏻
Thanks for the contribution, planned for the 2023.01 release.

Hey @VadymBerezdetskyi 👋🏻
What type of SASL auth do you use? I mean, just plain username and pass?

Hi!
it's sasl_plaintext, scram-sha-512 with username and password.
вт, 17 янв. 2023 г. в 16:56, Valery Piashchynski @.***>:

Hey @VadymBerezdetskyi https://github.com/VadymBerezdetskyi 👋🏻
What type of SASL auth do you use? I mean, just plain username and pass?
—
Reply to this email directly, view it on GitHub
https://github.com/roadrunner-server/roadrunner/issues/1392#issuecomment-1385553714,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIWUUA2M42TC7YGMQE3MCBDWS2XJZANCNFSM6AAAAAATIM4SBE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Done: https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml#L1547 (will be available to test in the next beta).


feat: new qi2labDataStore class to interact with data

Adding a new class to interact with our datastore structure. This also swaps out dask.array + zarr for tensorstore to interact with the data. Once this is complete, will need to refactor the other classes for new access patterns.

There are a few items left to clean up, including possibly removing the cellpose steps. But - this works all the way through Baysor for multiple datasets now, so it is pretty much ready to merge.


Fixed the NullReferenceException on the StopLogging() call, #1.

Sorry for the whitespace changes.

Sorry, I'm not fully familiar with GitHub UI (both companies I worked at use perforce-based systems) and I don't have any time to dedicate to this project.
Since if you have the desire to continue developing this project, I find you fully worthy to take entirely over the future fate of this project.
Would it be possible to grant you full permissions to push any changes to this project at any time without any reviews? And if yes, how do I do it via the GitHub interface?

Hello Dmitry,
thanks for your trust.
I guess it's done using repository settings -> Collaborators tab:

Excellent. I've enlisted you into the collaborators. I believe it's gated by you accepting the invite.
However by the looks of it, it only grants you the push access to the repository. Where do I grant you permissions to add more collaborators as you see fit?

Excellent. I've enlisted you into the collaborators. I believe it's gated by you accepting the invite.

Thank you! It worked, I was able to merge this PR.

Where do I grant you permissions to add more collaborators as you see fit?

According to the Github docs it seems to be only possible for the organizations.
User repositories have only two access levels: repository owner and collaborators.
https://help.github.com/articles/permission-levels-for-a-user-account-repository/
Can you create an organization GenuineChannels and transfer the repository ownership?
As an owner you'll be able to add more organization members with admin rights.

As you transfer the ownership to the organization, your old repository URL
will be redirected to the new location automatically. Transfer button is located
on your repository Settings tab, at the bottom of the page:

Thanks!


Default 'black'

Code is formatted with black https://github.com/hansmach1ne/LFImap/commit/98d3d974f062a11a715f7c7556ed84533e6600a7


Possibility to handle images as input (gpt-4-vision-preview)

For the new gpt-4-vision-preview, they handle images uniquely as either a URL or a base64 decoded string. See here https://platform.openai.com/docs/guides/vision. I suppose this could be added to a new .image command?

this is an imgination of the API:
> .image www.google.com/bbb.jpg # image can be a url
> .image /home/picture/aaa.jpg # image can be a url # image can be a local file
> what does the two images mean? # sending a text prompt will combine previous two images together into the final request

> .image www.google.com/bbb.jpg # image can be a url
> .image /home/picture/aaa.jpg # image can be a url # image can be a local file
> .image clear # the above two images will be cleared
> what does the two images mean? # sending a text prompt will combine previous two images together into the final request
(from openai): Sorry you didn't send me any images

> .image www.google.com/bbb.jpg # image can be a url
> .image /home/picture/aaa.jpg # image can be a url # image can be a local file
> .image clear /home/picture/aaa.jpg  # only clear one image
> what does the two images mean? # sending a text prompt will combine previous two images together into the final request
(from openai): Sorry I only received one images, which means it is something.

Rather than adding a new .image command, I would prefer to enhance the .read command's functionality.
.read <file>... [-- text...]

.read message.txt
.read config.yaml -- convert to toml
.read a.jpg b.jpg -- What’s in these images?

Can .read be combined with a prompt? Would this enable images to be loaded and then referenced in a dialogue before being sent?

.read means to embed the file into the message and send it.
The current .read command only supports reading a single text file and sending it directly.

Ah okay this sounds great!

PR #249 will support this feature.
If you have any suggestions for the design of vision in AI chat, feel free to discuss in PR #249.


Enhanced the UI of LITERARY REALMS SECTION

Related Issue
None
Fixes:  #4117
Description
I was assigned to task to enhance the literary realms section and i succesfully completed the task  by making changes like adding hover effect changing the box size making text visible ,etc.
Type of PR

[ ] Bug fix
[ x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
https://github.com/user-attachments/assets/c075d6cc-a473-4746-9eb5-8def714ed0a2
Checklist:

[x ] I have made this change from my own.
[ ] I have taken help from some online resources.
[x ] My code follows the style guidelines of this project.
[ x] I have performed a self-review of my own code.
[ x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x ] My changes generate no new warnings.
[ x] I have tested the changes thoroughly before submitting this pull request.
[ x] I have provided relevant issue numbers and screenshots after making the changes.

@abhi03ruchi  please accept my pull request before the merge conflicts occur
thank you !!

chk deploy preview . there is some bug .
https://github.com/user-attachments/assets/cf1d5b68-0c57-4623-a2df-5e17a17f3b52
fix it.

work on updated branch .

@abhi03ruchi can you please  tell me what actually the bug is !!

@abhi03ruchi can you please tell me what actually the bug is !!

chk ur css code . style.css .
the homepage is like this : --

@abhi03ruchi can you please tell me what actually the bug is !!

chk ur css code .
the homepage is like this : --  but in ur deployment it isnt like that . also chk the genre section .

Okk i will check that


The afreecatv website has just stopped working.

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[x] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2023.01.06 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
korean
Provide a description that is worded well enough to be understood
The afreecatv website has just stopped working. The following prompt appears:
ERROR: [afreecatv] 81669846: Unable to extract station; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 680, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/afreecatv.py", line 232, in _real_extract
    station_id = self._search_regex(
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 1228, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
# /usr/local/bin/yt-dlp --cookies afreecatv.txt https://vod.afreecatv.com/player/81669846 --concat-playlist never --no-check-certificate -vU

[debug] Command-line config: ['--cookies', 'afreecatv.txt', 'https://vod.afreecatv.com/player/81669846', '--concat-playlist', 'never', '--no-check-certificate', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25] (zip)
[debug] Python 3.8.13 (CPython x86_64 64bit) - Linux-3.10.0-1160.66.1.el7.x86_64-x86_64-with-glibc2.17 (OpenSSL 1.1.1q  5 Jul 2022, glibc 2.17)
[debug] exe versions: ffmpeg 5.0 (setts), rtmpdump 2.4
[debug] Optional libraries: sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[afreecatv] Extracting URL: https://vod.afreecatv.com/player/81669846
[afreecatv] 81669846: Downloading webpage
ERROR: [afreecatv] 81669846: Unable to extract station; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 680, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/afreecatv.py", line 232, in _real_extract
    station_id = self._search_regex(
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 1228, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)

You could try adding --force-generic to your command as a workaround for now, but it would most likely result in the "restricted" version of the video being downloaded.

https://vod.afreecatv.com/player/81669846

Thank you for your reply. I tried it and it --force-generic can be downloaded. However, no restricted content can be downloaded. I am waiting for repair. Thank you for your work.

@bashonly Thank you for your reply. I tried it and it --force-generic can be downloaded. However, no restricted content can be downloaded. I am waiting for repair. Thank you for your work.

Hi I also tried the workaround provided, it is working somewhat but the download speed is VERY slow

Hi I also tried the workaround provided, it is working somewhat but the download speed is VERY slow

Until this gets fixed, I found a method that works with good download speed. Download the latest version of ffmpeg, then use the command:
ffmpeg -headers "Referer: https://vod.afreecatv.com/player/XXXXXXXX" -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" -i example.m3u8 -c copy output.mp4
Copy and paste your own User-agent into the above example.  Also, many Afreecatv VODs are split up into multiple .m3u8 files. So make sure you are getting each one, then stitch them all together with a program like LosslessCut.

Hi I also tried the workaround provided, it is working somewhat but the download speed is VERY slow

Until this gets fixed, I found a method that works with good download speed. Download the latest version of ffmpeg, then use the command:
ffmpeg -headers "Referer: https://vod.afreecatv.com/player/XXXXXXXX" -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36" -i example.m3u8 -c copy output.mp4
Copy and paste your own User-agent into the above example.  Also, many Afreecatv VODs are split up into multiple .m3u8 files. So make sure you are getting each one, then stitch them all together with a program like LosslessCut.

It's possible to use yt-dlp with the m3u8 urls, no need to use --force-generic even, and it works like before, the speed is better, alas there is some missing funcionality like proper video filename. While we wait for a fix this works fine, it's just the extra step-issue of getting the m3u8 urls.

It seems AfreecaTV modified the http://afbbs.afreecatv.com:8080/api/video/get_video_info.php API which the extractor relies on to no longer include the m3u8 url.

http://afbbs.afreecatv.com:8080/api/video/get_video_info.php still works if you crawl bbs and station ID from other points like vod overview.
This proves only as a manual workaround though, but at least allows login/restricted content options.

http://afbbs.afreecatv.com:8080/api/video/get_video_info.php still works if you crawl bbs and station ID from other points like vod overview.
This proves only as a manual workaround though, but at least allows login/restricted content options.

The API still works, even if you supply dummy values for station/bbs IDs. But it no longer contains video segments/playlist url as it used to - are you seeing different some how?

Hmm is it broken maybe or someone help me what I do wrong? It is restricted content because the stream was flagged 19+ for some segments.
yt-dlp --cookies cookies2.txt https://vod.afreecatv.com/player/98054524 --concat-playlist never --no-check-certificate -vU --force-generic                                                                                 1 ✘  8s   [debug] Command-line config: ['--cookies', 'cookies2.txt', 'https://vod.afreecatv.com/player/98054524', '--concat-playlist', 'never', '--no-check-certificate', '-vU', '--force-generic'] [debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8 [debug] yt-dlp version 2023.01.06 [6becd25] [debug] Python 3.10.9 (CPython x86_64 64bit) - Linux-6.1.9-1-MANJARO-x86_64-with-glibc2.36 (OpenSSL 3.0.7 1 Nov 2022, glibc 2.36) [debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2, rtmpdump 2.4 [debug] Optional libraries: Crypto-3.17, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0 [debug] Proxy map: {} [debug] Loaded 1760 extractors [debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest Latest version: 2023.01.06, Current version: 2023.01.06 yt-dlp is up to date (2023.01.06) [generic] Extracting URL: https://vod.afreecatv.com/player/98054524 [generic] 98054524: Downloading webpage WARNING: [generic] Forcing generic information extractor [generic] 98054524: Extracting information [debug] Looking for embeds ERROR: Unsupported URL: https://vod.afreecatv.com/player/98054524 Traceback (most recent call last):   File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1502, in wrapper     return func(self, *args, **kwargs)   File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1578, in __extract_info     ie_result = ie.extract(url)   File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 680, in extract     ie_result = self._real_extract(url)   File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/generic.py", line 2523, in _real_extract     raise UnsupportedError(url) yt_dlp.utils.UnsupportedError: Unsupported URL: https://vod.afreecatv.com/player/98054524

#4514

#4514 is not related to this at all

Right, #4514 is specifically tracking age-restricted videos not extracting properly, and this issue is tracking the extractor being completely broken. Reopened

It doesn't work for me at all now even for videos with no age restricted content.
yt-dlp --cookies cookies2.txt https://vod.afreecatv.com/player/98469676 --concat-playlist never --no-check-certificate -vU --force-generic
[debug] Command-line config: ['--cookies', 'cookies2.txt', 'https://vod.afreecatv.com/player/98469676', '--concat-playlist', 'never', '--no-check-certificate', '-vU', '--force-generic']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.06 [6becd25]
[debug] Python 3.10.9 (CPython x86_64 64bit) - Linux-6.1.11-1-MANJARO-x86_64-with-glibc2.37 (OpenSSL 3.0.8 7 Feb 2023, glibc 2.37)
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2, rtmpdump 2.4
[debug] Optional libraries: Crypto-3.17, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Loaded 1760 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.06, Current version: 2023.01.06
yt-dlp is up to date (2023.01.06)
[generic] Extracting URL: https://vod.afreecatv.com/player/98469676
[generic] 98469676: Downloading webpage
WARNING: [generic] Forcing generic information extractor
[generic] 98469676: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://vod.afreecatv.com/player/98469676
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1502, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1578, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 680, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/generic.py", line 2523, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://vod.afreecatv.com/player/98469676

Same here. Seems something else might have changed, as I was able to download vods with --force-generic until just now.

As of today, it has not been repaired


Image used in grafana-operator container is not fully compatible with dashboards

Not sure if it is an issue or just a trick ; it it can be of any help ... I'll just put it here.
To install the Grafana operator on a Kubernetes cluster, I deploy (among others) the operator.yaml file. This manifest uses the following image for the grafana-operator container :
      containers:
        - name: grafana-operator
          image: quay.io/integreatly/grafana-operator:latest
          args:
            - '--grafana-image=quay.io/openshift/origin-grafana'
            - '--grafana-image-tag=4.2'

From a previous Grafana (helm) install, I created a dashboard using grafana/grafana:6.4.2. I tried to import it in my new Grafana installed via Grafana operator using quay.io/openshift/origin-grafana:4.2, and got the following error message :

using Firefox

Failed create dashboard model
e is undefined

using Chrome

Failed create dashboard model
undefined is not iterable (cannot read property Symbol(Symbol.iterator))

⚠ quay.io/openshift/origin-grafana:4.2 might cause compatibility problems with dashboard created with other Grafana versions available on Github or Helm.
My dashboard is as follows :
{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": "-- Grafana --",
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  },
  "description": "Request-Error-Duration pattern",
  "editable": true,
  "gnetId": null,
  "graphTooltip": 0,
  "id": 2,
  "links": [],
  "panels": [
    {
      "cacheTimeout": null,
      "colorBackground": false,
      "colorValue": true,
      "colors": [
        "#5794F2",
        "rgba(237, 129, 40, 0.89)",
        "#d44a3a"
      ],
      "datasource": "Prometheus",
      "description": "",
      "format": "none",
      "gauge": {
        "maxValue": 100,
        "minValue": 0,
        "show": false,
        "thresholdLabels": false,
        "thresholdMarkers": true
      },
      "gridPos": {
        "h": 3,
        "w": 3,
        "x": 0,
        "y": 0
      },
      "id": 2,
      "interval": null,
      "links": [],
      "mappingType": 1,
      "mappingTypes": [
        {
          "name": "value to text",
          "value": 1
        },
        {
          "name": "range to text",
          "value": 2
        }
      ],
      "maxDataPoints": 100,
      "nullPointMode": "connected",
      "nullText": null,
      "options": {},
      "pluginVersion": "6.4.2",
      "postfix": "",
      "postfixFontSize": "50%",
      "prefix": "",
      "prefixFontSize": "50%",
      "rangeMaps": [
        {
          "from": "null",
          "text": "N/A",
          "to": "null"
        }
      ],
      "sparkline": {
        "fillColor": "rgba(31, 118, 189, 0.18)",
        "full": false,
        "lineColor": "rgb(31, 120, 193)",
        "show": false,
        "ymax": null,
        "ymin": null
      },
      "tableColumn": "",
      "targets": [
        {
          "expr": "sum(http_request_duration_seconds_count{handler=\"index\",method=\"post\"})",
          "format": "time_series",
          "instant": false,
          "legendFormat": "",
          "refId": "A"
        }
      ],
      "thresholds": "",
      "timeFrom": null,
      "timeShift": null,
      "title": "Total number of decisions",
      "type": "singlestat",
      "valueFontSize": "80%",
      "valueMaps": [
        {
          "op": "=",
          "text": "N/A",
          "value": "null"
        }
      ],
      "valueName": "avg"
    },
    {
      "cacheTimeout": null,
      "datasource": "Prometheus",
      "description": "",
      "gridPos": {
        "h": 7,
        "w": 4,
        "x": 3,
        "y": 0
      },
      "id": 7,
      "links": [],
      "options": {
        "fieldOptions": {
          "calcs": [
            "mean"
          ],
          "defaults": {
            "mappings": [],
            "max": 100,
            "min": 0,
            "nullValueMode": "connected",
            "thresholds": [
              {
                "color": "semi-dark-red",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ],
            "unit": "percent"
          },
          "override": {},
          "values": false
        },
        "orientation": "horizontal",
        "showThresholdLabels": false,
        "showThresholdMarkers": true
      },
      "pluginVersion": "6.4.2",
      "targets": [
        {
          "expr": "100*\n(sum(rate(http_request_duration_seconds_count{code=\"400\",handler=\"index\",method=\"post\"}[1h])) by (instance))\n/\n(sum(rate(http_request_duration_seconds_count{handler=\"index\",method=\"post\"}[1h])) by (instance))",
          "refId": "A"
        }
      ],
      "timeFrom": null,
      "timeShift": null,
      "title": "Decisions in error 400 over last hour",
      "type": "gauge"
    }
  ],
  "refresh": "5s",
  "schemaVersion": 20,
  "style": "dark",
  "tags": [],
  "templating": {
    "list": []
  },
  "time": {
    "from": "now-1h",
    "to": "now"
  },
  "timepicker": {
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ]
  },
  "timezone": "",
  "title": "OPA RED",
  "uid": "-t41kUcZz",
  "version": 5
}

💡 Removing the second panel, I can successfully import my dashboard.
💡 Modifying the operator manifest as follows, I can successfully import my dashboard.
      containers:
        - name: grafana-operator
          image: quay.io/integreatly/grafana-operator:v2.0.0
          args:
            - '--grafana-image=grafana/grafana'
            - '--grafana-image-tag=6.4.2'

No problem then, just an info to share. And a suggestion : update the image of grafana-operator, or reference a more widely spread image ;)

The version of Grafana for image quay.io/openshift/origin-grafana:4.2 is Grafana v6.2.4 (91b439e)
It's likely theres some change in the gauge type between 6.2.4 & 6.4.2 that isn't backwards compatible.
As you're specifying "pluginVersion": "6.4.2", in the dashboard json, it could be trying to parse it as the newer version of that panel and failing.
@pb82 We can certainly update to 6.4.2 and pull from docker.io/grafana/grafana:6.4.2.
Staying with the latest stable version makes sense.

Version updated to 6.4.4 in #76

Thank you !

Thank you !

Hi @david-martin , can you please explain the difference between quay.io/openshift/origin-grafana and the official docker.io/grafana/grafana please ?

@yogeek quay.io/openshift/origin-grafana looks like a build tied to a specific OpenShift version (e.g. 4.2), probably built by the OpenShift team.
docker.io/grafana/grafana looks like a more official Grafana image.

@david-martin ok thanks. As I could not find the repository that was used to build this openshift image, I wondered if we could loose some of the grafana operator features if we switch to the official grafana image (maybe incompatibility risks with grafana API version ?)


Hide tray icon

Description of the new feature / enhancement
Option to hide tray icon.
Scenario when this would be used?
When i want to have a clean taskbar!
Supporting information
No response

/dup https://github.com/microsoft/PowerToys/issues/9526


Next 8 & next-typescript

Hi, I've just upgraded my project to Next 8 and wanted to try the new target: 'serverless' option but am failing to set it up with next-typescript.
I've tried to pass it to webpack as described in docs:
const withTypescript = require('@zeit/next-typescript')

module.exports = withTypescript({
  webpack(config, options) {
    config.target = 'serverless'
    return config
  },
})

but get:
WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration[0].target should be one of these:
   "web" | "webworker" | "node" | "async-node" | "node-webkit" | "electron-main" | "electron-renderer" | function
   -> Environment to build for
   Details:
    * configuration[0].target should be one of these:
      "web" | "webworker" | "node" | "async-node" | "node-webkit" | "electron-main" | "electron-renderer"
    * configuration[0].target should be an instance of function
 - configuration[1].target should be one of these:
   "web" | "webworker" | "node" | "async-node" | "node-webkit" | "electron-main" | "electron-renderer" | function
   -> Environment to build for
   Details:
    * configuration[1].target should be one of these:
      "web" | "webworker" | "node" | "async-node" | "node-webkit" | "electron-main" | "electron-renderer"
    * configuration[1].target should be an instance of function
    at Object.webpack [as default] (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/webpack.js:31:9)
    at HotReloader.start (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/next/dist/server/hot-reloader.js:187:48)

My guess is that next-typescript needs to be updated to support Next 8? I asked about it on Spectrum.

I'm not sure why I haven't thought about the simplest solution:
const withTypescript = require('@zeit/next-typescript')

module.exports = withTypescript({
  target: 'serverless',
})

This works fine 👍.

@k0ff33 which version of @zeit/next-typescript are you using?

I'm using v1.1.1.
Seems to work fine, however, throws a webpack warning when using next build:
yarn run v1.13.0
$ next build

✔ Client
  Compiled successfully in 11.16s

> Using external babel configuration
> Location: "/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/.babelrc"

✔ Client
  Compiled successfully in 11.16s

✔ Server
  Compiled successfully in 9.53s

> Emitted warnings from webpack
ModuleDependencyWarning: Critical dependency: the request of a dependency is an expression
    at Compilation.reportDependencyErrorsAndWarnings (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/Compilation.js:1361:23)
    at Compilation.finish (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/Compilation.js:1167:9)
    at hooks.make.callAsync.err (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/Compiler.js:622:17)
    at _err0 (eval at create (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:11:1)
    at Promise.all.then (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/DynamicEntryPlugin.js:74:20)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at CommonJsRequireContextDependency.getWarnings (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/dependencies/ContextDependency.js:40:18)
    at Compilation.reportDependencyErrorsAndWarnings (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/Compilation.js:1356:24)
    at Compilation.finish (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/Compilation.js:1167:9)
    at hooks.make.callAsync.err (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/Compiler.js:622:17)
    at _err0 (eval at create (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:11:1)
    at Promise.all.then (/Users/kamilwojtczyk/Developer/awdis/code/awdis-admin/node_modules/webpack/lib/DynamicEntryPlugin.js:74:20)
    at process._tickCallback (internal/process/next_tick.js:68:7)
 ┌ /
 ├ /_app
 ├ /_document
 └ /_error

(node:8649) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated
✨  Done in 22.58s


Bump GHA stuff

Overview

Checklist

[ ] tests/ added or updated
[ ] CHANGELOG.md's Unreleased section is updated
[ ] Documentation is updated

coverage: 95.514%. remained the same
when pulling 576315a26186cbb8e6e65f079daf09cf4c2f2ad9 on gha-use-majors
into 3abea6812b6f30b218a4183185c280368709caf0 on develop.


uBO HTML filtering conversion issue

uBO-syntax HTML filtering rule:
forbes.com##^script:has-text(scriptTag)
Is converted to:
forbes.com$$script[tag-content="scriptTag"][max-length="262144"]
However, exclusion rule is not converted so nothing is unblocked.
It should be converted to this:
forbes.com#@#^script:has-text(scriptTag)

forbes.com#@#^script:has-text(scriptTag)
should not be conderted to this?
forbes.com$@$script[tag-content="scriptTag"][max-length="262144"]

Also browser extension shows an original rule. The app - only result of convertion.'
Details of the log of extenson for Firefox


Remove cnp-bench from docs

The documentation still mentions cnp-bench, which is obsolete.

Wrong reference in the commit message :(


feat(all-files): Introduce github actions, pre-commit and dependabot

GitHub actions for terraform docs and semantic releaser. Also actions for testing pre-commit

This PR is included in version 1.1.0 :tada:


Fixed incorrect links

For some reason the weak_automata is referenced to be under the turtles directory when it resides in metaphysics.
Perhaps the solution should be to move the weak_automata documentation to be inside of turtles, but I think its fine where it is as long as the links work for those trying to use said documentation.

I would also like to add this bug exists within the mod itself. The recently added book has buttons "API Documentation" that leads to:
https://docs.srendi.de/items/weak_automata/
which also does not exist, this should also be remedied

A bit late, but here is the merge


[feat]: Add ability to provide configmap-name and mountPath inside chaos-engine

What needs to be done

Add the ability to provide multiple configmaps and their mountPath inside chaos-engine

The configmaps details can be pass into experiments.spec.components and then the executor can use those values to create and mount the configmaps.

This is fixed in 1.1 release.


Client Allocation Request for: Momoshop

Client Allocation Questions
Core Information

Name: Momoshop
Website / Social Media: https://www.momoshop.com.tw/
Region: Asia excl. Greater China
DataCap Requested: 10TiB
Addresses to be Notarized: f1ps4xce5y22nnlav2trdvvztlcw5gjpo4qkimrga
Notary Requested: ozhtdong

@Xavieraie Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Thanks for your request , some questions to you:
1.What's your name? What's your position?
2.What's your company's business? Do you have any other social media link?
3.Could you show me your company's business license?
4.How many miners do you want to store your data to? How much data for each miner?
5.Will you record your allocation decision in public? Which platform will you use?
6.What method/tool will you use to inspect miners? Which aspect of miners will you inspect?

Happy to answer your questions.
1.I am ZhiHong Li, a manager in the company.
2. Momoshop is the leader of Taiwan's online retail industry, and its subsidiaries include momo shopping network, skyscraper, TV shopping and catalog shopping. Adhering to the corporate mission of "providing high-quality and affordable products and quality services to improve people's lives" and the four business values of "integrity, cordiality, professionalism and innovation", we provide consumers with diversified shopping services throughout the year.
3.Yes. Later I will show you.
4.We want 2-3 miners. It will be divided to them qually.
5.Yes. We only know github and will use it.
6.No tools. I want to find stable miners.

Business license.
On Sun, Sep 26, 2021 at 1:35 PM ozhtdong @.***> wrote:

Thanks for your request , some questions to you:
1.What's your name? What's your position?
2.What's your company's business? Do you have any other social media link?
3.Could you show me your company's business license?
4.How many miners do you want to store your data to? How much data for
each miner?
5.Will you record your allocation decision in public? Which platform will
you use?
6.What method/tool will you use to inspect miners? Which aspect of miners
will you inspect?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/filecoin-project/filecoin-plus-client-onboarding/issues/913#issuecomment-927235926,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVJ7HFCZFPTHJSJRA6NSMMTUD2WKJANCNFSM5EYJDB7Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzaceavsbyykyllvskuqtt4tx6zjwbv5dul2qqnlirqwkwn7txnpcrl3w

Address

f1ps4xce5y22nnlav2trdvvztlcw5gjpo4qkimrga

Datacap Allocated

10TiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzaceavsbyykyllvskuqtt4tx6zjwbv5dul2qqnlirqwkwn7txnpcrl3w


Fix getReportStartTime

Pull Request Test Coverage Report for Build 920

2 of 2 (100.0%) changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.02%) to 87.406%

Files with Coverage Reduction
New Missed Lines
%

lib/fabrik/DBManager.js
1
98.84%

Totals

Change from base Build 918:
-0.02%

Covered Lines:
6116

Relevant Lines:
6759

💛  - Coveralls


Added colab notebook on repo

Added colab notebook on repo. So it is easy to change in the future.
And some minor fixes.

thanks for this @shhossain !


Support file URL scheme produced by java.io.File et al.

The URLs produced by java.io.File.toURI() (and deprecated .toURL()) and java.lang.Class.getResource(String) contain no additional slashes between file: and the path.  This makes using Swagger20Parser with files from these methods a bit more painful than it needs to be.  This PR addresses this by recognizing strings starting with file: as file URLs and adds tests to cover this case.
I hope you find it useful,
Kevin

Thanks @kevinoid.  Can you verify this fix works as expected on Windows?

@fehguy I don't have a Windows Java development environment immediately available, but I could setup AppVeyor pretty quickly.  Would you like a PR to add an appveyor.yml or would you prefer I run a one-off test?

@fehguy I made a branch with appveyor.yml.  I can send a PR for that if you would like.
Testing this PR revealed a spot which I had overlooked in io.swagger.parser.util.PathUtils which I corrected so it now passes

@kevinoid sure, please send a PR for the appveyor.yml and we'll make that part of the regular testing process.  Thanks!


MAXO:0035118	cardiac catheterization

MAXO:0035118	cardiac catheterization
A procedure in which a catheter (thin hollow tube) is threaded into the heart via a large blood vessel, generally with contrast dye being injected through the catheter to visualize the heart chambers and coronary arteries.

added via template. https://docs.google.com/spreadsheets/d/1ZKk3cFQNYAXsNWbpI-ScaIm3OHx2Jtpco3Y1aNX7gZM/edit#gid=0


⚠ Samsung has degraded performance

In 941154f, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2998 ms

Resolved: Samsung performance has improved in 1ab2a06.


refactor: remove unimplemented components from index

Proposed changes (including videos or screenshots)

Remove unimplemented components from the index file, so they don't appear on the intellisense.

Issue(s)

Further comments
This change is made to avoid confusion during the development using ui-kit, since the components would not work as they aren't implemented yet.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

why not implement the components? since now we moved the fuselage-ui-kit to the main repo, thing are much easier to be done..

I believe it's fine. The exposed API should really reflect what we have at the moment. Future components are better described in spec files.


error

from keras.utils import np_utils
from sklearn.preprocessing import LabelEncoder
X_train = np.array(trainfeatures)
y_train = np.array(trainlabel)
X_test = np.array(testfeatures)
y_test = np.array(testlabel)
lb = LabelEncoder()
y_train = np_utils.to_categorical(lb.fit_transform(y_train))
y_test = np_utils.to_categorical(lb.fit_transform(y_test))

Can you  elaborate please? What is the error, what were you doing and what is the expected output?

lb = LabelEncoder()
y_train = np_utils.to_categorical(lb.fit_transform(y_train))
y_test = np_utils.to_categorical(lb.fit_transform(y_test))
Error:
TypeError: Encoders require their input to be uniformly strings or numbers. Got ['int', 'str']
I was changing to categorical values;
getting this error
Can I get an early response ...in a bit of hurry


Steering: propose the first batch of steering committee members

After posting the announcement about the opening of the steering committee on Slack 1, Spyros showed his interest to join the steering committee. I also proposed Florian and Erik who accepted.
Since the 7 seats are currently empty, I directly added them to the list.
Due dilligence:

Florian Liebhart (Volkswagen) operates cert-manager on large Kubernetes clusters at Volkswagen.
Erik Godding Boye (Zenior AS) works as a long-term consultant for a client who uses cert-manager on large Kubernetes clusters.
Spyros Synodinos (Giantswarm) operates cert-manager on large Kubernetes clusters at Giantswarm.

@FlorianLiebhart @erikgb @ssyno Is the above correct? Are you OK with being added as steering committee members?
Note that we still have four empty seats, people can request to join the steering committee at any time.
When is the first meeting? Since we plan on running the steering committee meetings once per quarter, I think the first meeting should take place early in 2024.
As per the document STEERING.md, I need someone from the maintainers to volunteer to "nominate" the candidates with me:

Candidates for membership will be nominated by current Steering Committee members or by cert-manager maintainers. To be accepted as a candidate, a person must have at least two nominators from this group.

@wallrj Would you like to volunteer to "nominate" Florian, Erik, and Spyros?

hi @maelvls
yes, these facts are correct. Thank you :)

Is the above correct? Are you OK with being added as steering committee members?

@maelvls Yes and yes. Thanks! 😄

@wallrj Would you like to volunteer to "nominate" Florian, Erik, and Spyros?

@maelvls Yes, I nominate @FlorianLiebhart @erikgb @ssyno for the steering committee.

Thank you everyone for joining the steering committee!
Also, thank you @maelvls for organising this.
/approve
/lgtm
/hold @maelvls feel free to unhold once 100% ready

/unhold


'ConsoleWriter cannot be instantiated reflectively' with graal

I'm building CLI application that I would like to compile with graal to a native image. Tinylog seems like a great fit to keep the image small.
But the graal compiler fails on tinylog with:
Fatal error: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Class org.tinylog.writers.ConsoleWriter cannot be instantiated reflectively . It does not have a nullary constructor.
Using tinylog 2.0.0 and graalvm-ce-java11-19.3.0.
It saw that you have implemented a custom service loading logic in org.tinylog.configuration.ServiceLoader. I think the tinylog JAR is not standards compliant, and thus makes graal (and possibly other tools) fail.

@MarkusKramer Could you provide an minimal example project? I haven't used Graal VM before and would like to reproduce the error.

I'll see if can prepare something. But I think the problem is not really related to Graal.
My theory:
The tinylog jar has files in META-INF/services. But these reference classes that are missing a public no argument constructor. Which is a violation of the java service provider spec. See https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.html
A simple solution would be to rename your directory from META-INF/services to just "services".

Beyond this bug, I think a plain java way of configuring tinylog and without any auto-magic configuration would be beneficial. If the code can be completely statically analysed it makes live with tools like Graal or the maven shade plugin (with minify option on) much easier and the resulting artifact as small as possible.

The best way would be to introduce builders with default constructors for creating logging providers, writers, and policies. The disadvantage is that the number of classes will be doubled (on builder for each logging provider, writer, and policy), but then we can get rid of the custom service loader implementation of tinylog. This will also solve the issue with the current ProGuard version, described in issue #126. As that will be an architectural break that I can do in tinylog 3.
For tinylog 2.1, I will try to add a default constructor to every writer and policy, if it will solve the problem with Graal.

@MarkusKramer Could you test, if the attached JARs work with Graal? All services Implementations have default constructors now.
tinylog-2.0-SNAPSHOT.zip

Thanks for the quick patch. I gave it a try and it solved the issue. However, I'm getting a new error now :-)
 Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.tinylog.Supplier. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time.
If I use the "--allow-incomplete-classpath" option it fails at runtime with Exception in thread "main" java.lang.NoClassDefFoundError: org.tinylog.Supplier
Due to issues with other libraries I won't pursue using Graal further - for the moment. Thus, you don't need to fix this for me. But I guess Graal support would be a nice use case for tinylog as using log4j2 would probably be even more difficult.

@MarkusKramer With version 2.1.1, you can finally use tinylog in native images (tested with GraalVM 19.2.0 and Java 8). Fully working example: https://github.com/pmwmedia/tinylog-graal-example


NoFlash Feature

Added NoFlash toggle, should be fairly undetected does not use the m_flFlashMaxAlpha offset.

thanks for the contribution :)


type 'List' is not a subtype of type 'String'

https://stackoverflow.com/questions/60145694/how-to-implement-this-json-file-into-flutter-inorder-to-display-all-the-dishname
can please anyone help. I already wasted so much time on this...Help will be appreciated.

Hi @Ashbuhrz
This platform is not meant for assistance on personal code.
Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you


Update probability.py

hi, maybe I found a error in probability.py.
At Line 1907, "from matplotlib.pyplot import plt" maybe is the right code.

NB https://github.com/nltk/nltk/issues/2317

this still causes the import error
replacing it with
import matplotlib.pyplot as plt
causes a different error
UnboundLocalError: local variable 'v' referenced before assignment

Thanks @zhuyuanxiang - we'll accept a different PR for this


spyder in Prompt window works differently

Before, entering spyder would "bind" Spyder to the Miniforge Prompt (or Anaconda Powershell Prompt), but now the terminal is freed up and I can keep entering commands and spawning more spyders... Is this intended?

Is this intended?

Yes, this is the new behavior due to multiple changes to the Spyder 6 conda package to integrate it better with the host operating system as a proper desktop application.


feat added dark mode

Description
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Added a toggle on the profile page to change theme of the app. Used shared preferences to store locally the current theme mode.
Fixes #3
Mention issue number in the above issue bracket.
Type of change
Please delete options that are not relevant.

[✔ ] New feature (non-breaking change which adds functionality)

Checklist:

[ ✔] My code follows the style guidelines of this project
[ ✔] I have performed a self-review of my own code
[ ✔] I have commented my code, particularly in hard-to-understand areas
[ ✔] I have made corresponding changes to the documentation
[ ✔] My changes generate no new warnings
[ ✔] I have added tests that prove my fix is effective or that my feature works
[ ✔] New and existing unit tests pass locally with my changes
[ ✔] Any dependent changes have been merged and published in downstream modules

Screenshots (if appropriate):

Additional Notes:
Include any additional information that you think is important for the reviewer to know.
As the profile, login and signup screens use an image background so dark mode could not implemented on them and the splash screen cannot have black background as the logo shown is itself black

Please review the changes @Photon3009

good work @YuvrajSingh3110


⚠ ClamAV has degraded performance

In 30f761f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 56 ms

Resolved: ClamAV performance has improved in 52a9040 after 539 days, 18 hours, 5 minutes.


For v10: Stop re-exporting zod

For v10, #864

As expected: the integration now fails and dependencies need to be changed within this PR as well


Shipping payment page is not looking good , allow me to fix it.

I have assigned you the issue, you may start working on it.


chore(master): release 2.2.1

:robot: I have created a release beep boop
2.2.1 (2023-11-02)
Bug Fixes

libfaketime source (99411d4)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/docker-php-dev/releases/tag/v2.2.1 :sunflower:


symbolizer: Handle addresses with many symbols

Symbolization was completely broken if inline functions were present because the code assumed that every program counter maps to exactly one symbol, but that's not true.
We didn't see this often because some applications we ran had no inlined functions, but it was very apparent with Ruby and Fortran code, especially with O2 and O3, as the compiler will start inlining at these levels more.
Test Plan
Tested with basic_f77_stack_O2.
before

after

cc @gmarler who reported this issue!


Do not pass "--locked" to cargo metadata by default

...but provide a "--locked" for generate option to do so.
Code pointers:

For the new command option, see Opts::Generate in main.rs
For the options passed to cargo metadata, see the fn cargo_metadata in lib.rs
To make your live easier and not deal with potential breakages because of this, add the "--locked" flag in ./regenerate_cargo_nix.sh and tools.nix at the appropriate places.

This is a good first issue, I can provide assistance. Please tell me when you start working on this...

I just got bitten by this on a fresh project. I don't mind doing the workaround of first running cargo metadata, but it should be documented somewhere that doesn't require chasing down issues.


Do not set a --channel arg if it's not truthy

If an empty string is passed as as the channel during refreshing (ala 'snap refresh foo --channel="{}"'.format(""), it simply parses out to an empty string.
This makes snap/subprocess bomb, because ["snap", "refresh", "foo", ""] gives a pleasant result, like:
  File "./src/charm.py", line 181, in on_install
    self.snap.ensure(state=snap.SnapState.Latest)
  File "/var/lib/juju/agents/unit-grafana-agent-12/charm/lib/charms/operator_libs_linux/v1/snap.py", line 504, in ensure
    self._refresh(channel, cohort)
  File "/var/lib/juju/agents/unit-grafana-agent-12/charm/lib/charms/operator_libs_linux/v1/snap.py", line 458, in _refresh
    self._snap("refresh", args)
  File "/var/lib/juju/agents/unit-grafana-agent-12/charm/lib/charms/operator_libs_linux/v1/snap.py", line 284, in _snap
    raise SnapError(
subprocess.CalledProcessError: Command '['snap', 'refresh', 'grafana-agent', '']' returned non-zero exit status 1.

Build --channel as part of the arglist like everything else, so empty strings don't sneak through

@sed-i ^^
@zmraul @jnsgruk @benhoyt (since I can't add reviewers or anything anymore, here's the ping).
The "real world" scenario of an admin/operator logging into a charm and installing a snap, such that it's in a bad state (snap is installed, charm which installs the snap isn't present, pukes when it tries to do something) is low, but this can also happen on refresh, or if a subordinate charm is forcefully removed due to an error and doesn't clean up after itself, so the next run finds it there.

if a subordinate charm is forcefully removed due to an error

This is key. When in error state, it's impossible to upgrade or remove a charm. When forcefully removing it, it cannot cleanup after itself.


Change wheel ode friction params

My issue in gz_sim repository was resolved and new ODE friction parameters were proposed. I tested those parameters with leo rover in our simulation and they work very well - rotating in place is as good as in bullet. However bullet is more efficient on all of the marsyard world and simulation runs more smoothly with it - that's why I'm not changing collision detection engines in those worlds in simulation. Despite of that I think it's useful if we provide a potential user with working parameters with ODE in case someone wants to create and use an ODE collision based world.

The fix has already been merged and these parameters work in current gazebo version

@Mergifyio backport rolling iron


[FEATURE] Volume recycle bin for mitigating the unintentional data loss via TTL

Is your feature request related to a problem? Please describe
A volumes might be deleted accidently or unintentionally. The only solution at the moment is to restore from the backup. However, the restore process is time-consuming, or the backups are outdated.
To mitigate the potential data loss, we can add a volume recycle bin feature. If user enables the feature, which can be a global setting, per-storeageclass or per-volume setting, then the volume is not really deleted and is moved to the recycle bin. We can only keep some of the replicas rather than all replicas for saving the disk space. Additionally, the retention period of the recycle bin is configurable. The volume in the recycle bin will be deleted automatically and permantly after the retention period.
Describe the solution you'd like
A clear and concise description of what you want to happen
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Need to highlight and consider the space usage of the recycle bin in replica scheduling. Also, make it visible for users when using this feature.


Allow private ssh key to be entered directly instead of just by file

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Currently, the only way for users to specify their private ssh key is by file path. We want to allow users to specify this in the form of a sensitive variable
New or Affected Resource(s)

Potential Terraform Configuration

# Copy-paste any Terraform configurations for how the requested feature may be used.

References

closed in #378


Cannot find module './dialects/mssql/index.js'

I was previously using mysql with knex and had recently switched to mssql. I installed mssql and then changed my connection settings to mssql, but now I get the below error. Not sure if I missed a simply step or something.
Error: Cannot find module './dialects/mssql/index.js' at Function.Module._resolveFilename (module.js line 455 col 15) at Function.Module._load (module.js line 403 col 25) at Module.require (module.js line 483 col 17) at require (internal/module.js line 20 col 19) at Knex (\index.js line 21 col 26) at Object.<anonymous> (\globalvariables.js line 2 col 27) at Module._compile (module.js line 556 col 32) at Object.Module._extensions..js (module.js line 565 col 10) at Module.load (module.js line 473 col 32) at tryModuleLoad (module.js line 432 col 12) at Function.Module._load (module.js line 424 col 3) at Module.require (module.js line 483 col 17) at require (internal/module.js line 20 col 19) at Object.<anonymous> (\server.js line 23 col 11) at Module._compile (module.js line 556 col 32) at Object.Module._extensions..js (module.js line 565 col 10)

Would you be able to confirm that the node_modules/knex/lib/dialects/mssql/index.js file exists in your project?

I just checked, the whole mssql folder does not seem to exist. Any idea how this could happen. I can try uninstalling/reinstalling knex and see if that fixes it.

No idea, definitely try reinstalling... might be worth doing a full clean install

Thanks, that worked, not sure why I didnt have that folder.

i removed this  \node_modules\knex\lib\dialects\mssql folder and thats all but i dont need to use mssql that is the reason why i remove this folder and problem is solved

i removed this \node_modules\knex\lib\dialects\mssql folder and thats all but i dont need to use mssql that is the reason why i remove this folder and problem is solved

Thank you David! That solved my problem.


tsget: remove call of WWW::Curl::Easy::global_cleanup (1.0.2)

This function is undocumented, but similarly named functions (such as
'curl_global_cleanup') are documented as internals that should not be
called by scripts.
Fixes #3765

Merged. 282c1321962e7ed1714c7d59495c60affce806db


Cannot for the life of me find where how many days of data to keep

Grafana is showing max 14 days of data, been looking everywhere on where to change it. Where would this be done?

Thanks for your report. It looks as if this is actually a question about usage and not development.
To make your question, and all replies, easier to find, we suggest you move this over to our user mailing list, which you can also search. If you prefer more interactive help, join or our IRC channel, #prometheus on irc.freenode.net. Please be aware that our IRC channel has no logs, is not searchable, and that people might not answer quickly if they are busy or asleep. If in doubt, you should choose the mailing list.
If you think this is not purely a support question, feel free to comment in here or take the underlying issues to our developer mailing list.
Once your questions have been answered, please add a short line pointing to relevant replies in case anyone stumbles here via a search engine in the future.
All that being said, in your specific case, you should look like at the prometheus command line flags: --storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME.

Fixed. https://groups.google.com/forum/#!topic/prometheus-users/6e-JCHXn19k


Guide for setting up development

This project looks sweet! A guide for how to set up a development environment so folks can contribute would be very beneficial.

Good idea! I'll write it up

I filled in a bit about dev in this PR: https://github.com/dagguh/netrunner/pull/70


linux-asahi-edge Rust support is broken with nixpkgs master

bisected this to https://github.com/nixos/nixpkgs/commit/7de3f08ce38aca9fddb5db7bcb7741fd389be9ef

Duplicate of https://github.com/tpwrules/nixos-apple-silicon/issues/63


404 page not working correctly

Describe the bug
404 page doesn't seems to work correctly: the dark mode doesn't work.
Link: https://market.oceanprotocol.com/profile/autobotocean.eth/0xEB18BaD7365a40E36A41fB8734eB0B855d13b74F
https://user-images.githubusercontent.com/13741335/211004457-87c81663-5123-4592-a702-f32b9ce36608.mp4
the page scheme color should be dark not light.

Yeah, I'm seeing the same issue


friction cone rotation matrix

Hi, first I would like to thank you for this amazing framework. I have a question, is it possible to change the rotation matrix in the friction cone constraint? I have been trying to change the matrix online but it looks like I can not access the constraint object inside the solver. Thank you in advance.

Hi Gennaro,
As a user of the library I would say one possible way to go can be similar to NormalVelocityConstraintCppAd in the legged robot example. You can take a look in the lines below:
https://github.com/leggedrobotics/ocs2/blob/164c26b46bed5d24cd03d90588db8980d03a4951/ocs2_robotic_examples/ocs2_legged_robot/src/constraint/NormalVelocityConstraintCppAd.cpp#L68-L69
This constraint is configured by accessing member variables of the LeggedRobotPreComputation object, which are updated in LeggedRobotPreComputation::request. Maybe you could do something similar for the friction cone constraint.


Problems with sentinnels on newest version (0.15.0)

We currently use sentinnels by providing the following config to the gem:
name: xxx
sentinels:
  - host: xxx
    port: xxx
  - host: xxx
    port: xxx
  - host: xxx
    port: xxx

Up to version 0.14.1, this worked without issue. But when using the same config on version 0.15.0, we get:
2023-08-08T13:08:59.228Z pid=1 tid=37l WARN: NoMethodError: undefined method `call' for #<Redis::Client redis://redis-node-0.redis-headless.default.svc.cluster.local:26379/0>
2023-08-08T13:08:59.228Z pid=1 tid=37l WARN: /usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:128:in `block in resolve_master'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:170:in `block in each_sentinel'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:166:in `each'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:166:in `each_sentinel'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:127:in `resolve_master'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:119:in `block in config'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:117:in `synchronize'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:117:in `config'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/sentinel_config.rb:69:in `host'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/ruby_connection.rb:124:in `connect'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/ruby_connection.rb:49:in `initialize'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client.rb:685:in `new'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client.rb:685:in `block in connect'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client/middlewares.rb:12:in `connect'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client.rb:684:in `connect'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client.rb:671:in `raw_connection'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client.rb:638:in `ensure_connected'
/usr/local/bundle/gems/redis-client-0.15.0/lib/redis_client.rb:233:in `call_v'
/usr/local/bundle/gems/redis-5.0.6/lib/redis/client.rb:73:in `call_v'
/usr/local/bundle/gems/redis-5.0.6/lib/redis.rb:167:in `block in send_command'
/usr/local/bundle/gems/redis-5.0.6/lib/redis.rb:166:in `synchronize'
/usr/local/bundle/gems/redis-5.0.6/lib/redis.rb:166:in `send_command'
/usr/local/bundle/gems/redis-5.0.6/lib/redis/commands/keys.rb:252:in `exists'

Uh, this makes little sense.
Redis::Client inherits from RedisClient https://github.com/redis/redis-rb/blob/f21cbca67b74e74276e5f8e1de1da4d6d6de64d7/lib/redis/client.rb#L6
And it definitely have that method: https://github.com/redis-rb/redis-client/blob/bda8b905bccdf41f9937c0e28807bdd5289f2d13/lib/redis_client.rb#L216
Are you able to reproduce this is isolation? I'd need to be able to poke at such error to understand what is going on.

Ah wait, someone else reported the same thing at https://github.com/redis-rb/redis-client/issues/131.
I'll handle it there.

Yes.

Okay, could you point me to where this will be tracked then?
It would be really useful for knowing when we can update this dependency.

Oh, I think I found it.
https://github.com/redis/redis-rb/issues/1209
Thanks!

Ah yeah sorry, I didn't notice I totally derped the linking 🤦


Types error with InputFontConfig

Describe the bug
The type is (${string}:${number} | FontConfig) but you provide Roboto:400,700 in documentation, https://nuxtseo.com/og-image/api/config#fonts.
Reproduction
/
System / Nuxt Info
No response

Or the example is false.

Thanks, have updated the docs.


Selecting a plugin should open its doc

Selecting a plugin should look for files in doc/ and if there are multiple files choose the one with the shortest name because it is likely to be the main one. (Or use telescope to select from multiple docs :eyes: )

although, you can already view doc using Telescope help_tags

I think this should open the readme now https://github.com/nvim-telescope/telescope-packer.nvim/commit/b9ffb7fc57973d4a49deb5599b845bc81f9de213
I dont use packer sorry, so i cant test it and i havent seen sunjon for quite some time so i merged it :laughing:
I know it doesnt really do exactly what you want but its something :laughing:

Thanks!


DHE documentation placeholder and Navbar changes

Simplify the top bar so we can move the docs search into it, and then add the DHE docs to the menu.
@fredlf @jamtur01
see demo at http://dowideit-docs.s3-website-ap-southeast-2.amazonaws.com/
Signed-off-by: Sven Dowideit<EMAIL_ADDRESS>

LGTM

LGTM


Add support for error field to createAction

Add support for an error field to createAction. This change does not make it a requirement that the payload is an Error object, and the error field itself is optional, both of these in accordance with the Flux standard action description. The error is also not required to be boolean, as it seems up to the client to determine what to do with these values.
Thanks for a great library! I really want to use this API to reduce boilerplate, but I need the error field, so I thought I'd offer the minimal change required to get that functioning. I added some tests and updated the README as best I could (including some general grammatical fixes) to reflect the changes.
Usage
const action = createAction(types.WITH_PAYLOAD_META_ERROR, resolve => {
  return (id: number, token: string, error: boolean) => resolve(id, token, error);
});

const actual: {
  type: 'WITH_PAYLOAD_META_ERROR';
  payload: number;
  meta: string;
  error: boolean;
} = action(1, 'token', false); // <- it makes me happy to add `false` here :)

Notes

I couldn't find a check script, so I assume that meant npm run ci-check
I started to add "type unit tests" assuming that meant types.spec.ts, but these depend on utils
that use with createStandardAction, and I didn't want to start making my modification larger just for this purpose
I couldn't find the "runtime unit tests"

Related Issue
#52

[x] Rebase before creating a PR to keep commit history clean
[x] Clear node_modules and reinstall all the dependencies: npm run reinstall
[x] Run checker npm script: npm run check

Extra checklist:

[x] Always add some description and refer to all the related issues using # tag

For bugfixes:

[x] Add at least one unit test to cover the bug that have been fixed

For new feature:

[x] Update API docs
[x] Add examples to demonstrate new feature
[ ] Add type unit tests
[ ] Add runtime unit tests

Hi @piotrwitek do you have any feedback for this PR? Just checking in, as I see the merge conflicts accumulate :-)

@piotrwitek Thanks for the feedback, this is great. I will probably have to do some trial and error plus research, but at least I know it's worth working on 👍

@sjsyrek you're welcome :)
I reminded myself one thing that I was experimenting with something similar in the past and I hit the wall that it was impossible to do with current type system limitations, especially stay away from overloads (overloads does break in few type inference scenarios), conditionals are the way to go. That's why I have refactored a lot of internal types from overloads to conditional and I still have some of the refactoring left on a local branch that I plan to merge this week. So I would wait for this because then you'll have a cleaner and more robust baseline to work on.

@piotrwitek I saw the recent changes... do they make this PR unnecessary? Or is it still useful to have a FSA creator that includes an error field? I like the brevity of createAction.

Hey @sjsyrek, yes I would definitely extend createAction to cover this common case, but I would do it with slightly different API.
Your proposal is IMO too limited, covering only a single use-case. Imagine in a few days somebody else would like to add another property and we're stuck with bad API. Also note there is createStandardAction that is FSA compliant so if you are trying to chase FSA then I would suggest to look there.
As for solution proposal I would go with a third argument being a bag object, that will be merged with action object. Here is a usage example:
createAction(types.WITH_PAYLOAD_META_ERROR, action => {
  return (id: number, token: string, error: boolean) => action(id, token, { error });
});

I would accept this solution as this will cover this and many different cases in the future.
If you're interested in tackling it, please copy this proposal and create a new issue, where we will continue API design discussion.

@piotrwitek Sure, I could take a crack at it. Created the issue here: https://github.com/piotrwitek/typesafe-actions/issues/116
Side note: would it not also be worth having support for Redux Thunk, so you could also use ActionType with thunk actions? Since redux-thunk comes with a ThunkAction type, it might not be too difficult to add in (separate issue).

@sjsyrek as for redux-thunk if that is possible then I think it's a good idea. But note that I don't want to include a third-party dependency, so the idea would be to add an internal common interface with redux-thunk action type. Also we could post a working solution in the documentation.

@sjsyrek I think this is obsolete right? Should I close it?

@piotrwitek I haven't had time recently to look at this but would still like to contribute if there's a need. If you think this is obsolete, I'm fine with closing it.

Hey @sjsyrek, thanks a lot for stepping in!
I just returned to work after the summer break, I'll be reviewing everything in the coming days, I will notify you later.

Hey @sjsyrek,
I would like to get back to work on this feature in v5.x.x.

How it would work type-wise?
Most probably and optional error field added to base Action type:

type Action = {
  type: string;
  error?: boolean;
}

How it would work at runtime?
I would go with a forced convention by having a payload to be an instance of Error (easy to implement, backward compatible does not change API and I think that's the most popular option)
This would automatically set error property to true, but also we would have a chance to use conditional types to refine Action type to show or hide error property from action type. That would be the most optimal solution.

What are your thoughts?
PS: I would like to close this PR because it's outdated and create a new issue tracking this feature.

Closing this in favor of a new proposal at #207


Zaps not showing

Zaps are not showing up on recipe, the recipe was zapped a few times but didnt show up, went back about 30 minutes later and it showed 1 zap only ( 21 sats ) . is there a time delay or a bug maybe??
https://nostr.cooking/recipe/8558a4ca0fcbf75cbb543133c4c25e3dd7fad97af93214b04ba7dbbcace7c12f

Should be fixed with c10fdb0ff666e5b1c9bd8e07c3b9a19ef133ebfe!


Nitrous.io Quickstart button

Added Nitrous Quickstart files so anyone can quickly spin up a free, cloud dev environment to start using this repo. Clicking the Quickstart button will automatically clone this repo and will install and configure any required packages.

Nice, that works really well. I noticed that the specs are not passing because phantomjs is not installed. Could include it in the post create script as well as adding the new files do our .dockerignore?

Sure. I've added phantomjs installation in post create script and added new files in .dockerignore.

Great idea @yeouchien!

@yeouchien Does the updated script work for you? I tried it two timed and it seems to time out during the installation of phantomjs.
As I understand it the README.nitrous.md is only used in the IDE, would it be possible to create that file in the post-create script and not add it to the repository?

@dsander Weird.. It worked for me yesterday but got time out today. Anyway I've updated the script to use phantomjs-prebuilt since it's recommended to do so (https://www.npmjs.com/package/phantomjs).
For README.nitrous.md, I will add it into post-create script later today.

@dsander Updated nitrous-post-create.sh script with README.nitrous.md in it.

Nice, tried it a couple of times and its working well now. Thanks @yeouchien!


fix: not able to deploy to Digital Ocean - "exec format error"

Description
Hello,
today I tried to publish my dart_frog mini backend (https://github.com/novas1r1/adopt_pummel) to Digital Ocean by following the official documentation but I'm running into the following error on DO:
[2022-08-26 16:22:16] starting container: starting sub-container [/app/bin/server]: creating process: failed to load /app/bin/server: exec format error
[]

It works fine when running dart_frog dev and it also works fine running it locally with docker.
To build the docker image I'm running:
docker build build --tag registry.digitalocean.com/novas1r1/adopt_pummel
and afterwards
docker push registry.digitalocean.com/novas1r1/adopt_pummel
which both works totally fine.
When I'm checking the DO page, where I setup the Container Registry and also the App and where I assigned the image everything looks fine. When I'm trying to deploy then, it's running into the above mentioned error.
I tried removing the whole app, readding it, building it again, running docker again but I'm running out of ideas. I'm a BIG docker n00b, never worked with it before - so maybe I missed something.
Setup
dart_frog: 0.1.0
dart_frog cli: 0.1.1
Macbook M1 Pro
macOS 12.5.1
Any hints and tips are highly appreciated :)!
Best regards
Verry
P.S. Didn't know if I should put it in fix or build since dart_frog in general is working perfectly fine. Feel free to adjust!

Hi @novas1r1 👋
Thanks for opening an issue and sorry for the inconvenience! We took a closer look and were able to reproduce the issue. Since Digital Ocean's container solution requires you to build the images on your own hardware, the resulting image is incompatible with Digital Ocean's hardware. We were able to reproduce this by building an image on an M1 mac and then trying to run the same image on an intel mac.
We'll update the Digital Ocean deployment guide to explicitly point this out so that others don't run into the same problem. Are you able to build the image on an intel machine and try again?
On a side note, in the process of reproducing we noticed that the port mapping was incorrect in your sample app. The Dart Frog app listens on port 8080 by default so you probably want to update your run command to:
docker run -p 80:8080 -t adobt_pummel to bind port `8080` to `80` on the host machine.

Let me know if that helps and apologies again for the inconvenience!

Hi Felix,
Thank you so much for looking into this so quickly. I had a feeling it was M1 related, but couldn't try it on Intel yet since my PC ends up in a bluescreen when running docker.
I will try to create an image from another computer or like @wolfenrain suggested using Lima VM. Also Github actions mentioned by Twichel seem to be a possibility.
Also thanks for pointing out the port mapping. I tried so many things, at one point everything got quite messy, will update that as well.
Will keep you posted 💪!
P.S.

Hello again,
this might have been a beginner task and it's probably not 100% perfect, but I made it work to deploy my dart_frog backend using github actions to Digital Ocean.
name: Dart

on:
  push:
    branches: ["main"]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      # Note: This workflow uses the latest stable version of the Dart SDK.
      # You can specify other versions if desired, see documentation here:
      # https://github.com/dart-lang/setup-dart/blob/main/README.md
      # - uses: dart-lang/setup-dart@v1
      - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603

      - name: Install dependencies
        run: dart pub get

      - name: Verify formatting
        run: dart format --output=none --set-exit-if-changed .

      - name: Analyze project source
        run: dart analyze

      # Your project will need to have tests in test/ and a dependency on
      # package:test for this step to succeed.
      - name: Run tests
        run: dart test

      - name: Install dart_frog
        run: dart pub global activate dart_frog_cli

      - name: Build dart_frog
        run: dart_frog build

      - name: Change to /build
        run: cd build

      - name: Build docker image
        run: docker build -t adopt_pummel:$(date +%s) ./build

      - name: DigitalOcean App Platform deployment
        uses: digitalocean/app_action@main
        with:
          app_name: oyster-app
          token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}

Maybe a docker/github actions expert can clean this up a little and we could add it to the documentation? Maybe someone else is running into this as well :)!