Add hook to post-process triggers.

#2825

I tested this in the raid emulator with a user file like this: https://gist.github.com/lyze/32a8bf44f513466b8c14289bf2c2fef1

But OrderedTriggerList is not documented yet.

I agree that this function wrapping gist would work with this patch, but I'm a little bit unsure that this is the best way to implement this.  My worry is that this would make everybody who wanted to modify trigger output programatically to have to implement all the code that's in your gist and have to understand the details of everything triggers can return (now and into the future).
Are there other use cases to modify triggers programatically? If no, I might counterpropose a simpler ProcessTriggerText(text: string) => string option, where it passes in strings and returns modified strings.  (Possibly ProcessTriggerText(text: string, triggerId: string, triggerField: string) => string, in case you wanted to know which trigger this came from and whether this was alertText / tts / etc?)

t.response?.['infoText']

A couple of tiny other details:
There's no ES2020 support in OverlayPlugin's version of CEF yet, so you can't do optional chaining inside of an overlay yet, even if it works in the browser in raid emulator.
Also, response can also return a function that returns { infoText, etc } and not just an object that contains the same.

But orderedTriggers: OrderedTriggerList is not documented yet.

Sorry, I'm not sure I understand what your concern is here.

But orderedTriggers: OrderedTriggerList is not documented yet.

Sorry, I'm not sure I understand what your concern is here.

this.options.PostProcessTriggers?.(orderedTriggers);

Users will have to dig into the source code to see what this value is. But OrderedTriggerList is neither documented nor typed.

Thanks for the quick response and helpful comments.

I agree that this function wrapping gist would work with this patch, but I'm a little bit unsure that this is the best way to implement this. My worry is that this would make everybody who wanted to modify trigger output programatically to have to implement all the code that's in your gist and have to understand the details of everything triggers can return (now and into the future).

I agree with this. The trigger internals are fairly complex. But I think most of the heavy lifting can be covered by a single function along the lines of something like this:
// Returns a trigger field created from the specified trigger field (such as `alertText`, `infoText`, `tts`).
// The returned value is suitable for use as a field in a trigger.
// `triggerValueFn` is a callback that is called with the resolved value of the trigger. Some triggers
// (such as with locales, or with `data, matches, output` trigger functions) will only have this
// triggerValueFn called when the trigger field is evaluated.
// `fieldName` is `infoText`, `alertText`, `tts`, etc.
//
// Example usage:
//  --snip--
//
function ResolveTriggerField(trigger, fieldName, triggerValueFn) {
  let triggerField = trigger[fieldName];
  if (!triggerField) {
    if (typeof trigger.response === 'function') {
      triggerField = (data, matches, output) => trigger.response(data, matches, output)[fieldName];
    } else {
      triggerField = trigger.response[fieldName];
    }
  }
  switch (typeof triggerField) {
    case 'string':
      return triggerValueFn(triggerField);
    case 'function':
      return (data, matches, output) => {
        triggerValueFn(triggerField(data, matches, output), data, matches, output);
      };
    case 'object':
      for (const [k, tf] of triggerField) {
        triggerField[k] = ResolveTriggerField(tf, k, triggerValueFn);
      }
      return triggerField;
  }
}

The downside here is that it doesn't distinguish easily between "immediate" triggers (like returning string) and "deferred" triggers (requiring data, matches, output or locale). But I see this distinction more as a question about optimization.

Are there other use cases to modify triggers programatically? If no, I might counterpropose a simpler ProcessTriggerText(text: string) => string option, where it passes in strings and returns modified strings. (Possibly ProcessTriggerText(text: string, triggerId: string, triggerField: string) => string, in case you wanted to know which trigger this came from and whether this was alertText / tts / etc?)

I was originally considering this approach. If there was a hook that took the text destined for TTS and transformed it before actually passing it to the TTS module, that would work for my purposes. I felt that this interface was too limited, but I am happy to go this route.
Is it in the spirit of the project to expose an internal, use-at-your-own-risk API? One could imagine that ProcessTriggerText(text, id, field) could be implemented with the footgun form of PostProcessTriggers.

Thanks for the quick response and helpful comments.

I agree that this function wrapping gist would work with this patch, but I'm a little bit unsure that this is the best way to implement this. My worry is that this would make everybody who wanted to modify trigger output programatically to have to implement all the code that's in your gist and have to understand the details of everything triggers can return (now and into the future).

I agree with this. The trigger internals are fairly complex. But I think most of the heavy lifting can be covered by a single function along the lines of something like this:

The question is less can it be written and more does it make sense for all users to have to write it (or copy it).

The downside here is that it doesn't distinguish easily between "immediate" triggers (like returning string) and "deferred" triggers (requiring data, matches, output or locale). But I see this distinction more as a question about optimization.

Are there any triggers at this point that return a string directly? Everything is using output strings these days, and so goes through a function.

Are there other use cases to modify triggers programatically? If no, I might counterpropose a simpler ProcessTriggerText(text: string) => string option, where it passes in strings and returns modified strings. (Possibly ProcessTriggerText(text: string, triggerId: string, triggerField: string) => string, in case you wanted to know which trigger this came from and whether this was alertText / tts / etc?)

I was originally considering this approach. If there was a hook that took the text destined for TTS and transformed it before actually passing it to the TTS module, that would work for my purposes. I felt that this interface was too limited, but I am happy to go this route.

Are there other use cases here?

Is it in the spirit of the project to expose an internal, use-at-your-own-risk API? One could imagine that ProcessTriggerText(text, id, field) could be implemented with the footgun form of PostProcessTriggers.

The issue for me is what I stated before, in that everybody who wants to have ProcessTriggerText needs to now write PostProcessTriggers in their raidboss user file.  It's hard for me to imagine what other use cases would motivate this.

Are there other use cases here?

I actually have a fair number of e12s triggers that end up being "copy the entirety of the existing trigger, but do X before/after the default logic", or "change the callout of X trigger from boss-relative to absolute", which this would be nice for.
The most basic user config implementation based on this PR would appear to be:
Options.PostProcessTriggers = ts => {
  console.log('Post processing trigger set', ts);
};

The other code in the gist is just for what lyze was trying to change with triggers with their specific use case.
I'm not sure it makes sense to implement this at the point in PopupText where it is, however. There are a number of checks and optimizations to the trigger set that would cause it to no longer match the trigger format from the file (e.g. lang-specific regexes are selected). To me it would make more sense for this to be a pre-process hook, or maybe a post-trigger-execution hook as Quisquous suggested with maybe an additional field to clarify the type of text, e.g.:
ProcessTriggerText(text: string, triggerId: string, triggerField: string, textType: 'info' | 'alert' | 'alarm' | 'tts') => string

However, back to the Post Process logic, there are at least two notable issues in general with this process:

This would be fired every time the user zones or changes jobs, not just once (ReloadTimelines calls).
This appears to allow modifying the original trigger data which means that it would cause all modifications recursively any time ReloadTimeline is called, meaning you could quickly end up with something like trigger.response = (data, matches, output) => {/*do something*/; oldTriggerResponse(data, matches, output);} where `oldTriggerResponse ends up nested 10 deep or something.

This is noted in the comments for the ProcessTrigger function

Realistically, PopupText should probably be doing something like this:
        for (const originalTrigger of set.triggers) {
            const trigger = Object.assign({}, originalTrigger);

Which would then avoid modifying the original trigger and negate the issues above. I'm not sure if that's really a discussion for this PR though.

Playing devil's advocate, I could say that if I copied a trigger and overwrote it, then I wouldn't know about improvements to a trigger's implementation because I have to maintain my own copy of it.  I personally found this to be fairly clumsy, and I wasn't excited to maintain all aspects of the triggers I would have to copy.

You keep saying "maintain" here, and this is where I disagree.
Historically, FFXIV content changes very little. I can think of only two examples across all of time where FFXIV content has changed and triggers needed to be updated (a11s optical sight ability ids, and ucob nael rp text in English).  However, triggers themselves in cactbot are more likely to be updated for various reasons (cleanups, refactorings, adding new triggers that combine with old triggers).
I am arguing that it is vastly more likely that somebody refactors the existing built-in trigger in a way that breaks your logic than FFXIV content changes and there is some maintenance savings to be had.  For example, if you add a hypothetical post-process hook to override alertText for some trigger.  Possible things that could do this are moving code from condition into alertText which your override won't handle.  Other things could be moving logic from alertText into run (e.g. your own #2825), and suddenly shift happens incorrectly twice.  This tight coupling makes it much more likely that small logic changes will break your user triggers.  Copying and pasting, even if it feels more clunky, is saying "I will handle this entire mechanic in this user file" and so even if the built-in trigger(s) for that mechanic are modified, your user triggers will continue working because they are handling the mechanic entirely.
The argument I'm trying to make is that there is ~zero maintenance of triggers as the ffxiv content itself ~doesn't change.  A looser coupling between user triggers and built-in triggers prevents much more breakage and headache.

This is ready for review now. I went with the simplest option with a string => string callback that transforms the TTS output. We can probably reevaluate fancier options if there's a need.
Sorry for the delay. I was a bit busy recently, and couldn't find the time to do this until now.


Correct small typo

 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.

Thanks, but it seems to be correct here.

I don't really care whether you accept this PR or not, this is just to say that if you want to keep you're it should read you're likely to find (note the added to), otherwise you'll likely find, but you're likely find is not correct English and will confuse readers as it did for me.


Add .NET publication target for JSII construct

Hey Matt! Adding the issue here to track .NET readiness for this custom construct. I'd love to test it out once ready! Looking for opportunities to test with either TS or Python in the meantime.
Thank you for creating this construct!

Thanks for opening this. It's published now and should be available here shortly:
https://www.nuget.org/packages/MBonig.Secret/

Thank you so much for the Construct and the quick turnaround, @mbonig ! I'll test this as soon as possible!

Thank you so much for the Construct and the quick turnaround, @mbonig ! I'll test this as soon as possible!


Fixed small things to make it work

Fixed the readme
Fixed the schema (added created_at)
Added debug config for vs code

👍


Twitch embedded player not working

This post will be updated when a fix is available:
https://discuss.dev.twitch.tv/t/twitch-embedded-player-updates-in-2020/23956/121

Fixed in a24e5e57233f0728fc5668dc3409d834f651a822.


Does not work with UNC paths

Trying to decompress \\my\share\folder\foo.gz will not do anything.
Setting up a drive letter Y: to \\my\share and using Y:\folder\foo.gz will work.
Note, I don't see any messages in the Extensions pane, so I don't know where to find any error messages that are posted.

Same situation here.  I changed computers, and I noticed that the gzip decompress extension in Virtual Studio Code no longer worker.  As above, no error message, it just didn't do anything.
Based on this issue thread, I tried mapping the openhab logs folder to a Windows Network drive (with a letter), and, presto, it now works.  It would be great it if would work from a network address (e.g. \openhab\openHAB-logs), but I'm glad to have it back even if I have to map the network drive.


Fix issue with page refreshing so often and messing up typing

This probably needs to be done by componentizing the various pieces of functionality. That way a submit doesn't have to submit the entire character sheet, but rather just it's small piece.
There may be additional changes needed as well, but that's one thing that should help with the look and feel.

Pretty sure this has been solved!


[Question] Is it intentional the GruvboxBg groups are setting the fg color?

Looking at the lua/gruvbox/groups.lua:37-41, the GruvboxBg groups are changing the foreground color, not the background color.
I was expecting that a hlgroup named as GruvboxBgX would be manipulating the background color, not the foreground color from the name.

@EdJoJob yep, it's the same convention we have in the vimscript version, which this plugin was referenced by


Query params being removed

** Please describe which feature you have a question about? **
Hello, i'm working on a gatsby site deployed using AWS Amplify console, and i'm having problems with URL params.
** Provide additional details**
Steps to reprodcue:

Navigate to page on site, eg /page-2/ - works ✅
Navigate to same page with url params /page-2?a=b - ❌  fails - i get redirected back to just /page-2/

I have just on rewrite set up:

[
    {
        "source": "</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>",
        "target": "index.html",
        "status": "200",
        "condition": null
    }
]

Do i need another rule so i can use url params?
Thanks!

Hi @dhoulker,
The rule you have is for Single Page Applications in general (any route that doesn’t explicitly request for the file extensions mentioned in the rule would be redirected to index.html).
This means all the routing is done on the client side. You would have to define a client route that extracts the query strings on your client router. https://www.gatsbyjs.org/docs/client-only-routes-and-user-authentication.
Let me know if you have any questions.

Having the same issue, I think this has nothing to do with Single Page Apps @abhi7cr.
The issue is clear when you need tracking params in the URL, and for some reason somebody is linking to it without a slash at the end:
This is happening:
/product?utm_source=google redirects to /product/
Expected behavior:
/product?utm_source=google redirects to /product/?utm_source=google
By the way, this is on a total vanilla/unmodified new amplify projects. I dont have any redirects set or anything.
Keeping query params in there is important for many reasons.

Same problem here.
The workaround is to add slash at the end of the URL before query params start.
Therefore /product?utm_source=google becomes /product/?utm_source=google - the latter should work.

Track this in #97. Closing


redundant repetition a hash, of the hash

Azure AD Connect synchronizes a hash, of the hash, of a user's password from an on-premises Active Directory instance to a cloud-based Azure AD instance.
I think there is a redundant repetition here. I think it should read "Azure AD Connect synchronizes the hash of a user's password..."
thanks

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: aad82713-d562-5778-fbf8-035e24f9c470
Version Independent ID: 6370cca0-c78e-4738-ba67-8fb14594b0f2
Content: What is password hash synchronization with Azure AD? - Microsoft Entra
Content Source: articles/active-directory/hybrid/whatis-phs.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@dinos-kon
Thanks for your feedback! We will investigate and update as appropriate.

@dinos-kon
Thanks for contributing towards enhancement of document. Required changes has been made and will go live once approve by author.


Custom CA certificates

Patch dulwich and paramiko (git) clients to support the standard SSL_CERT_FILE environment variable in order to be able to specify custom CA certificates for corporate users.
Testing the changes:
Please see the testing guide in https://github.com/carrier-io/centry/pull/63.

Note: supporting custom CA cert for k8s integration will be done in a separate PR later.

We've tested changes together with @attilavetesi-epam , and it worked good. @hunkom can you please take a look and if possible merge this. Thanks!


adding images

Hi - looks like a cool project. I downloaded it and ran it on my phone. I was wondering, how would I use images in this? is there anyway I can just pass images in and simply move my phone around?

Hi,
that would be a matter of using OpenGL to display textures in the appropriate parts of the 3D space. If you are not familiar with OpenGL, I suggest you start here.


mix drab.install doesn't work with phoenix  > 1.3

When running mix drab.install in a new phx project, the script following error message appears.
** (Mix) Only Phoenix 1.3 is supported with the installer, please proceed with manual install.
Here is the dependency list of my app.
defp deps do
    [

      {:phoenix, "~> 1.3.4"},

      {:phoenix_pubsub, "~> 1.0"},

      {:phoenix_html, "~> 2.10"},

      {:phoenix_live_reload, "~> 1.0", only: :dev},

      {:gettext, "~> 0.11"},

      {:cowboy, "~> 1.0"},

      {:drab, "~> 0.9.1"}
    ]
  end

I'm doing this with elixir Elixir 1.7.3 (compiled with Erlang/OTP 19) on win10.

The issue occurs if you compile deps before install.

There is a workaround:
mix deps.clean --all
mix deps.get
mix drab.install


Fix hook example

The example code for adding a hook would never add a successfully built syslog adapter because the error check was inverted.

@xrstf thanks for your contribution


Can not make new file/new foler on root folder

I have tried to make new file/new folder on my root project file folder but I doesn't work at all. I just add new file on subfolder of main folder. it's lastest version of VS Code (1.52.1), please fix it. Thanks

I can't reproduce this. Steps:

Click the space at bottom of explorer
Click "New File" icon

File name input was at project root:

Enter a filename, indeed the file was created in project root:

Version: 1.52.1 (user setup)
Commit: ea3859d4ba2f3e577a159bc91e3074c5d85c0523
Date: 2020-12-16T16:34:46.910Z
Electron: 9.3.5
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.17763

I can't reproduce this. Steps:

Click the space at bottom of explorer
Click "New File" icon

File name input was at project root:

Enter a filename, indeed the file was created in project root:

Version: 1.52.1 (user setup)
Commit: ea3859d4ba2f3e577a159bc91e3074c5d85c0523
Date: 2020-12-16T16:34:46.910Z
Electron: 9.3.5
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.17763

We accidently closed this. @thohariakb please answer @yume-chan questions

We accidently closed this. @thohariakb please answer @yume-chan questions


Oracle version affected by bugs 20356733/21547130

Hello MaksymBilenko. I've appreciated this docker container immensely. It's helped me a lot for the development of Join Monster. Thanks for you efforts!
I am currently troubled by a regression bug in Oracle that exists in version <IP_ADDRESS> or later, which I was informed about on my stack overflow question. This bug is detailed here, and there is an existing patch for it: the <IP_ADDRESS>.160419 patch set update.
I do not have an Oracle account, so I believe I have no access to the patch. I was wondering if it would be feasible to build the patch into this container. I'm not sure how difficult that would be. If not feasible, can you offer any insights as to how I might obtain the patch?

I see what I can do, Thanks.
2017-03-07 23:00 GMT+02:00 Andy<EMAIL_ADDRESS>
Hello MaksymBilenko. I've appreciated this docker container immensely.
It's helped me a lot for the development of Join Monster
https://github.com/stems/join-monster. Thanks for you efforts!
I am currently troubled by a regression bug in Oracle that exists in
version <IP_ADDRESS> or later, which I was informed about on my stack
overflow question
http://stackoverflow.com/questions/42593148/inconsistent-behavior-with-cross-apply-and-outer-apply.
This bug is detailed here https://community.oracle.com/thread/3998288,
and there is an existing patch for it: the <IP_ADDRESS>.160419 patch set update.
I do not have an Oracle account, so I believe I have no access to the
patch. I was wondering if it would be feasible to build the patch into this
container. I'm not sure how difficult that would be. If not feasible, can
you offer any insights as to how I might obtain the patch?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MaksymBilenko/docker-oracle-12c/issues/29, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC5NKkEmzAkREfU6215IT_cA6HJdzBqNks5rjcV2gaJpZM4MWBNk
.

@acarl005 What if I'll do simply R2 image?

@MaksymBilenko I'm sure they've fixed the regression in ver 12c release 2. That would be awesome!

https://github.com/MaksymBilenko/docker-oracle-ee-12c

https://hub.docker.com/r/sath89/oracle-ee-12c/

This is EE version of 12.2.0

Excellent. Thank you!


ActiveJob performed matchers

have_been_performed is like have_been_enqueued, but for performed
jobs
have_performed_job is like have_enqueued_job, but for performed
jobs

It's somewhat unusual to use perform_enqueued_jobs, but it seems nice if
rspec-rails supports it!

Also squashed commits.

Squashed on @isaacseymour's branch, but that did not update the PR 8E

@isaacseymour could you rebase? We fixed the CI.

Rebased 👍

@pirj I didn't you can rebase and push from a fork you don't own. 🤔

It seems it's possible by default with this setting:

Thanks! Good to know.


Refactor to using more secure TS

There are some weak points with regards to security that can be refactored such as the command formation. These modules can be made with simple refactoring.

Taken care of with tree-sitter and updating execution to not use the shell option.
Related PR's -

https://github.com/model-checking/kani-vscode-extension/pull/47
https://github.com/model-checking/kani-vscode-extension/pull/40


warning when using adam

When I use adam, not adam onecycle, it occurs a warning like this, this warning won't be showed when I use adam onecycle:

I wonder how to fix this, and if it is not fixed, will this warning influence the results?

@jihanyang


zsh: command not found: tye

Hi
I'm trying to start work with tye. At first I check FAQ and Guides.
I have problem with 'tye run', I receive error in terminal "command not found: tye".
I checked my dotnet tools, and "tye" is installed.

Please help me.

Hm, odd. Can you try restarting your terminal and see if that works? Or try a different command prompt (bash, powershell, etc) and see if it works there?

I have restarted  terminal, computer but problem haven't gone.
I tested in different command prompt, so in bash it's working.

dotnet tools get installed to a special directory that's likely on your path. It sounds like bash was updated but not ZSH. Here's the snippet from my .zprofile
# Add .NET Core tools
export PATH="$PATH:/$HOME/.dotnet/tools"

Hi, I have the same issue. I extended PATH manually, but still the same.
I have folder microsoft.tye inside .dotnet/tools/.store after installation but I cannot find tye.exe file there.


Suggestion: Support IAsyncEnumerable for GetListingAsync

FTP OS: All
FTP Server: All
Computer OS: Windows
FluentFTP Version: 34.0.0
Add support for IAsyncEnumerable to the GetListingAsync() method on FtpClient, allowing FtpListItems to be processed as they are received and parsed, rather than the current behavior which waits to receive all items before returning. For large (especially recursive) listing returns this can save allocating a sufficiently large array to store all list items and seems to fit in with the intended purpose of IAsyncEnumerable in any case.

In addition this may be applicable to DownloadDirectoryAsync

Closing because im dumb and didnt notice that that literally exists lol

Good point. The code exists but is disabled because it was pulling in an
additional dependency from nuget (I think linq.async or something like
that) which was breathing many users' build. Therefore I was forced to
disable it.
On Sat, Jun 19, 2021, 7:12 AM Khitiara Alyahka @.***>
wrote:

Closed #730 https://github.com/robinrodricks/FluentFTP/issues/730.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/robinrodricks/FluentFTP/issues/730#event-4912005345,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABT3UKWAW7LXEBF6RGIPNSTTTPYY3ANCNFSM4646DRUA
.


Improve optimistic coordination

This is a fairly extensive set of changes intended to improve optimistic coordination among sources:

The ActionQueue class has been extended with new methods such as retry, skip, clear, shift, and unshift. These methods allow queues to be controlled when they're inactive or a problem has occurred.

The reset method has returned to the Action class, as well as read-only properties started and settled.

Queues have been moved back to the base Source class, rather than being maintained by the Coordinator. This allows for direct wiring of event listeners between sources, which has proven to be valuable for complex strategies like optimistic sync.

TransformLog now allows positions relative to a transform (e.g. +2, -1) to be specified for a number of methods, allowing for finer-grained interrogations.

The scope of the Coordinator class is now limited to tracking the transforms applied to sources and ensuring that their history is truncated to the most recent common entry.

For those watching, I'm getting close to a new release, but still have a little churn (and a lot of docs) left.


Localisation visual issues from the settings screen in ePI( displays lot of {} for language bindings) Suggest to not display those strings

Due to lazy instantiation of accordion-item component.
Fixed from: https://github.com/PharmaLedger-IMI/leaflet-ssapp/commit/be1d39381b2b0f223048c1f0d1f8276d023a687c


Add a tutorial for setting up bulk ontology inserts via a spreadsheet of terms following a specific design pattern

I have a spreadsheet that follows a design pattern (cell part of anatomy pattern).  Can I use robot to do bulk inserts into an ontology (and then make a PR for review out of the result, for example)?
In particular, I have ETL development friends (users) that have a reoccurring pipeline that often makes post-composed terms that should be pre-composed in the Cell Ontology.  They are curious about automating PRs to help speed up the process of term addition.
Thanks for your help in advance!

One good existing resource is https://github.com/EnvironmentOntology/envo/wiki/ENVO-Robot-template-and-merge-workflow


Minor comment correction

Hello,
i was reading the code, and i found a little copy/paste typo.

@lk77 thanks! 👍


Consider convert underscore to dash in custom html attributes

Hi,
Would it be possible to convert underscore to dash in custom html attributes, like this:
div(some_attr: 'value') {'text'}
to
text

You can already do that like this:
div('some-attr': 'value') {'text'}

Output:

text

Or this:
div('some-attr' => 'value') {'text'}

Output:

text

Note the update added to previous message. Closing.

OK. That's fair enough. I can do "sed" and convert them manually for now.
Thank you!

After reading a bit, though, it seems that:

using underscores in attributes names is discourage by many
using dashes as custom attribute separator is mandated

This leads me to believe that majority of people will want auto underscore conversion.
Those who do need to retain them, will most probably be a minority and can use the workaround with quotes that you mentioned above.
This is my thoughts. Maybe you can keep the issue open so that others can give their opinion.

Fair enough!
After giving this some more thought, I think I can implement as a global glimmer config option, but not as an initial default.
I added to TODO.md as "Support global glimmer config option to auto convert xml attribute underscores to dashes"
For example:
require 'glimmer-dsl-xml'

Glimmer::Config.xml_attribute_underscore = '-'

include Glimmer

puts html { div(data_bind: 'name') {"Sean"} }

Output:

Sean

Implemented in v1.3.1 and documented over here:
https://github.com/AndyObtiva/glimmer-dsl-xml#glimmer-config
Cheers.

Wow, that was quick!
Thanks a lot and have a good time of day!


Implement support to the PERF_* variables in libmodsecurity

The following variables needs to be implemented inside libModSecurity:

PERF_ALL
PERF_COMBINED
PERF_GC
PERF_LOGGING
PERF_PHASE1
PERF_PHASE2
PERF_PHASE3
PERF_PHASE4
PERF_PHASE5
PERF_RULES
PERF_SREAD
PERF_SWRITE

More information about these variables can be found at ModSecurity reference manual: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual

Instead of using the performance variables which can actually have a negative impact on  performance, we would suggest the utilization of Linux instrumentation tools. The utilization of stap, for instance, can lead the same results as the Performance variables plus it allows the user to use the existent tools such as flame-charts to plot the performance information in a easy to read way. There is a stap example in the nginx repository: https://github.com/SpiderLabs/ModSecurity-nginx/blob/master/ngx-modsec.stp
Having said that, I am closing this issue.

DURATION can be used to substitute the timings for phase 1 through 5. But the other ones would demand systemtap. DURATION also is buggy and not implemented correctly (if correctness means equal to 2.9.x).
Also the substitution is much more complicated than the native availablity of the perf variables.
I'm going into some length on this problem and the use cases for the performance variables in this ML message: https://sourceforge.net/p/mod-security/mailman/message/36276827/


Sonic the K-Day Hedgehog: Watch looglebiz.com

Sonic the K-Day Hedgehog requests the watch of the watch_keyword looglebiz\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

looglebiz\.com has been seen in 1 true positive, 0 false positives, and 1 NAA.

Approved by rene in Tavern on the Meta


Context

Test Case

https://buildkite.com/input-output-hk/cardano-wallet/builds/5382#6f07a69b-49c0-4dc5-ba07-bc0fc7cba9b0/6-7571
Failure / Counter-example

src/Test/Integration/Framework/DSL.hs:336:23:
1) API Specifications BYRON_MIGRATE_01 -  migrate a big wallet requiring more than one tx
           expected: Status {statusCode = 202, statusMessage = "Accepted"}
            but got: Status {statusCode = 500, statusMessage = "Internal Server Error"}

           from the following response: Left (HttpException ResponseTimeout)

Resolution

QA

Closing. Didn't occur again a single time since then. Probably a false negative.


handle overlapping transfers better

if a transfer is already in progress and you try and do another overlapping one, either attach to the existing one (rather than trying to run another in parallel) or error.

At the moment, new transfers that are initiated when another one is in progress can get stuck!
A dm transfers list command will be useful, and improve visibility in terms of what the system is doing.


Missing SQL store support

I have been trying to deploy Temporal.io with MySQL store support. I see the rest of the chart is heavily inspired from banzaicloud's cadence chart, but it seems MySQL support has been explicitly removed from the chart while Temporal itself seems to support it.
Is there a specific reason?
I have made changes to this chart to support it for my use for now. If the Temporal team/community is interested, I can create a PR.

we should support mysql via the helm chart - see the relevant values file for an example:
https://github.com/temporalio/helm-charts/blob/master/values/values.mysql.yaml
if this isn't working, please let us know


Update fill and get gaps methods

Can you add a test where time zones of start and end in get_gaps do not match the self.time_zone of the TimestampSeries. Please use the _get_time_zone-method in the FrequencyMixin for this. How do we handle time zone naive starts and ends in this case? I'd advocate interpreting them as matching the TimestampSeries's unit.

I have added checks and additional tests for not matching start and end timezones. I agree with interpreting time zone naive parameters in the time series timezone


Addressing issue #29

Looks like there is a dialyzer error

I ran dialyzer locally and it's showing me issues with automata/worlds/mock_world_1/mock_automata/mock_seq_1.exfiles

Ok let me take a look, I’m new to dialyzer
On Tue, May 19, 2020 at 5:49 PM Neerthigan<EMAIL_ADDRESS>wrote:

I ran dialyzer locally and it's showing me issues with
automata/worlds/mock_world_1/mock_automata/mock_seq_1.exfiles
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/upstarter/automata/pull/33#issuecomment-631168399,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAF5UTC2UMNPAHEH2BH3XTRSMSLHANCNFSM4NFOYBMQ
.


Instruction to build the firmware

Hello,
could you please post instruction how to build the firmware?
Thank you

Have you had a look at the build-firmware script?
https://github.com/konnected-io/konnected-security/blob/master/scripts/build-firmware

No i didn't. Thank you for pointing it out.

Maybe see if you can add a new section to the README if you work out how to do it?
git clone ...
cd konnected-security
./scripts/build-firmware

It looks like you need docker installed to do the build, so it's worth mentioning that.


Re-enable some tests for the Node Pure JS interop client

The tests that are re-enabled here should now work because of grpc/grpc-node#219, grpc/grpc-node#221, and grpc/grpc-node#231.

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences


Interpolation :class without namespace

It would be great if the :class interpolation didn't include the whole namespace of the class. I think that the namespace could be another interpolation.

+1

This has been fixed and merged. You can close this issue, @ablunier :smile:


Register already uploaded files

Hi, I have been uploading tons of files directly to a channel via Telegram bot api running locally. Is there any way I can add those files so it will appear and accessible from this apps? I was looking on the database and I think that should be possible. Thanks!

Not possible in current implmentation  you can fork repo and modify accordingly

@divyam234, even if me manually specify the file ID and write to the DT via UI?


[Logic Apps] Delete row from table with eTag match fails with different error when compared with storage emulator

Which service(blob, file, queue, table) does this issue concern?
table
Which version of the Azurite was used?
Latest from table branch (42ff12135c8817acfb0725757207fd71fb63e70f)
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
Local npm build. Please see above.
What's the Node.js version?
v14.16.0
What problem was encountered?
Delete a row from table with eTag match returns 412 if tag does not match. However, the same operation fails with 400 on storage emulator.
Azurite
Request
DELETE http://<IP_ADDRESS>:10002/devstoreaccount1/testjobdefinitions(PartitionKey='F6000',RowKey='BackgroundJobsCIT_8ca26e70-e409-4f7c-8260-a658ebc4ea2e')?sv=2018-03-28&sig=qOtRJu9fbheKzKFXdGOFXD7%2BYZW3xEN8cyQUR9XRPjA%3D&se=2023-03-25T00%3A01%3A31Z&srt=sco&ss=bqt&sp=racupwdl&timeout=30 HTTP/1.1
User-Agent: ResourceStack/<IP_ADDRESS>5
x-ms-version: 2018-03-28
x-ms-client-request-id: 514bee96-c74e-4712-af59-d3a2a01d1675
Accept: application/json;odata=nometadata
If-Match: test
Host: <IP_ADDRESS>:10002
Content-Length: 0

Response
HTTP/1.1 412 Precondition Failed
Server: Azurite-Table/3.9.0-table-alpha.1
x-ms-error-code: UpdateConditionNotSatisfied
x-ms-request-id: 2e975669-1ba2-438d-bd6f-c01598e7adbc
x-ms-version: 2019-12-12
content-type: application/json;odata=nometadata;streaming=true;charset=utf-8
Date: Thu, 25 Mar 2021 00:01:34 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

eb
{"odata.error":{"code":"UpdateConditionNotSatisfied","message":{"lang":"en-US","value":"The update condition specified in the request was not satisfied.\nRequestId:2e975669-1ba2-438d-bd6f-c01598e7adbc\nTime:2021-03-25T00:01:34.684Z"}}}
0

Storage emulator
Request
DELETE http://<IP_ADDRESS>:10002/devstoreaccount1/testjobdefinitions(PartitionKey='F6000',RowKey='BackgroundJobsCIT_6537b9c3-631c-4b99-974d-5e95b99ae919')?sv=2018-03-28&sig=KOieaAP3G3wj%2FIimXTYGFnAgw6xezn0h4ASmqxyuL6g%3D&se=2023-03-24T23%3A59%3A15Z&srt=sco&ss=bqt&sp=racupwdl&timeout=30 HTTP/1.1
User-Agent: ResourceStack/<IP_ADDRESS>5
x-ms-version: 2018-03-28
x-ms-client-request-id: d8f27dfd-b88a-482a-9ca9-5ce498c2915a
Accept: application/json;odata=nometadata
If-Match: test
Host: <IP_ADDRESS>:10002
Content-Length: 0

Response
HTTP/1.1 400 Bad Request
Transfer-Encoding: chunked
Content-Type: application/json;odata=nometadata;streaming=true;charset=utf-8
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: f4b294d3-d305-43f9-b2aa-fa50b29815b7
x-ms-version: 2018-03-28
X-Content-Type-Options: nosniff
Date: Wed, 24 Mar 2021 23:59:16 GMT

12B
{"odata.error":{"code":"InvalidInput","message":{"lang":"en-US","value":"The etag value 'test' specified in one of the request headers is not valid. Please make sure only one etag value is specified and is valid.\nRequestId:f4b294d3-d305-43f9-b2aa-fa50b29815b7\nTime:2021-03-24T23:59:17.0532724Z"}}}
0

IMO Azurite returning 412 seems correct to me for this scenario. However, this means there is a difference between Azurite and storage emulator's behavior.
Steps to reproduce the issue?
Please see the request response logs above.
Have you found a mitigation/solution?
No

@XiaoningLiu - I was able to confirm that the service also validates the etag and responds with a bad request, I shall update our response accordingly.


Confirm message for HIVE powerup

Hello there,
I'm frequently using hive keychain to powerup HIVE for contest members. Now the problem for me is that there is no confirm message for powerups and I worry that one day, I power up 1000 HIVE instead of 100 HIVE for example, so it would be great to have a confirm popup like on transfer.

This has been implemented in the refactored version of our extension which should be live sometime next month.


Prevent dot_path tests from corrupting the stored path.

replaces #2220
same code, but targeted at v1.11.x

FYI you can change the target of a PR by clicking edit next to the PR title and selecting a new target branch from the drop-down menu. This way you don't lose any comments etc.

FYI you can change the target of a PR by clicking edit next to the PR title and selecting a new target branch from the drop-down menu. This way you don't lose any comments etc.

Hi @ajdawson
i know about this and I tried it, but there is a commit history confusion in this case, which I don't quite follow, which made this approach not work, hence this separate PR


Add Gemfile

Add development dependencies to gemspec
Add Gemfile.lock to .gitignore

I did this locally and then after bundling, hub no longer works for me in that gemset


(MCO-815) Correctly determine reply status in all modes

When JSON serializers are enabled the result needs to be processed by
the rpc_result_from_reply method to be processed into the right format
based on the DDL
The methods that determined the reply status though acted on the
unconverted raw data and so would incorrectly determine the reply failed
when it did not

CLA signed by all contributors.


Aleaverfay/pose building interface

This PR creates an interface to tmol so that NN packages can output coordinates and residue-type information for run-of-the-mill proteins in a canonical form and then construct a PoseStack object needed for score function evaluation. There are a few features/drawbacks here worth mentioning:

chemical type resolution for HIS and CYS is handled by this code
if hydrogen atoms are not provided, their positions can be computed
termini variants are not yet handled
the HIS and CYS chemical resolution steps are handled on the CPU and will later become faster

Details:
HIS chemical type resolution:
Histadine (at neutral pH) exists in one of two tautomerization states (90% of the time): 1) where the NE2 nitrogen is protonated and the ND1 nitrogen is not, and 2) where the ND1 nitrogen is protonated and the NE2 nitrogen is not. There are four possible ways that tmol will resolve this ambiguity:

the user provides either the HD1 or the HE2 hydrogen coordinates (but not both) and tmol selects the corresponding tautomerization state
the user provides a coordinate for "HN," a stand in for the hydrogen that is chemically bound to one of the HIS's two nitrogens; tmol will use the distance of HN to ND1 and to NE2 to and will declare the tautomerization state based on the shorter of the two
the user provides the coordinates for three atoms "HN", "NH" and "NN" which are stand-ins for the hydrogen attached to the nitrogen, the nitrogen attached to the hydrogen, and the nitrogen that is not attached to the hydrogen. The distances between NH and NN and the ring's CG atom are used to decide which of the two tautomerization states the ring is in.
the user provides only the heavy-atom coordinates, in which case the code chooses the NE2-is-protonated tautomerization state.

CYS disulfide detection:
Disulfides are detected by distance between SG atoms with a maximum detection distance of 2.5A. The algorithm is greedy: cysteine residues are iterated across in order in an outer loop (i) and again in an inner loop (j). The closest distance between SG on CYS i and any other as-of-yet-unpaired CYS j within 2.5A is found and a disulfide bond declared between i and j. This does not guarantee that the largest number of possible disulfides is found; if res 1 and 3 have a distance of 2.2A and 1 and 2 has 2.4A, and 3 and 4 have a distance of 2.4A, e.g. then the largest number of disulfides would be formed when 1 and 2 are paired and 3 and 4 are paired. This algorithm, however, will pair residues 1 and 3. Also of note: if the order of the residues changes, but their distances do not, so that 1 and 2 have a distance of 2.4A and then 2 and 3 have the distance of 2.2A, (and cysteines 3 and 4 continue to have a distance of 2.4A) and for sake of argument the other pairs have distances > 2.5, then the 1-2 disulfide will be found first, and therefore the 3-4 disulfide will also be found later.
It is currently not possible to tell tmol which pairs of CYS residues should be disulfide bonded, but will be in the future.
H-placement:
If hydrogen atoms are missing, they will be built from ideal coordinates wrt heavy atoms. This is a fully-differentiable process so derivatives wrt the score function that apply to the hydrogen atoms get converted into derivatives for the atoms that define their coordinates. In the case of HIS, the NE2-protonated tautomerization state is chosen; in the case of SER, THR, CYS, and TYR, the hydroxyl's dihedral angle is assigned to 180. Future versions of this code will make more intelligent decisions on how to choose the dihedral angle, e.g. by looking for nearby hydrogen bond acceptors.
Currently there is no way to build missing heavy atom coordinates, even if their position could be inferred from other heavy atom coordinates, e.g. for backbone oxygen atoms.

FWIW, the "x" that's on codecov is from my disabling the unit testing of the packer / simulated annealing code. That code is not exactly dead, but it needs a lot of work before it's useful. The other code in the PR is pretty well covered.


Add HKStatisticsCollectionQuery

HI @robertherber - I'm building an app where I'd like to show step counts by day for the last 30 days (or year etc.)
I think the right way to do this is using a HKStatisticsCollectionQuery where interval is something like day = 1.  I haven't tested against a real user with lots of step data but I'm guessing calculating it via step samples will be too slow.
Curious if you agree with the above statement?  If so, I'm happy to work on adding that API to the library.
Thanks again for putting this library together, very well designed and I've learned a lot about Swift, HealthKit and native module dev from it!

Hi @davidyang,
I guess it would probably be technically possible with step count samples, but to creating a responsive UI straight from the HealthKit query would probably be quite slow.
So sounds like a great idea, would be happy to merge such a PR! :)

Hey @robertherber - I put together a pull request https://github.com/davidyang/react-native-healthkit/tree/addStatisticsCollection - would love your opinion on if it's the right path.  I'm able to get it working with some hacky updates to the example app (I think because I have Xcode 15).  I had to update some target_versions and Podfiles.

Hi,
WIll this be added in the near future? that would be very interesting for me as i am building an app that would benefit by loading the statistics from healthkit and not all the samples.

Thanks for @taisuke-j and @davidyang for contributing this one, merged with #111!


Bug: sonic search backend errors during archiving and in UI (Temporary failure in name resolution)

Describe the bug
I am using docker-compose to work with archivebox. After downloading docker-compose.yml, I uncommented the lines
            - SEARCH_BACKEND_ENGINE=sonic     # uncomment these if you enable sonic below
            - SEARCH_BACKEND_HOST_NAME=sonic
            - SEARCH_BACKEND_PASSWORD=SecretPassword

as instructed by the documentation and config file, and downloaded the sonic.cfg file.
However, while archiving I see numerous errors like
[!] Sonic search backend threw an error while indexing: gaierror [Errno -3] Temporary failure in name resolution

in the console. In the user interface, search result quality seems poor, and every search also results in a yellow box that states:
Error from the search backend, only showing results from default admin search fields - Error: [Errno -3] Temporary failure in name resolution

When I say search result quality seems poor, I mean:

Some keywords I am nearly certain should return results return 0 results
Many multi-word phrases I have tried return 0 results, even when the phrase is literally in the title of documents that have been archived.

It's hard to give example of this so maybe take it with a grain of salt. The numerous errors seem problematic, though.
Steps to reproduce

Follow the instructions here to set up archivebox using docker-compose
Create a text file named urls.txt and add several URLs to it, one per line
cat urls.txt | sudo docker-compose run archivebox add
Watch the console output and observe the error [!] Sonic search backend threw an error while indexing for each item indexed
Perform a search in the GUI and observe the error Error from the search backend, only showing results from default admin search fields in a yellow box at the top of the search results page:

(that is not meant to be an example of results quality! just a visual of how the error looks in the UI).
(steps 2-3 are what I myself did, but I think the same issue would arise in any workflow that added URLs)
Screenshots or log output
An an example from the console output:
[+] [2021-05-14 15:19:32] "www.47deg.com/blog/basic-recursion-schemes-in-scala"
    https://www.47deg.com/blog/basic-recursion-schemes-in-scala/
    > ./archive/1621003894.469714
      > title
      > favicon
      > headers
      > singlefile
      > pdf
      > screenshot
      > dom
      > wget
      > readability
[!]  It turns out I've had a baby in the meantime (!), which affects where I spend my time.

Going to close this as stale for now. Feel free to comment back if you or anyone else sees the same issue and I'll re-open it.


update(roles): ui styles update

Description
Roles feedback changes
Why
To enhance
Issue
Ref: CPLP-1563
Checklist
Please delete options that are not relevant.

[ ] I have followed the contributing guidelines
[ ] I have performed a self-review of my own code
[ ] I have successfully tested my changes locally

Changelog is already updated in previous PR


Difference between param from @ and from CLI

Background
I use haproxy-exporter, which in turn relies on kingpin for parameter parsing.
Expected Behaviour
Parameters, that are read from the CLI and from an @<file> behave the same.
Current Behaviour
At least for the following parameter, there seems to be a difference:
$ haproxy-exporter @/etc/haproxy-exporter/config
INFO[0000] Starting haproxy_exporter (version=, branch=, revision=)  source=haproxy_exporter.go:476
INFO[0000] Build context (go=go1.8.3, user=, date=)      source=haproxy_exporter.go:477
FATA[0000] parse "http://foobar:blabla@localhost:1936/stats;csv": first path segment in URL cannot contain colon  source=haproxy_exporter.go:481
$ cat /etc/haproxy-exporter/config
--haproxy.scrape-uri="http://foobar:blabla@localhost:1936/stats;csv"
$ haproxy-exporter --haproxy.scrape-uri="http://foobar:blabla@localhost:1936/stats;csv"
INFO[0000] Starting haproxy_exporter (version=, branch=, revision=)  source=haproxy_exporter.go:476
INFO[0000] Build context (go=go1.8.3, user=, date=)      source=haproxy_exporter.go:477
INFO[0000] Listening on :9101                            source=haproxy_exporter.go:502

Quotes on the command line are for the benefit of the shell. In the configuration file they are read as literal quotes.

Thanks, that was indeed the problem.


Introduce snapshot tests

Please avoid such repetitive and unclear commits like. Our commit tree becomes pretty messy :disappointed:
You can do that with interactive rebasing and squash/fixup commits together.


Implement subtract group

I noticed this feature without much of a description in the release notes. Do I assume correctly that this feature can be used to calculate the "remaining" energy use by subtracting all groups from the net meter value?

I noticed this feature without much of a description in the release notes. Do I assume correctly that this feature can be used to calculate the "remaining" energy use by subtracting all groups from the net meter value?

See: https://docs.powercalc.nl/sensor-types/group/subtract/

Awesome 👍
May I suggest to add more links to the documentation to the release notes? Keep the good work ❤


Core level load mechanic

I've fiddled with the existing nodes and used Level1 & Level2 as
test beds. Level2 was actually named Level3, but I renamed some
some nodes to keep consistency.
The idea is very simple, there's an Area2D (called Exit) that
behaves like a portal, which has an export variable that points
to the next level (on the disk) to be loaded.
When the Player is detected by the Area2D LevelLoader.trigger gets
called.
LevelLoader is now an autoloaded script which keeps track of the game
node, the player node and the current level.
When the game first starts the game node also uses LevelLoader to load
the start level, instead of having it present in the scene tree by
default.
note: I had to mess with the nodes like I said so let me know if there's
any conflicts I can help with.

@NathanLovato I also commited Hook.gd by mistake, don't include that in the commit, or... is there a way to uncommit it? :). That's part of another "fix" I was working on since I noticed some small issues


Not recognizing websocket routes

My simple websocket test based on the example code is not working. The server simply disconnects without transmitting anything the same way it does if you don't have a route defined for regular HTTP methods without a catchall.
void APIServer::runSocket() {
      struct PerSocketData {
          int x;
      };
     uWS::App().ws<PerSocketData>("/echo", {
        /* Settings */
        .compression = uWS::SHARED_COMPRESSOR,
        .maxPayloadLength = 16 * 1024,
        .idleTimeout = 10,
        .maxBackpressure = 1 * 1024 * 1204,

        /* Handlers */
        .open = [](auto *ws, auto *req) {
            /* Here you can use req just like as for Http */
            spdlog::info("websocket open");

        },
        .message = [](auto *ws, std::string_view message, uWS::OpCode opCode) {
            spdlog::info("websocket message: {}",message);
            ws->send(message, opCode);
        },
        .drain = [](auto *ws) {
            /* Check getBufferedAmount here */
        },
        .ping = [](auto *ws) {

        },
        .pong = [](auto *ws) {

        },
        .close = [](auto *ws, int code, std::string_view message) {
            spdlog::info("websocket close");

        }
    }).listen(8001, [this](auto *listenSocket) {

        if (listenSocket) {
            this->socketListenSocket = listenSocket;
            spdlog::info("Listening on port 8001");
        } else {
            spdlog::error("unable to listen on port 8001");
        }
    }).run();
}

Facts:
Tested on v0.17.5 and HEAD
I'm trying to connect from a javascript socket.io client and curl.
I'm able to serve regular HTTP routes just fine and don't understand why my ws route is not being handled.

My bad. I naively thought uWebsocket would support a connection that began in polling mode. Limiting the transport to websocket functions as expected.

Socket.IO is a non standard proprietary protocol that's a 90's mix between http hacks and websockets and even formerly Adobe flash sockets.
This library communicates only with vanilla html5 websockets, you shouldn't have any client side JavaScript library

Yeah I worked all that out. Thanks Alex.


Document recommendations around semantic conventions

Proposal: https://github.com/signalfx/gdi-specification/discussions/93

@signalfx/gdi-java-maintainers @signalfx/gdi-go-maintainers @signalfx/gdi-js-maintainers PTAL ^

|In the javaagent we already use telemetry.auto.version = splunk-0.11.0-otel-1.2.0 - this version is propagated to all othel instrumentations present in the javaagent. I fear that if we make this convention required (and I agree that it makes more sense to distinguish between instrumentation library, the agent and our distro) there's no way that we'll fix this in the javaagent for GA.

... here's no way that we'll fix this in the javaagent for GA.

Could you clarify this a bit more? Why can't we fix it in javaagent? Because of it being a "breaking change" or some other technical reason? I don't think this is a breaking change since semantic conventions are not considered stable yet AFAIK.

this version is propagated to all otel instrumentations present in the javaagent
Out of curiosity, wouldn't this just be added to the resource set on the global provider just once instead of passing down to all instrumentations?

Could you clarify this a bit more? Why can't we fix it in javaagent? Because of it being a "breaking change" or some other technical reason?

We can, but currently it's a bit of a mess in the javaagent: we basically take Implementation-Version from the Jar manifest and use it everywhere we can, without any distinction between instrumentation libraries, agents and what not.
So when we set our own Jar version it's then automagically passed everywhere.

Out of curiosity, wouldn't this just be added to the resource set on the global provider just once instead of passing down to all instrumentations?

Yeah, we could just add a new Resource with splunk.distro.version = 0.42.0 and that would work fine - but that would not change the fact that telemetry.auto.version and instrumentation library versions are just taken from the jar.

Thanks for the explanation. I think we can treat "fixing" telemetry.auto.version as a separate work item and do it independently. TBH it might not even require fixing in case of splunk-otel-java as it probably reflects reality already i.e, splunk-otel-java ships it's own instrumentation agent and we record it's version.
So IMO, we just need to add splunk.distro.version attribute to the global tracer provider's resource to comply with the proposed spec requirement.

I think we can treat "fixing" telemetry.auto.version as a separate work item and do it independently.

👍


Delete genesisSlotNo and genesisBlockNo

These two functions should be gone for two reasons:

They are very confusing. genesisPoint (admittedly not defined here, but in ouroboros-network) refers to the point corresponding to the genesis config, i.e., before the first block on the chain. By contrast, genesisSlotNo and genesisBlockNo refer to the first block on the chain. This has led to a host of off-by-one errors.

Nothing in the core infrastructure should depend on the exact values of the slot number and block number of the first block on the chain. Instead, such details should live in specific ledger implementations (Shelley, Byron, whatever).

This was closed in https://github.com/input-output-hk/cardano-base/pull/79.


Make this a proper Python package and command-line tool

I'm interested in turning this into a regular Python package (using setuptools), which would make it easier to install (e.g. using pip) and more convenient to use (e.g. running skymusic from any directory, rather than python main.py from the source directory). For the same reasons, I'd also like to add a few command line options, such as specifying the output directory.
I threw together a simple setup.py (see this branch), but I ran into some issues that prevent it from working. And without a few significant changes to the project, I don't think it can be made to work.
Package directory structure
Because the root package is in the python directory, setuptools only recognizes it as a package named "python." There is an option (package_dir) that is supposed to fix this, but other parts of the library don't work when using it.
The solution to this is to rename the python directory to something more suitable, or to move everything in it into a subdirectory (e.g. python/skymusic). The second option is likely best, as it allows other top-level packages to be added later without cluttering the project's base directory.
There is one workaround I thought of: during the execution of setup.py, it could copy the entire directory into one with a better name, and then use that one as the package source before deleting it.
Resource files
The other issue is that the project's resource files (and output directory) are all accessed using hard-coded paths relative to project or source code. This makes it harder to include the resources in the package with setuptools, and it makes it harder to run the program from another directory.
The best solution would be to use importlib.resources to manage resource access. This would require Python 3.7 or newer, or the backport importlib_resources.

The biggest issue with this might be that it requires the resources to be located in the Python source directory, which means they would all need to be moved.
Proposed changes
Basically, I'm proposing that the project use a more-standard Python directory structure to facilitate its use as a command-line tool.
The changes I'm proposing would result in a directory structure something like this:
/
├── .gitignore
│   ⋮
├── setup.py
└── src/
    └── skymusic/
        ├── __init__.py
        │   ⋮
        ├── instruments.py
        └── resources/
            ├── __init__.py
            ├── css/
            │   ├── __init__.py
            │   ├── main.css
            │   └── warning.css
            └── elements/
                ├── __init__.py
                ├── A-circle.png
                │   ⋮
                └── unhighlighted-chord.svg

With this, structure, you can access resources using importlib.resources. The easiest way to convert a lot of the current resource accesses might look something like this:
from importlib import resources
import io
from PIL import Image

Image.open(io.BytesIO(resources.read_binary(
    'skymusic.resources.elements', 'A-circle.png'))

(You could skip the use of BytesIO by using resources.open_binary, but it might cause memory leaks (but not significantly more than you get from not closing Images).)
Benefits
The main benefit of making the project into a package is that it could be installed (along with its dependencies) using pip and run as a shell command.
$ pip install git+https://github.com/sky-music/sky-python-music-sheet-maker.git
...
$ skymusic
===== VISUAL MUSIC SHEETS FOR SKY:CHILDREN OF THE LIGHT =====
...

I support changing the repository structure, (I appreciate notice on best practices and contributions like these a lot) yeah we will have to do it afterwards

Yes, but we’ll have to get the work in the dev branch done first. Indeed, we have decided to maintain only one code, which has to work on both Discord and stdout. This code is currently being written in the dev branch.

I'll assign myself the task of migrating our project to a more standard directory structure.
(This may take a while, amongst other things I have to do. but I'll post updates)

Yes but Tracey, before doing that and the order thing, could you please pull dev to beta?


Some new features

I like your project as I am building a research GPT. Following features will add value:

Add a relevance score logic for top 20 citations. Score can be generated based on keyword matching percentage.
For a given sentence (which a researcher might know through expert knowledge in the area), Get relevant citations to back the statement. This will be a very useful feature in LR.
Shortlist and save papers. Find research gaps in shortlisted papers and summarize them.

Please see if you can implement them. We can also collaborate if you are ready. I am ready to code some of these features.

Hi, thank you for the interesting suggestions. I'll try to figure out how to integrate them into AutoResearcher's roadmap. Will keep you posted!


Update zio, zio-stacktracer, zio-test, ... to 2.0.14

About this PR
📦 Updates

dev.zio:zio
dev.zio:zio-stacktracer
dev.zio:zio-test
dev.zio:zio-test-sbt

from 2.0.0 to 2.0.14
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (2.0.0).
You might want to review and update them manually.
build.sbt

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #225.


Deploy catalyst with Capistrano

This changes the catalyst_install playbook
to use Capistrano for deploying the rails app.
The basic strategy for the deployment is cloning
the git repo to the home folder of the user who
is deploying. The user needs to be in the catalyst
group.
In that folder a localhost cap deploy is ran
that deploys to /opt/catalyst. That directory needs
read/write permissions for the catalyst group.
The apache virtualhost config needs to point to
/opt/catalyst/current/public. Capistrano creates the
current symlink to point to the latest release. It
keeps 5 releases that can be rolled back to.
This commit also tightens up the install for yarn and
webpack, which need to be installed before rails assets:precompile
is ran as part of the deploy process. Those installs
use conditionals so that they will only be installed if they
are not already present.
This should only be merged when the capify branch
for catalyst-blackight has been merged.

This works with the capify branch in catalyst-blacklight.
Further instructions are at: https://jhulibraries.atlassian.net/wiki/spaces/CATALYST/pages/825655305/Deploying+Catalyst+with+Capistrano+and+Ansible

There is now a conflict with the new change on bundler module.

@jwang40 I resolved these in my local branch and am testing against stage. I'll push those changes up when I
am able to deploy successfully.

@jwang40 The conflicts have been resolved and I was able to run this successfully on stage. Are you ok to merge this? If we merge this I'll go ahead and merge the capify branch over at catalyst-blacklight.

@jwang40 The conflicts have been resolved and I was able to run this successfully on stage. Are you ok to merge this? If we merge this I'll go ahead and merge the capify branch over at catalyst-blacklight.

Looks good!


feat: Changed generator title position #548

Fixes Issue by changing generator title position
**My PR closes #548 **
👨💻 Changes proposed(What did you do ?)
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.

Note to reviewers

📷 Screenshots

@Raj100679 use a better title, this isn't your first time contributing here👌🏽

@Dun-sin , Will keep that in mind

@Dun-sin , Will keep that in mind

i'm telling you to change the title to a better one, incase you missed my actual message

@Dun-sin Can you review this?

it's not centred:


BungeeCord Support

How can I enable the BungeePoster to add the serverName to the message? Do I need to package the plugin myself?

 Placed it on the proxy and it works :)


feat: Add retention options for task_history config

🗣 Description

Added some more default wrappers for task_history config values, because serde doesn't respect the Default derive
Added config options for retention_period and retention_check_interval
Use humantime to parse duration as seconds from the config input
Update TaskHistory to accept configurable retention check and interval as seconds, powered from the config values.

🔨 Related Issues

Closes #2755
Closes #2754

https://github.com/spiceai/spiceai/pull/2783 should get merged first so this target can reset to trunk


Setting $indexOptions ['skipCreateModal']  to true seems to do nothing

Description
I don't want to show the modal on creating a new item.  On pressing the "new" button the form is opened and the modal is displayed on top.
Steps to reproduce

I've set "skipCreateModal" to true in the $indexOptions of the Controller.
Clicked on the new button above the table

Expected result
The form opens and I see an empty form without the modal on overlaid.
Actual result
The  modal is shown overlaid on the form.
Current solution that I found
    /**
     * Form settings
     *
     * @param [type] $request
     * @return void
     */
    protected function formData($request)
    {
        return [
            'createWithoutModal' => false
        ]
    }

The above code makes sure the create modal is not shown on pressing the new button. Which is weird, you'd expect "createWithoutModal" would have to be set to "true" for this to work.
Versions
area17/twill ^2.0
laravel/framework ^9.19
PHP 8.1.0
InnoDB ROW_FORMAT=DYNAMIC

I understand the confusion and we could certainly come up with a better name, but to clarify, the modal is called the "create" modal. In the index options, you can skip the create modal to go to the form directly. It still opens the modal on top of the form, so that you can set a title before continuing to fill up the form before creating the record. If you want to land on the form and be able to create the record without the modal step, which really is an edge case since everything in Twill is supposed to have at least one column for naming the record, title by default, which is configurables.
To be clear, when you are not skipping the modal on the index, the record is created first, and then the full form saves are updates. Those features were added for developers that didn't want to use nullable columns and enforce users to fill up all fields before creating a record.


[4.2] [Runtime] Don't use NULL as a conformance cache key.

The runtime hash table for protocol conformances is keyed by (type, protocol),
where the type can be either a type metadata pointer or a type context
descriptor. The latter is preferred for generic and resilient types, because
a single entry in the cache can work for any instantiation.
However, not all type metadata has a corresponding type context descriptor.
For example, a class that is dynamically subclassed by the Objective-C
runtime won't have a type context descriptor. In such cases, our key
into the hash table was (NULL, protocol) leading to mistaken
conformances for different dynamically-subclassed types.
Introduce a NULL check for the type of the hash table key, which
illustrates the problem in a number of existing tests that exercise
the runtime, and teach the runtime to use the type context descriptor
as the key only when it's non-NULL, falling back to the type metadata
pointer otherwise.
Fixes rdar://problem/38053213.

@swift-ci please smoke test and merge

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 283eb893e79305a97c0a7b48d05b0db22afa3d5a

Build failed
Swift Test OS X Platform
Git Sha - 283eb893e79305a97c0a7b48d05b0db22afa3d5a


go/build: sourcehut requires characters considered unsafe for cgo names

build.go has a set of safe characters which can be present in CFLAGS:
https://github.com/golang/go/blob/c290cb6338fe9ce7d8ade3adbb4acd0f0e6172e4/src/go/build/build.go#L1553-L1559
Sourcehut packages always have ~ in the URL, and in the future will likely have ^ as well. Importing a package from sr.ht which uses ${SRCDIR} in its CFLAGS accordingly causes this error:
widgets/terminal.go:11:2<EMAIL_ADDRESS>malformed #cgo argument<EMAIL_ADDRESS>
~ has a special meaning in the shell, but it is URL safe and, per the comments in build.go, this string is never expanded with a shell.
EDIT: added permalink

ping @ianlancetaylor

Bump? This should be easy to fix, is definitely a bug in golang, and shows unfair favoritism towards other platforms.

Want to send in a patch?

I don't really want to sign the CLA to be honest :/ I've pointed out the line of code which needs updating and it should be a one-line change.

Please note that these changes often aren't a trivial one-line fix. At minimum, it should include a small regression test. And the author should ensure that no other features or tests break because of the change.

Please note that these changes often aren't a trivial one-line fix. At minimum, it should include a small regression test. And the author should ensure that no other features or tests break because of the change.

Yeah, I know. The point I was getting at is that this is about as simple of a change as Golang can get. Thanks a lot for putting up the patch, I appreciate it!

Thank you!

This also affects 8.3 short path on Windows. Glad to see it was fixed.
--- FAIL: TestScript (0.01s)
    --- FAIL: TestScript/mod_case_cgo (0.31s)
        script_test.go:183:
            > [!cgo] skip
            > env GO111MODULE=on
            > go get rsc.io/CGO
            [stderr]
            go: finding rsc.io/CGO v1.0.0
            go: downloading rsc.io/CGO v1.0.0
            go: extracting rsc.io/CGO v1.0.0
            package rsc.io/CGO<EMAIL_ADDRESS>malformed #cgo argument<EMAIL_ADDRESS>            [exit status 1]
            FAIL: testdata\script\mod_case_cgo.txt:5: unexpected command failure


Understanding the outcomes of Google Summer of Code

Dear Lihang Li,
I am a Ph.D. student at the University of São Paulo (Brazil). We would like to understand how and how much Open Source Communities benefit from participating in Google Summer of Code (GSoC). We believe that your experience in GSoC is valuable and could help us achieve that. In a 1-minute questionnaire, we would like to know:
Concerning the project entitled "Structure reconstruction using kinect2 device" developed in GSoC 2015.

Do you have a GitHub repository for the GSoC project? If so, could you provide us with the link to the project?

Have you continued committing code or opening issues to the GSoC project after GSoC? (Yes / No) If so, code, issues or both?

Have you continued committing code or opening issues to other OSS projects after GSoC? (Yes / No) If so, code, issues or both?

Could we use aggregate data from your participation in GSoC and other OSS projects in our research?

The following link contains a sample of our work and how we would use your data:
https://ieeexplore.ieee.org/document/8094410/
Regards,
Jefferson

Non-related to this project.


RHIDP-2912 Missing items in catalog or software templates

@josephca Could you please review this additional known issue requested by Christophe.
The associated Jira is https://issues.redhat.com/browse/RHIDP-2912


cmake(bugfix):add xtensa libc machine function build

Note: Please adhere to Contributing Guidelines.
Summary
Update this section with information on why change is necessary,
what it exactly does and how, if new feature shows up, provide
references (dependencies, similar problems and solutions), etc.
Impact
Update this section, where applicable, on how change affects users,
build process, hardware, documentation, security, compatibility, etc.
Testing
Update this section with details on how did you verify the change,
what Host was used for build (OS, CPU, compiler, ..), what Target was
used for verification (arch, board:config, ..), etc. Providing build
and runtime logs from before and after change is highly appreciated.

[Experimental Bot, please feedback here]
This PR template itself meets the NuttX requirements by providing a structured framework that encourages contributors to address all the necessary points.  However, a PR is only considered complete when a user fills out all the sections with specific details relevant to their changes.  An empty template like this does not meet the requirements.
Specifically, the template prompts for information related to:

Summary:  Clear explanation of the change's purpose, functionality affected, and implementation details.  Linking related issues is crucial for context and traceability.
Impact:  Comprehensive assessment of the change's effects on various aspects of the system, including user experience, build process, hardware compatibility, documentation, security, and other potential considerations.
Testing:  Evidence of thorough testing, including details about the build host and target environments, along with comparative logs demonstrating the change's impact.

By requiring contributors to address these points, the template ensures that PRs are well-documented, thoroughly tested, and easier for reviewers to evaluate.  Therefore, the template itself facilitates meeting the requirements, but it's the content provided by the contributor that ultimately determines whether a PR truly fulfills them.


make highlight.io error telemetry work

/bounty 100
https://github.com/highlight/highlight/blob/main/sdk/highlight-rust/highlightio/examples/tokio/src/main.rs
definition of done:

make their SDK work and integrate in screenpipe

project id: 7e30w91e

https://github.com/highlight/highlight/issues/9424

additional note: the SDK shouldn't send logs, only errors, and avoid at all cost leaking any sensitive information


[FEA]: Support different output data types in the HttpSourceStage

Is this a new feature, an improvement, or a change to existing functionality?
Improvement
How would you describe the priority of this feature request
Medium
Please provide a clear description of problem this feature solves
Currently, the HttpSourceStage only supports outputting a MessageMeta object. This is very limiting in situations where some additional metadata needs to be attached to the message that is only available with the HTTP request object.
Describe your ideal solution
Support outputting different data types by the HttpSourceStage class. Ideally, it should be capable of outputting any type which is returned by the endpoint processing lambda. At a minimum, ControlMessages should be able to be generated by this stage.
Additional context
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I have searched the open feature requests and have found no duplicates for this feature request

Ideally, it should be capable of outputting any type which is returned by the endpoint processing lambda.

Both HttpServerSourceStage and HttpClientSourceStage support a payload_to_df_fn method, however the output is a DataFrame.
If we wanted to do this I think there are two options:

Break API compatibility and change this to a payload_to_msg_fn method
Add a second optional method to convert both the payload and the DataFrame to a message.

However currently for HttpServerSourceStage specifying payload_to_df_fn forces the Python impl of the stage (although the server itself is still implemented in C++).
I'm thinking instead doing something similar to what the DeserializeStage does and do:

Add a message_type & task_type constructor arguments
Add a payload_to_task_payload_fn constructor argument. When None a default C++ impl will be used. When not-none the Python source stage impl will be used.


Fix W0631

It would appear that a refactoring operation resulted in some methods referencing variables from their calling function that were not passed as arguments.  Python allows this, but for sanity's sake it's best if function arguments are a bit more explicit.
Relates #838.

Dear github, why dont you let me approve this pull request? What did I do to u? Something I have done is not allowing me to LGTM this in a review, so LGTM in a comment.


Pulling the image from sea.hub:5000 reports an error

Pulling the image from sea.hub:5000 reports an error
http: server gave HTTP response to HTTPS client
You need to modify the /etc/docker/daemon.json file, add { "insecure-registries":["sea.hub:5000"] } configuration, then load the configuration and restart docker
systemctl daemon-reload
systemctl restart docker

Run the installation command again, the installation is complete
# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE   ERROR
etcd-2               Healthy   ok
controller-manager   Healthy   ok
scheduler            Healthy   ok
etcd-0               Healthy   ok
etcd-1               Healthy   ok

Are you using your own docker?

yes i use root user and new machine

Can you create a new env, and install again. If this error occurs again, give us your context.

Sorry, it's my problem, the system image I use has Docker installed by default, and it's not cleaned up, thank you


Also set kSecUseDataProtectionKeychain on read for macos

We were experiencing problems when using synchronizable: false on our Mac setup. After some investigation I found out that despite successfully able to write, even immediately after, the read would not return the updated value. Turns out that setting kSecUseDataProtectionKeychain on write also means we need to set that on read or the value isn't properly found. The docs also recommend setting it to true always and we are doing that on write already, but weren't on the query.
This patch sets that key to true regardless of synchronizable being set fixing the issue for us.

Thank you for your contribution!


Only imports one item

The field mapping and import seems to work fine, only problem is: I only see one post populating. I've rerun command and deleted post only to have just one populated. Don't seem to be getting any errors. I've checked the feed url and see multiple entries. Anybody else experience this? Is there limitation on local dev environment?

Are you able to send through a help request? It may very well be something is incorrect with the primary element or duplication handling.

Ah I think that is it, the field I selected to map to 'Title' was actually not unique. But I also found that by switching the Duplicate Entry Action to 'Delete Entries' allowed all the posts to import. For some reason Update and Add entries selection did not pull every post.
Thanks. Awesome plugin!


osbuilder

Description of problem
(replace this text with the list of steps you followed)
Expected result
(replace this text with an explanation of what you thought would happen)
Actual result
(replace this text with details of what actually happened)

(replace this text with the output of the cc-collect-data.sh script, after you have
reviewed its content to ensure it does not contain any private information).

HI @Oliverlyn - I'm going to presume you know that you didn't post any actual details into the template form?

Hi @Oliverlyn - If the problem relates to the runtime, please provide the data as specified by the template.
If the problem relates to osbuilder, please raise an issue here:

https://github.com/clearcontainers/osbuilder/issues/new

duplicated https://github.com/clearcontainers/runtime/issues/1006 , closing issue
@Oliverlyn feel free to re-open it, if I'm wrong


Improve cli commands

Fixes: https://github.com/Granola-Team/mina-indexer/issues/283, https://github.com/Granola-Team/mina-indexer/issues/269
Improving the ergonomics of the CLI interface phase 1.

@robinbb Ok, I'll make those changes


Run DPO step with multibinarized dataset

One important open question, especially for distilabel is: does generating more pairs of chosen/rejected samples improve the DPO process. Both Notus, Zephyr and Tulu, just use the best chosen and a random rejected.
We need to run an experiment to better understand how multibinarization impacts the model.
The dataset is ready:
https://huggingface.co/datasets/argilla/notus-uf-dpo-multibinarized
It contains pairs with the best chosen response and then several pairs with responses that go a lower rating, so instead of generating just one sample per UF row (choosing a random rejected), we generated >=1<4 pairs

Yes, I think it's going to be an insightful experiment! I've created a milestone for it https://github.com/argilla-io/notus/milestone/2 (note it's v1.2 as I was planning to re-run everything for v1.1 using the dataset curated in combination with AllenAI at https://huggingface.co/datasets/allenai/ultrafeedback_binarized_cleaned, see its milestone at https://github.com/argilla-io/notus/milestone/1)

Experiments already ran and fine-tuned model uploaded to argilla/notus-7b-v1.1 fine-tuned using DPO on top of alignment-handbook/zephyr-7b-sft-full using argilla/ultrafeedback-multi-binarized-quality-preferences-cleaned.
See the Weights and Biases logs at https://wandb.ai/argilla-io/notus-7b-v1.1/runs/k3z5agr5?workspace=user-alvarobartt
A potential follow up experiment would be doing a proper train/test split, as with the current approach we may have introduced some of the prompt-chosen pairs into the evaluation set, which shouldn't have affected the training itself, but probably worth at least updating the dataset at argilla/ultrafeedback-multi-binarized-quality-preferences-cleaned with a proper train/test split plus adding the dataset card.


Pktmon support for Wireshark only works for Ethernet interfaces

The support of Wireshark (pcapng) for Pktmon only works if the traffic is captured via Ethernet interfaces.
It has a limitation where it does not work for other types of interfaces like WiFi. The WiFi packets will be "corrupted" in Wireshark as the Ethernet layer content is wrong.
The same issue applies for NetMon support: https://github.com/microsoft/NetMon_Parsers_for_PacketMon/issues/2 (fixed after https://github.com/microsoft/NetMon_Parsers_for_PacketMon/pull/3)
It would be great if this limitation is documented and the issue is reported internally to be fixed in the Pktmon etl2pcap converter.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3828f7bc-8d4e-b9d8-1559-539f0104abc2
Version Independent ID: 5d89969c-3113-6942-ebf1-9388987ca054
Content: Pktmon support for Wireshark (pcapng)
Content Source: WindowsServerDocs/networking/technologies/pktmon/pktmon-pcapng-support.md
Product: windows-server
Technology: networking
GitHub Login: @khdownie
Microsoft Alias: wscontent

@pleonex thanks for reporting this. I don't work on the Windows Server team anymore and probably shouldn't be listed as the contact for this article. @grcusanz may be able to help.

Any update on this?
I did some digging and came across this blog where the author mentions

Perhaps surprisingly, the “pktmon etl2pcap” command (“Convert pktmon log file to pcapng format”) only produces a useful PCAPNG file if the packets were captured on an Ethernet/802.3 link. If packets were captured on a WiFi/802.11 link, the resulting PCAPNG packet is recorded as having been captured on an Ethernet link; since the datalink headers are different in content and length, a tool like Wireshark “decodes” the packet data incorrectly.

Based on that info, to temporarily resolve the issue, open the converted pcapng in a HEX editor and change the Link Type that's part of the IDB (Interface Description Block) from Ethernet (0x01) to Raw IP (0x65). See the pcapng specification for details.

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


[dv, spi_host] clkdiv FCOV fix

Currently the covergroup sampling the clock divider was ignoring the upper 8-bit of the field.
This PR also includes the upper 8-bit in the sampling

This looks sensible to me. Bizarrely, the upper end got dropped by 7be036f. As far as I can tell, the author just messed it up.
But I notice that before that change there was a coverpoint for 16'hffff. Should we be restoring that? (instead?)

I don't have a strong preference. It depends of what we care about. IMO my suggestion gives greater coverage granularity over the entire 16-bit range. You could even argue for me to add an upper range bin at ffff to be consistent with the lowest bin.
The one in the commit that you mention would most likely make easier to close coverage at the cost of less granularity of stimulus

Well, would you mind throwing in a "max" bin as well? I don't think I can see anything that shows we definitely don't want it, and I strongly suspect that it was removed by accident. We can always drop it on purpose in future (with reasoning) if w change our minds!

Sure -  change is in now!


Generic resource support in KamletBinding / Binding

Context
I did some experiments with Crossplane  which allows to orchestrate resources across cloud providers by creating custom resources, as example wit the following CRs:
apiVersion: s3.aws.crossplane.io/v1beta1
kind: Bucket
metadata:
  name: foo-my-bucket
spec:
  forProvider:
    acl: private
    locationConstraint: eu-south-1
  writeConnectionSecretToRef:
    name: my-s3
    namespace: default

apiVersion: sqs.aws.crossplane.io/v1beta1
kind: Queue
metadata:
  name: foo-my-sqs
spec:
  forProvider:
    region: eu-south-1
  writeConnectionSecretToRef:
    name: my-sqs
    namespace: default

Will result in an SQS queue and S3 bucket being created on AWS and the nice thing is that the status sub resource of those resources, reports information about the resource, as example, the status for the queue defined above is:
  status:
    atProvider:
      arn: arn:aws:sqs:eu-south-1:xxx:foo-my-sqs
      url: https://sqs.eu-south-1.amazonaws.com/xxx/foo-my-sqs

Additional information may be projected to the secret defined by the writeConnectionSecretToRef property.
Problem
With https://github.com/apache/camel-k/issues/2625, we want to rename  KameletBinding to Binding as a binding is a generic concept that goes beyond kamelets, however the underlying machinery could still be leveraging a kamelet to perform the actual wiring but the issue is that as today we have to introduce ad hoc support for any new resource we want to support which is unmaintainable in the long run.
Proposed solution
Crossplane has a concept of composite resources which allows to compose a number of managed resources so that you can build your own APIs without introducing any new controller/operator. One part of the composition is about to bind a field of the newly crafted API to the underling managed resource and a similar approach can be used to be able to dynamically configure a kamelet from an arbitrary CR
As example, assuming we write a binding to wire the resources created in the example above:
apiVersion: camel.apache.com/v2
kind: Binding
metadata:
  name: sqs-to-s3
spec:
  source:
    ref:
      apiVersion: sqs.aws.crossplane.io/v1beta1
      kind: Queue
      name: my-queue
  sink:
    ref:
      apiVersion: s3.aws.crossplane.io/v1beta1
      kind: Bucket
      name: my-bucket

We can define a new resource (find a better name):
apiVersion: camel.apache.com/v2
kind: KameletResourceBinding
metadata:
  name: crossplane-sqs
spec:
  selectors:
    - apiVersion: sqs.aws.crossplane.io/v1beta1
      kind: Queue
  kamelets:
    - apiVersion: camel.apache.org/v2
      kind: Kamelet
      name: aws-sqs-source
    - apiVersion: camel.apache.org/v2
      kind: Kamelet
      name: aws-sqs-sink
  propertiesRef:
    - name: "queueNameOrArn"
      fromFieldPath: status.atProvider.arn
    - name: "region"
      fromFieldPath: spec.forProvider.region
    - name: "accessKey"
      fromSecretKeyRef:
        nameRef: spec.forProviderwriteConnectionSecretToRef
        key: foo

When camel-k reconciles the binding:

it looks up for any KameletResourceBinding matching the configured resources
it extracts the relevant information from the resources
it generates the route and secrets according

NOTE: secrets management is still to be investigated.

@christophd @astefanutti @squakez @oscerd @valdar what do younthink ?

It looks promising.

Probably a silly question but isn't this what the Service Binding Operator was suppose to do ? Or is this just a better way of achieving binding ? Thanks!

Thinking a little bit more, this could also be useful for the other way i.e. how to bind kamelet properties to i.e. keda in a customizable way (as today such info is part of property definitions in the kamelet)

Probably a silly question but isn't this what the Service Binding Operator was suppose to do ? Or is this just a better way of achieving binding ? Thanks!

FYI, we are working to improve the Service Binding concept which is not so easy to be used (as mentioned by Luca) due to lack of discovering capability, registration of services, easy way to declare the parameters to bind, ...
This is why we are working on a new project called Primaza aimed to improve the service binding, which could be designed (perhaps) top of dapr, .... in order to benefit from some of their features such as:

Service invocation: discovery, etc
Secret management (to better secure the data of a connection by example):
Binding: To be investigated !

This is still relevant.


acct: for local pleroma users incorrectly includes https://

when replying to local users, the mention is incorrect when filled into the compose box of the form username@https://domain.tld -- this breaks the mention.
when enabling "show mention as full acct" in appearance settings, mentions of local users are shown as username@https://domain.tld -- this is purely a visual error

perhaps, host should not be determined from the api -- it should be determined from user input when logging into the account? or check for https:// and remove it otherwise.

fixed


33% smaller SVG logo

Almost lossless optimization:

Thanks! Sorry this slipped through the cracks.

Looks like this on firefox Android..


Error on invalid file

I'm not sure this is a valid issue; reporting it just in case...
I'm running Goose on a large set of web pages, a few of which are accidentally pdf files.
In most cases, this gives the expected nonsensical results, with Goose trying to pull text from the raw pdf naively.
But, one file throws an exception:
Goose().extract("https://dspace.mit.edu/bitstream/handle/1721.1/5864/AIM-187.pdf")

Parser lxml failed to parse the content
Parser soup failed to parse the content
Traceback (most recent call last):

...

  File "/Users/deg/Documents/hobby/vuagain23/va_backend/.venv/lib/python3.11/site-packages/goose3/parsers.py", line 53, in fromstring
    encoding = get_encodings_from_content(html)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/deg/Documents/hobby/vuagain23/va_backend/.venv/lib/python3.11/site-packages/goose3/text.py", line 40, in get_encodings_from_content
    content = content.decode()
              ^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe2 in position 10: invalid continuation byte
...

So:

Is it reasonable and expected that callers of Goose() should be responsible for catching deep errors like these?
Obviously, I really don't want to run Goose on PDF files. But (short of trusting the URL's file extension, or doing the full HEAD/GET/errorHandling dance) I have no easy way to recognize the problematic files. Does Goose offer any way to short-circuit inappropriate files?

This is currently out of scope for goose3 and it is the user's responsibility to catch these errors. If there are suggestions on how goose3 could control this, PRs and example code would be helpful!


Webpack has been initialised using a configuration object that does not match the API schema.

Submit a feature request or bug report

[x] I've read the guidelines for Contributing to Roots Projects
[x] This is a bug report
[x] This request isn't a duplicate of an existing issue
[x] I've read the docs and NPM Debugging Guidelines post and followed them (if applicable)
[x] This is not a personal support request that should be posted on the Roots Discourse forums

What is the current behavior?
After a fresh npm install, Webpack complains about configurations objects that don't match the API schema.
What is the expected or desired behaviour?
No errors out of the box

Bug report
Ran npm start as well as npm run build with the same errors.
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property 'enforceExtensions'. These properties are valid:
   object { amd?, bail?, cache?, context?, devServer?, devtool?, entry, externals?, loader?, module?, name?, dependencies?, node?, output?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
 - configuration.entry['files'] should be one of these:
   string | [string]
   The entry point for one output file.
 - configuration.entry should be one of these:
   object { <key>: string | [string] } | string | [string]
   The entry point(s) of the compilation.
 - configuration.module has an unknown property 'preLoaders'. These properties are valid:
   object { rules?, loaders?, noParse?, unknownContextRequest?, unknownContextRegExp?, unknownContextRecursive?, unknownContextCritical?, exprContextRequest?, exprContextRegExp?, exprContextRecursive?, exprContextCritical?, wrappedContextRegExp?, wrappedContextRecursive?, wrappedContextCritical? }
   Options affecting the normal modules (`NormalModuleFactory`).

OS: OSX El Capitan
NPM/Node version: 3.10.3/6.5.0

Webpack has just release beta.23 which brings breaking changes to the configuration structure.
I'd suggest to stick with beta.22 for the time being.

We specify beta 22 in package.json. Use that.

As far as I can tell, you specify anything above "webpack": "^2.1.0-beta.22" rather than forcing an absolute version (by removing the ^) which would solve this issue in the short term.

Oh, you're absolutely right. I forgot I did that.
If you want credit for it, feel free to submit a PR, otherwise I'll go ahead and handle it later today.

👍  PR submitted

Guessing this still wasn't implemented in the latest alpha—as I just deleted the ^.
Thanks craigmdennis!

can some one help me here: this is the error i'm getting
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.

configuration.module.loaders[0] has an unknown property 'text'. These properties are valid:
object { enforce?, exclude?, include?, issuer?, loader?, loaders?, oneOf?, options?, parser?, query?, resource?, resourceQuery?, compiler?, rules?, test?, use? }