missing Content-Length header

I've been wondering for the longest time why this library doesn't work with most clients.
i finally figured it out now. In ClientGrpc.{unaryToUnary, unaryToStream} a body is computed, but since it's streaming, the library doesn't stop to consider how long it is. When the request is passed to the underlying client library, the body is simply dropped because of it.
see for instance org.http4s.jdkhttpclient.JdkHttpClient:
          val rb = HttpRequest.newBuilder
            .method(
              req.method.name,
              if (req.isChunked)
                BodyPublishers.fromPublisher(publisher)
              else
                req.contentLength match {
                  case Some(length) if length > 0L =>
                    BodyPublishers.fromPublisher(publisher, length)
                  case _ => BodyPublishers.noBody
                }
            )

This is at least the case for ember and jdk clients. The netty client did work, and is likely the odd one out without this particular check.
one possible fix is something like this:
  def unaryToUnary[F[_]: Concurrent, A, B]( // Stuff We can provide via codegen
      encode: Encoder[A],
      decode: Decoder[B],
      serviceName: String,
      methodName: String
  )( // Stuff We can apply at application scope
      client: Client[F],
      baseUri: Uri
  )( // Stuff we apply at invocation
      message: A,
      ctx: Headers
  ): F[B] =
    codecs.Messages.encodeSingle(encode)(message).compile.toVector.flatMap { bytes =>
      val req = Request[F](Method.POST, baseUri / serviceName / methodName, HttpVersion.`HTTP/2`)
        .putHeaders(
          SharedGrpc.TE,
          SharedGrpc.GrpcEncoding,
          SharedGrpc.GrpcAcceptEncoding,
          SharedGrpc.ContentType,
          `Content-Length`(bytes.size.toLong)
        )
        .putHeaders(ctx.headers.map(Header.ToRaw.rawToRaw)*)
        .withBodyStream(Stream.emits(bytes))
        .withAttribute(H2Keys.Http2PriorKnowledge, ())

      client
        .run(req)
        .use(resp =>
          handleFailure(resp.headers) >>
            codecs.Messages
              .decodeSingle(decode)(resp.body)
              .handleErrorWith(e => resp.trailerHeaders.flatMap(handleFailure[F]).attempt.flatMap(t => t.as(e).merge.raiseError[F, B])) <*
            resp.trailerHeaders.flatMap(handleFailure[F])
        )
    }

though you may want to use chunks maybe to keep the properties of how it works now.
this is likely the cause of #122 . the consequence of not sending that body is that a successful response will come back with no body, which again breaks some assumptions, and ultimately will leave ember for instance hanging.

This is not the cause of #122. That happens because of ember failed to close the stream when told so by the trailers. This has been fixed in http4s-ember-client 0.23.30. That said, we can include something like this, with encoding to a single chunk. I have a preliminary PR on that here #156

IIUC, there is no strict requirement for clients to have Content-Length sent in the gRPC specification. I quickly checked Ember's H2 client, and it doesn't appear to rely on that header when sending data. @oyvindberg so the root cause for your potential issue with the Ember is something else.

I also find it odd that the JdkHttpClient decides on the presence of the request's body by looking at the Content-Length (I haven't checked this precisely, speaking as per @oyvindberg's assumption). Perhaps that part should be aligned with Ember's approach. @hamnis wdyt?

@hamnis maybe not. The symptoms caused by this problem appeared similar (weird errors like references to GoAway, stack traces pointing to body/trailer handling code, ultimately a hanging state). After applying this fix I can run a bunch of requests using for instance ember client without the fix for #122.

@oyvindberg so the root cause for your potential issue with the Ember is something else.

So I went digging into the source of the jdk client, found this issue, hacked together a fix, and saw that the same fix also made my code work with ember client. I didn't go into ember itself to see.
I suppose the logical thing to do is to write a unit test which threads data through ClientGrpc with different clients and assert that the resulting request have body.

I also find it odd that the JdkHttpClient solely decides on the presence of the request's body by looking at the Content-Length (I haven't checked this precisely, speaking as per @oyvindberg's assumption). Perhaps that part should be aligned with Ember's approach. @hamnis wdyt?
https://github.com/http4s/http4s/blob/v0.23.30/ember-core/shared/src/main/scala/org/http4s/ember/core/Encoder.scala#L135-L139

Yes. Since we are doing a 0.10 series release of jdk http client we should do that now

https://github.com/http4s/http4s-jdk-http-client/pull/1146


duplicate sentence

hi, i noticed this duplicate sentence:
Now, you can add the storage output binding to your project.
Now, you can add the storage output binding to your project.

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

ID: ca7362b2-b991-a5bb-45e8-1e6d9ebb04d5
Version Independent ID: 6dd2cefe-f557-0ca9-c8cc-6b0e2f762a9f
Content: Connect Azure Functions to Azure Storage using Visual Studio Code
Content Source: articles/azure-functions/functions-add-output-binding-storage-queue-vs-code.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@ajonno Thank you for your feedback . We will have this rectified.


Lina has addressed these comments:

I have addressed these comments:
Once we've reviewed the other pull requests, could you:
Remove decisions and evidence that hasn't yet informed the business case
Update the numbering to match the style in the template
Make another pull request

Updated my branch to reflect all pull requests. Going to close all the current pull requests, and start a new one based on my branch.


Added rclc to About-ROS-2-Client-Libraries

merged About-Client-Interfaces.rst and About-ROS-2-Client-Libraries.rst
added section about rclc client library

@clalancette @fujitatomoya Thanks for your feedback. I created a new pull request, that only adds rclc to the list of community-supported client libraries. In a second PR, both pages about the client libraries could be merged later.

All right.  With #2905 open, I'm going to close this one.  Feel free to open a separate one to merge pages later on.  Thanks.


[R] Check warnings explicitly for model compatibility tests

Suppress warnings in test_model_compatibility.R, as they clutter test results.
Furthermore, check that the correct types of warnings are thrown in test_model_compatibility.R.

@vspinu Can you review?

Codecov Report

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

@@           Coverage Diff           @@
##           master    #6114   +/-   ##
=======================================
  Coverage   78.52%   78.52%
=======================================
  Files          12       12
  Lines        3069     3069
=======================================
  Hits         2410     2410
  Misses        659      659

Continue to review full report at Codecov.

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

Yes, the warning is meant to encourage users to move away from saveRDS() and use xgb.save() instead.

@hcho3 What if we make a try catch block in serialization functions?


Feature/filter feedback for url created

Changes were related to GitHub issue #456. The addresses the issue of not filtering or verifying the text used to represent a url for some health authority which could lead to potential server attacks via not regulating the maximum amount of characters that could be used to represent a URL. This implementation limits the character input used to represent a URL to 8,000. This number was chosen as to allow long urls, but still help prevent the opportunity of a server attack due to an extremely long String (See conversation on GitHub issue #456). Another filter was added as to verify the format of the String in that it followed a valid URL format. This was done as an attempt to help prevent hidden characters for server attacks and help increase the likelyhood that the user had inputted a url that is more likely to point towards a valid, live website. If the String sent to be considered as a URL fails any of the two aforementioned conditions, then the URL will not be saved and the user will be notified for which condition the have failed. As a more convenient bonus, the new feature trims leading and trailing whitespaces. It should also be noted that this current implementation also trims any attempted URL to the first 8,000 characters in the event that the input would exceed 8,000 characters.
NOTE: new variables were added to the en.json file. These included "invalid_entry_message", "please_try_again_message", "proceed_message", and "entry_already_used". For more scalable use, the translation of these variables should be included. It should also be noted that I had to ignore the lint issue since it comes from the regex expression. Some escape characters might not be needed, but I this version includes a working regex as is.

Does not allow the user to input an invalid URL and limits the overall length of potential URLs to be considered to 8,000 characters.
Linked issues:
GitHub issue #456

This fixes the character limit and adds an additional feature as to help prevent the insertion of hidden characters for injection attacks via a regex pattern. The pattern checks that only certain characters are used and that the overall format matches how urls are defined with slight flexibility with capitolization to match the flexibility of a web browser (Such as Www.google.com is not technically valid since no domain name can have capitol letters, but a browser would still point to www.google.com) This was an important feature as keyboards on phones begin with with typing the first letter as capitalized.
Screenshots:

How to test
NOTE: due to personal computer restrictions, this was only tested on an Android Emulator. Once able to recreate the results, please do see if they could be recreated on an IOS emulator.
Home-screen -> Dashboard -> Choose Health Authority -> Add trusted Source -> Add authority via URL,
Then:
Attempt to submit a url that does not meet URL format protocol. (NOTE: this does not mean that the url points to a live website, but that the attempted URL is valid and could point to live website)
Attempt to submit a url with more than 8,000 characters
Attempt to submit a url with insert hidden characters into the text-box (as a potential consequence, so may not fully work or be true)

Try to test inputting valid and non-valid urls with edge cases included (such as an empty String)
Then if see if no error pops up for the User if it does not match the aforementioned properties. The pop up messages should be designed as to force the user to notice that their url is in an unacceptable format. There should also be log messages to help verify the above.

Hi @MrEZG, Can you please change the description to include the "fixes" keyword in front of #456 (e.g. "fixes #456") so that github will correctly link to the issue?
Also, please resolve the conflicts and remove the lint errors.

Hello, closing due to no activity in 11 days. This is still a helpful change, so feel free to reopen when you've synced and addressed comments!

Hi, please see "Feature/updated url filter #791" under the new Path-Check repository for the new changes!


request help: Is ApisixRoute/v2 will adding healthcheck to the ApisixRouteHTTP?

Issue description
There is no way to set healthcheck or retry in ApisixRoute/v2Alpha1,  if wanna do this must adding some ApisixUpstream/v1 config.
So ApisixRoute/v2 will support setting upstream just in ApisixRoute
Environment
apisix-ingress-controller： v1.0.0

If writing healthcheck in ApisixRoute, it will make the configuration of ApisixRoute particularly bloated. And, healthcheck has nothing to do with routing, so it is placed separately in ApisixUpstream as a supplement. A similar design also has a load balancing strategy under upstream.
Wait to see other people's thoughts.


[canary] attrs should take precedence over props

What's the reasoning behind this? I use attrs like this a lot:
const Content = styled(Text).attrs(() => ({textStyle: 'body'}))
And when using this component, I could eventually override this padding prop, like so:

Would this change mean that this is no longer possible?!

@rudin need a more complete example so I can answer your question. attrs overrides props, but doesn't replace them.

Hi Evan,
Here's a quick example:
https://codesandbox.io/s/crazy-flower-9bwdm
It's using styled-components 4.4. I'm noticing (see uncommented line 22) that 'textStyle' as defined in render does not override 'textStyle' as specified in attrs.
I made the changes as seen on lines 23-25: I'm destructuring 'textStyle' from props and set a default: 'body'. This is nice.
I have to admit that I was expecting the uncommented line to work 🤪Anyway, is there anything going to change in the code as being written in this codesandbox?

@rudin I'm still not entirely sure I understand your question but I'll just say this is now working as it's actually explained in the docs. attrs is meant to take in props and adapt/override/add new ones based on the return value.


Query path: Implement the OOOHead satisfying the blockreader interface

One of the main lines of work torwards achieving support for out of order in prometheus is actually implementing the storage of the samples in the head as well as the ability to query them.
These are the milestones we need to achieve:

[x] Extend the series in the Head to have a list of out of order chunks.
[x] Implement a RangeHead for out of order samples called OOORangeHead

[x] IndexReader implementation https://github.com/grafana/mimir-prometheus/pull/149
[x] ChunkReader implementation at https://github.com/grafana/mimir-prometheus/pull/163
[x] Unit testing many query scenarios to make the implementation more bulletproof

[x] Support for querying OOO data from the head. https://github.com/grafana/mimir-prometheus/pull/222

Small update here, still working on the ChunkReader implementation, I expect to have something working between this week and the beginning of the next one.

Replying to https://github.com/grafana/mimir-prometheus/issues/147#issuecomment-1098018961 to keep track of the status for each case:

Case 1 is being tested here https://github.com/grafana/mimir-prometheus/blob/f3f6711bfe6acb7e126b5e167ece3cb3516f15e2/tsdb/ooo_head_read_test.go#L135-L155

The unit test tries every permutation of the existing chunks so the unit test has all the combinations: increasing, descending order plus other combinations

Case 2: https://github.com/grafana/mimir-prometheus/blob/f3f6711bfe6acb7e126b5e167ece3cb3516f15e2/tsdb/ooo_head_read_test.go#L180-L200
Case 3 & Case 4: https://github.com/grafana/mimir-prometheus/blob/f3f6711bfe6acb7e126b5e167ece3cb3516f15e2/tsdb/ooo_head_read_test.go#L201-L219

Case 4 is also covered thanks to all the permutations of the chunks. In the description Chunk 0 is the chunk with the latest sample, in one of the permutations it would be the head chunk validating Case 4.

Work missing for Case 5 and 6.
Before that I'll try to submit a PR covering the previous 4 cases for the Chunks method.

As crazy as it sounds but I think the query path is ready :tada: :tada: I'm tentatively closing this since now we're ready to build a mimir version with our changes and test it out in dev.


React development mode is on

Hi,
it seems that after installing the vim extensions the jupyter lab application is recognized as being run in the React development mode by the react devtools. I guess this should not be the case (due to both security and performance reasons).

Thanks for pointing this out, I agree, I don't want this plugin putting it in dev mode. I wonder why that would be...

I guess this may be helpful: https://stackoverflow.com/questions/22118915/how-to-turn-on-off-reactjs-development-mode

Hmm, I uninstalled it and I still see the red icon from the chrome extension for jupyterlab. So maybe it's just a jupyterlab thing? How are you checking?

I checked with Firefox React devtools extension. As far as I remember, before installing the VIM extension Jupyter lab was properly marked as production version.

This is a problem with JupyterLab. The flag for a production mode build was broken. It has been fixed now (https://github.com/jupyterlab/jupyterlab/pull/5723), but is not in any published releases. When that happens, you should be able to specify a prod build with jupyter lab build --dev-build=false

Ok, thanks for info. It seems we may close this issue then.


Restore loading env from config file

Useful to pass and set env vars during install for things like the docker config location

This was probably lost during the converge of the cloud config into config and such.


dvol support for `git branch '

This is the error
-> dvol branch hiagain
Wrong number of arguments.

Expected behavior
-> dvol branch hiagain
->

To be clear, you'd expect this to make a new branch from current branch's HEAD but not check it out?
Should be simple to add this, https://github.com/ClusterHQ/dvol/blob/master/voluminous/dvol.py#L438
add a parseArgs
def parseArgs(self, branch=None):
        self.branch = branch

then factor out https://github.com/ClusterHQ/dvol/blob/master/voluminous/dvol.py#L121 into a new function createBranch
then add to run something like
    if self.branch is not None:
        self.voluminous.createBranch(...)

anyone fancy picking this up as low hanging fruit?


terragrunt: 0.28.8 -> 0.28.9

Motivation for this change
Bump terragrunt to 0.28.9
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

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

1 package built:

terragrunt


Support token auth via webscket subprotocol

as described in this PR

If this was supported, I would use your thing :)


Regex with a backslash in now.json results in an error

On https://zeit.co/docs/configuration#routes/headers page the following example of regex is shown denoting a literal dot character: { "src": "/test/file\.json", "status": 404, "dest": "/404" }.
I'm trying it in my now.json:
{
    "name": "my-project-name",
    "version": 2,
    "routes": [
        { "src": "/test/file\.json", "status": 404, "dest": "/404" }
    ]
}

This results in an error:
$ npx now build --prod
> Error! Couldn't parse JSON file /path/to/my/project/now.json

If I remove the backslash here "/test/file\.json", it works.

You need two backslashes followed by a dot to match a literal dot.
This can be tested with new RegExp("/test/file\\.json").test('/test/file.json')

It works with two backslashes, thank you. But the docs at https://zeit.co/docs/configuration#routes/headers need to be updated.

Oh good point!
It was written as a double backslash but it renders as a single backlash.

I'll fix it 👍


Passing string value as ng-model breaks datepicker (ui.bootstrap 1.1.2)

If string value is passed to ng-model opening datepicker causes js error and datepicker doesn't work (it even doesn't render it's value in input).
If Date is passed everything is ok.
$scope.format = 'MM-dd-yyyy';

$scope.startDate = '10-11-2015'; // TypeError: this.activeDate.getFullYear is not a function
$scope.endDate = new Date(); // ok

Please see plunk: http://plnkr.co/edit/xrsxVlyrY54CnDkx4i4u?p=preview
From server side I receive date string in format MM-dd-yyyy. Could you please advise how to fix this issue. Manually transforming string from server to Date doesn't look handy.
Thanks!

The date picker requires a JavaScript date object.  Please extend is the courtesy of searching both open and closed issues as well as reading the project documentation.


Price format

There was recently a change to the price format to use a number rather than a string. This works fine but it's causing an issue for us on mobile to fit the cost of stay in the space we have e.g. £423.00. This was not an issue before as we passed the string £435 as there is no need to pass the zero pence.
Would it be possible for us to implement the option of passing the price in a string format?
Happy to write a pull request if we can agree a solution.

Price is in effect a String. Check the src/DatePicker/components/Price.vue component, but it is formated that way. Please PR with incorporation of a priceDecimals and the doc and I will implement that.
Line 187 of Day.vue

Well already finished this... I am testing now

Great! What branch is this in?

v4.4 but I will try to release a beta version in the next hours

Sorry I've been extremely busy.

sorry not ready yet

v4.4.2 should fix this issue with the new props


Reset .tcshrc prompt foreground color to terminal default instead of hardcoding white

Some parts of the tcsh prompt (e.g. release vesrion, username, hostname) are hardcoded to white text instead of using the terminal default foreground color. This results in the prompt being hard to read on terminals where the background is not black or a dark color, as there is poor contrast between the light background and white text. This change fixes the problem by resetting the foreground color to the terminal default foreground color instead of the hardcoded white.

Pushed a different fix, thanks!


Add testing and mocking system. Works with both easymock and mockito

Coverage decreased (-0.1%) to 77.747% when pulling 1ea2a88207e48d9805a156311dc63c67f45af98d on sni/mock-system into 65bc56ebc1f016d34804130177b9a4b1ce564e54 on master.

👍


cmake_minimum_required() command should at the beginning file

Oh, they fixed it! I tried having the commands in this order on earlier versions of CMake but then CMAKE_LEGACY_CYGWIN_WIN32 had no effect.
Thank you!


Some GUIs not working

Describe the bug
Some errors with AnvilGUI are causing a lot of the GUI config stuff to not work.
To Reproduce

Open Settings GUI
Open ManHunt Configuration:
Try to change one of the clock/integer values
It won't open any GUI and you'll see errors in the console

Versions:

Server software: Paper 1.18.2
Plugin version: 1.6.9

Problem should have been resolved with the c5c9d69 fix. 1.18.2 was not supported at all. Update to spigotmc coming soon


fix(47004): arguments detection for jsdoc / javascript has a false positive

Fixes #47004

@DanielRosenwasser I've added tests with checkJs. Also, I left the "fourslash" tests for "QI", if you think these tests are useless I will remove them.


Fixed bucket failed to delete

Issue #, if available: n/a
Description of changes:

When destroying the test, it failed to delete the stack because the access-logs still have logs in it. Therefore, disabling the versioned property fixes the issue. The stack now be able to delete the access-log bucket.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Few mechanisms I used to test to ensure it works:

Build, Deploy, Destroy -> Succeeded
Build, Deploy, Test few cases, Destroy -> Succeeded

Only issue I wasn't able to test was if the deploying to my dev account failed at some point.


Devtools v4.1.3 same bug as issue #588

Version
4.1.3
Browser and OS info
Google Chrome Version 64.0.3282.85 (Official Build) beta (64-bit) / Windows 7 pro (SP1)
Steps to reproduce

Running Vue through npm installed package<EMAIL_ADDRESS>Initial load of page (any page) works fine. Vue devtools working accordingly, inputs get updated, events tab can be seen, etc
Access different page url of the website
As a result I get an error:
VM1521723 backend.js:1 Uncaught TypeError: Cannot read property 'VUE_DEVTOOLS_UID' of undefined
at VM1521723 backend.js:1
at t.a.v.on.e (VM1521723 backend.js:1)
at t.a.n.emit (VM1521723 backend.js:1)
at e.listen.e (VM1521723 backend.js:1)
at n (VM1521723 backend.js:1)

What is expected?
Vue panel to work accordingly
What is actually happening?
Vue panel is non-responsive

If I get it right, the error is maybe here:
function k(e) {
const t = e.VUE_DEVTOOLS_UID;
t && v.send("inspect-instance", t)
}

Do you have a reproduction?


Overall drop-down Style issues (dark mode)

Issues:
Namespace drop-down:

White for disabled is confusing and inconsistent with how people think things should work. (dark mode)
Highlight, color change and underline is over-kill for hover/selection
Background color for drop-down needs to be fixed so I can see dividing line (dark mode, already entered as bug #1251)

Overall Fixes:

[ ] If any selection is not selectable, it should be grey and our background UI should support that color.

[x] Move "Sorry, no matches" text over so it's not bumping against the edge of the left side of the drop-down

[ ] If there are not more than 10 items to be selected... the box should not be type-able.  Almost all drop-downs boxes should be not be type-able.

Dark mode:
Closed drop-down issues to fix:

[x] suggestion text (e.g.) is not light enough.  I can barely see it.  Maybe go one grey lighter?  Current is #4A4B52 and it should probably be #6C6C76 (this is true for all controls but I'm just going to reference it here)

Open drop-down issues to fix:

[x] Always have black background, even if I hover my mouse off of that field (this should be for all controls, but referencing here):
Should always look like this:

When I move my mouse around:

[x] Remove underline when I hover over option.

[x] Move drop-down arrow over to the left a bit?  it's looks like it's too far to the right & even a couple of pixels will probably make it look better.

[ ] If selection in drop-down is not required, we should have a none options (maybe in italics?) instead of small blue line at top (bug).

[ ] Disabled controls & the blue drop-down for namespace on edit, looks exactly the same as enabled with suggestion text.

Suggestions - For drop-downs remove the v, change the text color it is same color as the Title, remove border & make the whole thing greyer (for disabled)
Current:

Suggested:

[x] x for clearing text out of drop-down is not centered and bottom seems to be missing?

[x] double drop-down field seem to be transparent?  or the field labels are all brought to front cause they are bleeding through.

[x] In workloads (deployments), the info text is see-through.  Add environment label and hover over i circle to see

"Always have black background, even if I hover my mouse off of that field (this should be for all controls" this is intentional, checking off

I need a dev check these:
If selection in drop-down is not required, we should have a none options (maybe in italics?) instead of small blue line at top (bug).
If there are not more than 10 items to be selected... the box should not be type-able. Almost all drop-downs boxes should be not be type-able.

https://github.com/rancher/dashboard/pull/1512

Fixed


Support inviting people to multiple teams

Hey all! 👋
It looks like invite contributors can only take one team name. Would people be open to allowing invite-contributors to take multiple?

🤔 Sounds like a good idea! Will look into it as soon as I have the time.


Error for curve geometry while querying in hive

Hi.
Thank you for your support so far. We are often running into  issues  since we are just starting to transfer huge datasets like pan india buildings, roads etc. into HDFS.
I mentioned buildings and roads because there are curve geometries present in both the datasets like curved rings and curved paths.
I understand that the the current geometry api doesnt support complex geometry and deals with simple point, line and polygon geometry.
Our organisation right now is in the pilot stage of transferring chunks of datasets into HDFS and most of the datasets have features that deal with complex geometry.

Will there be a future release which will support such complex geometry ??
Or can you suggest an alternative route that we can proceed in, because we are  and will be  stuck with this issue.

I have attached a screenshot with the error

select count(*) from plannedroute;

Thank you for your help so far and I would highly appreciate if someone would rid us out of this issue or suggest a workaround.
Thanks

Curve - cross-reference https://github.com/Esri/gis-tools-for-hadoop/issues/40#issuecomment-208378544


Localized routes support for no-prefix, custom domain and nuxt generate

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

I am using nuxt in static mode with nuxt generate and I am generating static html pages per languague for custom domains. I want to localize the paths too, but when I try to do it, I have always both translated paths in all my pages per locale but with text for generated locale. Currently I used the prefix url mode.
Snippets from config I am using to do it:
i18n configuration
import { locale, locales, localeBaseUrl } from './locale.config'

export default {
  // Translations
  i18n: {
    locales,
    langDir: '@/i18n/',
    differentDomains: process.env.NODE_ENV === 'production',
    defaultLocale: locale, // <-- this is crawled from env because I want generate separated html files per locale
    detectBrowserLanguage: false,
    vueI18n: {
      locale,
      fallbackLocale: locale,
    }
  },
}

Locale settings
export const defaultLocale = 'en';
export const locale = process.env.LOCALE || defaultLocale; // <- used for defaultLocale in i18n settings to generate html site per locale with custom domain

export const locales = [
  {
    code: 'en',
    name: 'English', iso: 'en-GB',
    domain: process.env.BASE_URL || 'https://timepress.co.uk',
    file: 'en.json'
  },
  {
    code: 'cs',
    name: 'Česky',
    iso: 'cs-CZ',
    domain: process.env.BASE_URL || 'https://timepress.cz',
    file: 'cs.json'
  }
]

export const localeBaseUrl = locales.find((l) => l.code === locale)?.domain

Nuxt generate configuration
target: 'static',
/* ... */
generate: {
    fallback: '404.html',
    dir: process.env.LOCALE ? `dist/${process.env.LOCALE}` : 'dist' // <- generate site per locale for every custom domain
  },

And the result I got:

The site for cs has always czech texts for both en and cs url paths and site for en too, but with english texts.
Describe the solution you'd like

If I set target: 'static' with nuxt generate and custom domains and set i18n module to no-prefix mode, I get per-locale sites with coresponding paths only for generate site's locale eg. for czech site only the czech urls and for english site only the english urls.
Describe alternatives you've considered

Another implementation anc configuration for static target, nuxt generate and custom domains but I get for czech site only the czech urls and for english site only the english urls.

Closing this as v7 is not being actively worked on (critical hotfixes only), if this still applies to v8 and later please open a new issue!


feat: Added wrapper for multiple messages for functions

Added create_function function

Okay. Had some syntax things to fix when I tested it in lambda. It should all be good now.


Backend / Purchase functionality

Hi,
This PR is implementation for the issue #61.
Most of the functionality was already implemented in PR #49   so the new part is :
PATCH Request for updating the status of the order will update the order if the user is the sender or receiver and also:

this creates Order History record in a new table to track order statuses

[!IMPORTANT]
Make sure to rebuild the image in docker when testing locally

IF the order is changed to rejected it restores the purchased quantity to the listing as well as the is_sold and is_listed flags and it will lock it for further updates.
If the order is completed it will also lock the status update.

The custom command for auto-completing all orders on status sent or above more than 7 days has also been created, but unfortunately, I was not able to integrate it to work in the docker container with cronjob (the cronjob is created but for some reason it is not triggered)
It is in the changes of this PR and does not interfere with the current flow of the server, it can be debugged later.
Manually executing the command is working. python manage.py complete_old_orders will trigger it.
I have added 3 tests as well.
Please review and if something is missing, I will add it or change it. Thank you!

I want to apologize  for my absence and for the caused delay in the project, I am now here and able to contribute again!

Are the following migrations applied in production? I think not, but can you confirm, please?
0002_rename_given_to_feedbackandrating_receiver_user_and_more.py
0003_alter_feedbackandrating_receiver_user_and_more.py

If they are not applied, you can totally delete them, no problem - even better, keep the number of migrations low.
If they are applied, we will have to drop the entire db.

Are the following migrations applied in production? I think not, but can you confirm, please?
0002_rename_given_to_feedbackandrating_receiver_user_and_more.py
0003_alter_feedbackandrating_receiver_user_and_more.py

If they are not applied, you can totally delete them, no problem - even better, keep the number of migrations low. 1 migration per version is perfect.
If they are applied, we will have to drop the entire db.

As far as I know there are not applied, @ZhivkoTringov  or @dinocom33 , can advise If I am right.

Are the following migrations applied in production? I think not, but can you confirm, please?
0002_rename_given_to_feedbackandrating_receiver_user_and_more.py
0003_alter_feedbackandrating_receiver_user_and_more.py

If they are not applied, you can totally delete them, no problem - even better, keep the number of migrations low. 1 migration per version is perfect.
If they are applied, we will have to drop the entire db.

As far as I know there are not applied, @ZhivkoTringov or @dinocom33 , can advise If I am right.

They are not applied.

Most of the status flow works (at least as far as I understand it), but there are a few behaviors that I don't think are intended:

the purchaser can directly mark an order as rejected or completed, even if the order has not been sent. I would think that there would be checks to make sure that you can complete or reject an order only when it's marked as sent (as far as I understand the status flow, at least)
this is moreso a question, as I am not sure what the intended behavior is, but are both the seller and purchaser supposed to be able to mark the order as complete or rejected? I would think only the purchaser should be able to do that, but the seller can also mark them as such
theoritically, you can regress the status (except when it's rejected or completed, where it correctly locks the status); one can mark the order as sent and then mark it as ordered. If this is intended, ignore this.

Also, the order API does not provide the purchased cards at all, which would prevent me from displaying them in the modal (according to the Swagger schema, there's supposed to be an order_items property, but it's missing on my end). Not sure if this is in the scope of this PR or an issue on my end, but figured I should mention this.

@RyotaMitaraiWeb notes taken, please check now and let me know what you think, I will correct or add something if needed

OrderItems are now being correctly populated

this is moreso a question, as I am not sure what the intended behavior is, but are both the seller and purchaser supposed to be able to mark the order as complete or rejected? I would think only the purchaser should be able to do that, but the seller can also mark them as such

This is intended behavior as described in the issue, but I also think it is more convenient that way because for example if the card is sent to the buyer but he return it or don't take it the seller should be able to reject, so the listing is restored. Or simply seller don't want to send it he should be able to reject the order.

theoritically, you can regress the status (except when it's rejected or completed, where it correctly locks the status); one can mark the order as sent and then mark it as ordered. If this is intended, ignore this.

I am not sure if this was required but I have made validation for not being able to downgrade the status :)

@julkascript I have corrected the bash syntaxis, I have missed it because I have already a superuser in my DB.
Please let me know your comments.
Thanks.

My concerns seem to have been addressed (looking at the Figma wireframes, it looks like outright rejection is possible, so good thing that only completion has been restricted to after being sent).
With that said, I found another issue that is hopefully an easy fix. Currently, the backend treats "received" and "completed" as different statuses, but according to the Figma wireframes, they are actually the same. As a matter of fact, if you mark an order as received, you will be unable to mark it as completed, because the backend will not allow you to mark it as sent and thus will not allow you to complete it either. Funnily enough, you can actually reject the order at this point. For consistency, we should probably stick to only one of the statuses (I would prefer "received" as it matches what is shown on the frontend)

My concerns seem to have been addressed (looking at the Figma wireframes, it looks like outright rejection is possible, so good thing that only completion has been restricted to after being sent).
With that said, I found another issue that is hopefully an easy fix. Currently, the backend treats "received" and "completed" as different statuses, but according to the Figma wireframes, they are actually the same. As a matter of fact, if you mark an order as received, you will be unable to mark it as completed, because the backend will not allow you to mark it as sent and thus will not allow you to complete it either. Funnily enough, you can actually reject the order at this point. For consistency, we should probably stick to only one of the statuses (I would prefer "received" as it matches what is shown on the frontend)

Totally agree with you, while checking the figma my thoughts were the same and funny enough I chose completed status as more intuitive for me. It will be more easy if we consider completed for absolute, but its not hard to rewrite for received.

My concerns seem to have been addressed (looking at the Figma wireframes, it looks like outright rejection is possible, so good thing that only completion has been restricted to after being sent).
With that said, I found another issue that is hopefully an easy fix. Currently, the backend treats "received" and "completed" as different statuses, but according to the Figma wireframes, they are actually the same. As a matter of fact, if you mark an order as received, you will be unable to mark it as completed, because the backend will not allow you to mark it as sent and thus will not allow you to complete it either. Funnily enough, you can actually reject the order at this point. For consistency, we should probably stick to only one of the statuses (I would prefer "received" as it matches what is shown on the frontend)

Totally agree with you, while checking the figma my thoughts were the same and funny enough I chose completed status as more intuitive for me. It will be more easy if we consider completed for absolute, but its not hard to rewrite for received.

Your remarks make sense, guys. To me, both options would be equally as fine. Maybe you can align between the both of you and come to a conclusion.

whether it's "completed" or "received" isn't a hill I am willing to die on, I am perfectly fine with whichever is selected. I suggested "received" purely because I felt it made more sense to match it with the frontend.
The main point is that the backend should probably use only one of them, since having both will make things more complex. Sticking with "completed" is perfectly fine, seeing as the validations for it have already been written

@julkascript is there anything else to change in the code?
SInce we have agreed to work with completed, the logic in the serializer for updating is validating by status completed and there is nothing to change.
Please review and have your comments if I missed something or I need to add.

No more comments. I was waiting for the removal of the received value from the status.

I have deleted the unused statuses and made a migration since they are in the deployed version.

I think the status flow now works appropriately (or, at the very least, I have not found a way to break it).
The only concern that I have at this point is that the PATCH endpoint can theoritically edit the delivery address. I could maybe see this as a feature, especially if the upcoming modal allows the buyer to change the address, but I will need a clarification on this matter to be sure.
If this is not a concern, then I will approve the PR, since I cannot think of issues with the API at the moment.

I think the status flow now works appropriately (or, at the very least, I have not found a way to break it).
The only concern that I have at this point is that the PATCH endpoint can theoritically edit the delivery address. I could maybe see this as a feature, especially if the upcoming modal allows the buyer to change the address, but I will need a clarification on this matter to be sure.
If this is not a concern, then I will approve the PR, since I cannot think of issues with the API at the moment.

Yes, correct observation. The delivery address shall not be able to be modified from this endpoint (as well as the receiver user).

I think the status flow now works appropriately (or, at the very least, I have not found a way to break it).
The only concern that I have at this point is that the PATCH endpoint can theoritically edit the delivery address. I could maybe see this as a feature, especially if the upcoming modal allows the buyer to change the address, but I will need a clarification on this matter to be sure.
If this is not a concern, then I will approve the PR, since I cannot think of issues with the API at the moment.

Yes, correct observation. The delivery address shall not be able to be modified from this endpoint (as well as the receiver user).

Your comments have been addressed, and I have edited the update method for this endpoint restricting any updates different than the status. I have not thought about it but you have a point. The order should not be able to be changed once it is created. This means if its not correctly placed it should be rejected and then re-ordered.
@julkascript @RyotaMitaraiWeb  Please let me know if you have other concerns as well.

It doesn't seem like not received is implemented as a valid status
(speaking of which, does not received terminate the order like completed and rejected do? Also, is the buyer capable of marking an order as not received before it's sent? This is moreso a question for @julkascript since I am currently integrating the solution on my end as well)

Hey. When we were discussing the statuses, we thought of “not received” as a status where something went wrong with the package. However, we can skip this status for now - we can implement later.


Add latest tag and make image name variable

Just added a latest tag for atomatic updates and changed the static dockerhub name to a variable

This has now been implemented: 36defc5a0faa74b12d37beafdfe34e201fa26263 and 6b6683e448691908c26191c9d397e7225cfb47f9


Add tapioca

Adding Tapioca to our list of open source projects.

Should we also add spoom and rubocop-sorbet while at it?

Oh, yeah, sure. Let me add those too.


Error message

Prompt an error message when user tries to make length of password less than 8. Can you please assign me this?

GO ahead..
but don't disturb the UI much..

Correcting error message


enable dependabot

Signed-off-by: Augustin Husson<EMAIL_ADDRESS>

Should we wait for https://github.com/dependabot/dependabot-core/issues/1190 first?

that's an interesting feature, but it looks like the team doesn't have so much time to work on it currently.
I had some doubt around this tool, but after enabling it in Perses, it's pretty cool + it managed nicely the monorepo/ npm workspace. So I'm in favor of enabling it now.
The first time we will enable it, for sure it will create some noise, but after that it shouldn't be too annoyed to manage each dep update PR by PR.
And one my side, I would tend to be in favor of updating the dependency one by one so like that we are sure the update is safe.

I'd like to see it enabled in a fork for a few weeks to see how it goes.

I don't get really what you are expecting of doing that :/.
I mean if you don't feel it's a good idea and want to try it, perhaps we can just enable it for Golang ? Like it has been done by @bwplotka in thanos :).
Probably @bwplotka you can say if it was ok to activate it in thanos ? :)
And if it's too noisy or too painful to take care of it, then we can disable it and decline every PRs opened by the bot.
Moreover, by default it only opens 10 PRs max, so if you feel it's too much we can decrease this number :).
I think it will be noisier once we would like to activate it for the UI. Even if I think dependabot is smarter than we can thought :).

Okay, there is actually previous consensus to enable this on the mailing list:
https://groups.google.com/d/msgid/prometheus-developers/CABbyFmrdAwW8Qp0%2BemgwQQKWNpPVUA1RrRVuOXAndbM3VpPHLQ%40mail.gmail.com?utm_medium=email&utm_source=footer
So I'll approve. We will see what happens.


x86: MMU-based stack overflow protection

We configure a guard page immediately before the thread stack area which is non-present, triggering a CPU exception.
x86 does not do an automatic stack switch when handling exceptions at the same privilege level, and the initial page fault will cause a double fault since there is nowhere for the exception stack data to be pushed, so we introduce an alternate IA hardware task with a known good stack. the double fault exception now will do task gate instead of an interrupt gate.
we also convert gen_idt to Python, and introduce a new script for creating GDT since the GDT data structure is too complex to be specified in C code at build time (certain pointer fields need to be split up, and this can't be done with symbols, only literal values)

Need to fix a few checkpatch nits.
Most tests are failing because we need python elftools installed on the build slaves.

Fixed checkpatch issues.
Addressed @lpereira review comments

Rebased to fix some conflicts introduced by Adithya's MMU patch that went in.

Rebased to fix a merge conflict.
Added a TLB flush to the function which modifies page tables.
No other changes.


account - 404 when going to a @login_required page

When using the account starter app, if I hit a @login_required page I get a 404.  It looks like it's trying to redirect me to /accounts/login/ which doesn't exist.  Here's how to recreate the bug:

mkvirtualenv testloginurl

pip install pinax-cli

pinax start account testloginurl

cd testloginurl

pip install -r requirements.txt

./manage.py migrate

./manage.py loaddata sites

add this import to testloginurl/urls.py: from django.contrib.auth.decorators import login_required

add this line to urlpatterns in testloginurl/urls.py: url(r"^protected$", login_required(TemplateView.as_view(template_name="homepage.html")), name="protected"),

./manage.py runserver

Go to http://localhost:8000/protected <- See the 404

Here's a workaround but it's probably not the right fix.

Ok, it seems I need to use account.decorators.login_required instead of django.contrib.auth.decorators.login_required.  I figured this out by digging through the code.  I couldn't find it in the docs

I've create a pull request against the docs.  Is there a way, we can get rid or this login_decorator and use Django's built-in instead?

I believe that @brosner's version in DUA handles some extra things like handing next but I'm not completely sure without studying the differences in code.  I do know there is likely a very good reason why DUA is shipping with it's own rather than using the built-in.


Possible to use Digitalocean do-block-storage as backend?

I'd like to use the read write many mode of Longhorn inside a Digitalocean managed Kubernetes. The problem is when the nodes get replaced or restarted the folders or volumes dont necessarily persist. It is also not easy to attach a volume to a node outside of PVC with Digitalocean's managed K8s - so having the do-block-storage as a backend would be perfect.
I would like to use the do-block-storage as a backing storage with Longhorn RWX? Is that possible?

cc @c3y1huang Do you have any idea if DO block volume works with Longhorn when you investigate the issue https://github.com/longhorn/longhorn/issues/1800

cc @c3y1huang Do you have any idea if DO block volume works with Longhorn when you investigate the issue #1800

No idea. #1800 is about EKS, GKE, AKS.

Will leave the ticket open to see if there is more interest in this topic

@saul-data
Did you find an answer/solution to this? I stuck with DO and mostly because of their upgrade policy they replace nodes, and Longhorn doesn't automatically move replicas, so maybe using Volumes will help...

Yes 100% - I didn’t get an answer unfortunately. It will be hugely
beneficial.
I think there is a way to mount the volume on a location of the node where
longhorn picks it up - I think that’s worth experimenting with…
On Mon, 11 Jul 2022 at 10:19, Sergkei Melingk @.***>
wrote:

@saul-data https://github.com/saul-data
Did you find an answer/solution to this? I stuck with DO and mostly
because of their upgrade policy they replace nodes, and Longhorn doesn't
automatically move replicas, so maybe using Volumes will help...
—
Reply to this email directly, view it on GitHub
https://github.com/longhorn/longhorn/issues/3943#issuecomment-1180162214,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APGDMKLUEYTQQ2A4QGICUKDVTPRKDANCNFSM5VIVGBLA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@saul-data the problem is also DigitalOcean they will not re-attach any volume created outside k8s cluster.
What I'm doing now is decreasing replicaReplenishmentWaitInterval to 60 seconds
And create 2 pools in DO (based on DO they will upgrade cluster 1 pool after another). in this case, all volumes will be transferred to new nodes.) Anyway, I'm still testing this...

Oh right! Yes that sounds messy. I agree with this concept of backing
longhorn or other Kubernetes storage mechanisms with volume storage by the
cloud providers.
On Mon, 11 Jul 2022 at 14:44, Sergkei Melingk @.***>
wrote:

@saul-data https://github.com/saul-data the problem is also
DigitalOcean they will not re-attach any volume created outside k8s cluster.
What I'm doing now is decreasing replicaReplenishmentWaitInterval to 60
seconds
And create 2 pools in DO (based on DO they will upgrade cluster 1 pool
after another). in this case, all volumes will be transferred to new
nodes.) Anyway, I'm still testing this...
—
Reply to this email directly, view it on GitHub
https://github.com/longhorn/longhorn/issues/3943#issuecomment-1180428893,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APGDMKIVLEM2VXVCPX7WAF3VTQQM5ANCNFSM5VIVGBLA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@saul-data Ideally it will be good if the Longhorn team will adopt DO csi for volumes: https://github.com/digitalocean/csi-digitalocean

Any good solution or a workaround a few months later? Want to make sure before playing with two node pools.

Any good solution or a workaround a few months later? Want to make sure before playing with two node pools.

After Long playing with multiple providers (rook/ceph/longhorn/openebs)
I did the following:
DO K8S -> Rook with external ceph cluster (5 nodes 3 mng, 5 mons)
Rook on K8S just installs connect and creates volumes (RWM/RWO) on ceph cluster. and when nodes replaced storage is not affected.

Bumping the issue again.

This issue needs some love - from the above, is it the case that we can't use longhorn on digitalocean (without using node space). If so we should include that somewhere in the docs

Any good solution or a workaround a few months later? Want to make sure before playing with two node pools.

After Long playing with multiple providers (rook/ceph/longhorn/openebs)
I did the following:
DO K8S -> Rook with external ceph cluster (5 nodes 3 mng, 5 mons)
Rook on K8S just installs connect and creates volumes (RWM/RWO) on ceph cluster. and when nodes replaced storage is not affected.

Hi, sorry for the bump. Where do you run the Ceph Cluster? Regular DO Droplets within the same VPC or what?

Any good solution or a workaround a few months later? Want to make sure before playing with two node pools.

After Long playing with multiple providers (rook/ceph/longhorn/openebs)
I did the following:
DO K8S -> Rook with external ceph cluster (5 nodes 3 mng, 5 mons)
Rook on K8S just installs connect and creates volumes (RWM/RWO) on ceph cluster. and when nodes replaced storage is not affected.

Hi, sorry for the bump. Where do you run the Ceph Cluster? Regular DO Droplets within the same VPC or what?

Yes I run regular DO droplets with attached Volume to each node, I run 3 nodes with attached volumes and 2 simple nodes (only 2 GB of Ram) for mons to have 5 total mons.


Invalid test cases for slugify

I noticed a couple issues in the test cases for slugify -
してください
-- should transliterate as shitekudasai instead of sitekudasai
control:\x07notcontrol:\xB5
-- the code point \xB5 is invalid, should be \xC2\xB5 or \u00B5

The first one would need to be reported to unidecode.
The second one I'm happy to accept a PR :)


Updated the date

The new article is not ready as Dev Servcies is not yet ready

Hi @TheBharath, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (bharaths). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@TheBharath - Please resubmit this change through the private repo.


Should images work in Kitty? I couldn't figure out how to make them work

Newsboat version (copy the output of newsboat -v or the first line of git show):
Newsboat 2.33.0
System: Linux 6.5.9-arch2-1 (x86_64)
Compiler: g++ 13.2.1 20230801
ncurses: ncurses 6.4.20230520 (compiled with 6.4)
libcurl: libcurl/8.4.0 OpenSSL/3.1.4 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh2/1.11.0 nghttp2/1.58.0 (compiled with 8.3.0)
SQLite: 3.44.0 (compiled with 3.43.1)
libxml2: compiled with 2.11.5

I don't think anything like that is built-in in Newsboat.
We are  currently using STFL+ncurses for input and drawing our terminal interface, which don't support showing images natively (as far as I know).
Not sure if we ever implement support for it, but if we do, that will probably have to wait until we resolve https://github.com/newsboat/newsboat/issues/232 (replace STFL).
However, there might be some useful scripts in our contrib directory which can be used for showing images in Kitty.
No guarantees though that these still work or are easy to configure.

I see, I guess the changelog notes confused me, thanks for pointing me in the right direction!


fix(aggregator): attack on aggregator race condition censoring a batch

Problem
When a BLS signature is responded to the aggregator, there is a batchResponses[operator_id] that is updated. This was done to prevent errors that appear due to some operators responding more than one time.
The problem is that there is no validation of the signature before updating the map, so an invalid SignedTaskResponse will still cause the map to be updated. If an attacker sends many invalid STRs, they could cause the batchResponse map to be set most of the time, so when a valid STR is received, it will likely be ignored as if it had already been received.
Solution A (WIP, doesn't work)
This solution must be done on ProcessOperatorSignedTaskResponseV2
An address of the operator can be found on the SignedTaskResponse
Use the address received in the task we need to call GetOperatorInfo from OperatorsInfoServiceInMemory.
With this we can get the OperatorID and a operatorInfo.
operatorInfo contains Pubkeys, with a PublicKey on G1, and G2. These are two different public keys, one is used in some cases, the other one in others.
Having this information, the following must be enforced

Obtained operatorInfo OperatorID matches the OperatorID on the SignedTaskResponse
SignedTaskResponse has been correctly signed by the operator. signedTaskResponse.BlsSignature.Verify(G2,signedsignedTaskResponse.BatchMerkleRoot)

The purpose is to avoid impersonations, it's not necessary to check if the Operator is actually registered and the stakes, so it's simpler than the verification of the BlsService

This issue is on a standby,  Eigen has the PR fixing the bug of the double signature, so we can fix it by removing our code to solve this

Eigen fixed the bug, and we removed all the code related to avoiding the double signatures, this is solved


Read in the JSONLD files

Notes are being composed

Notes
In order to read in the JSONLD, some changes had to be made to the output.  As updated on the Wiki page (https://github.com/clulab/eidos/wiki/JSON-LD), the Provenance of the modifiers and states needed to be recorded.  Also, the text of the Words is no longer the raw text (such as °) but rather the processed text (such as degree).  We have no way at all to recover the raw text from the processed text and processing the raw text requires a run through processors, which we are trying to avoid.  The text of the Sentence also now matches the processed version.  As mentioned on the Wiki (https://github.com/clulab/eidos/wiki/Anatomy-of-Mentions), Sentence.raw is just a copy of Sentence.words now after the file has been read back in.
Attachments used to be associated with a mention, which was used to provide provenance.  Since we haven't been storing these mentions in the JSONLD and don't want to have to unnecessarily recreate them when reading it back in, Attachments no longer use the mention, but only its extracted provenance.  Provenance was added to Hedging and Negation.  The trigger, on the other hand, needs its Mention in part because it is Odin code.  This mention is created based on information from the EventMention that it triggered.
In order to get a perfectly matching round-trip, the order of the mentions was changed.  They should appear in fairly strict document order (left to right, top to bottom).  They are also numbered better so that their names should match the order of appearance.
Some time-related tuples were formalized so as not to need _._1 or _._2 and case classes were cleaned up.  The location of Option was moved around so that the deserializer could better work with times.
Some text constants were moved to companion objects so that the constants could be better shared with the deserialization code.
One bug was fixed where the DocumentFilter was overwriting the document text.

Sorry that these changes will be so difficult to follow.  Perhaps it was time to squash the multiple commits into a single one.
The code has been tested at various times against the internal tests and the collections of 10, 52, and 500 documents.  It seems to be holding up well.

Stop the press.  I've concluded that my statements related to the raw values of words is incorrect.  I'm starting to fix them now.

@MihaiSurdeanu, @BeckySharp, any reservations (such as clean up your sloppy code!) before I assume silence implies satisfaction?  It's going to be difficult to follow what happened in the individual commits.  A before and after diff might work.  Almost all changes were to the Deserializer class, which will sit there largely unused.  Changes to other classes might be worth some attention, however.

Silence is satistfaction in my case!

I'm good with it I'm sure!
On Mon, May 6, 2019 at 2:56 PM Mihai Surdeanu<EMAIL_ADDRESS>wrote:

Silence is satistfaction in my case!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/clulab/eidos/pull/574#issuecomment-489797935, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABJCPCK64CVT47QGDCCADIDPUCSPFANCNFSM4HGL56AA
.


Add ability to reset state without reinitializing

Note that this should trigger change events and is essentially just an alias for
pseudo: stateModel.set(stateModel.default)

Closing this issue as #163 has been merged into develop.

Closing this issue as #163 has been merged into develop.


Added string datatype to data.HEADSHAPE

This was added to make explicit that the <valList type='semi'> should accept other string values for the note.head attribute.
I'm using two "pure ODD" recently added elements to solve this problem: <alternate>and <dataRef>.
This allows me to indicate that the datatype should either allow the list of attribute values or string.
Caveat: the current TEI schema doesn't validate this yet, but it's correctly processed by the latest release of TEI XSLTs.

I think this was solved by @pe-ro in 3.0.0. Close?


Correct ioctl(2) interface definition for musl/ppc64

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors: r+
Thanks!

:pushpin: Commit 6d9c681f4efd8670bb0606d8ad4da32bcf799a32 has been approved by alexcrichton

:hourglass: Testing commit 6d9c681f4efd8670bb0606d8ad4da32bcf799a32 with merge 93a1995d924100653e7b100a645198b9501edce0...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 93a1995d924100653e7b100a645198b9501edce0 to master...


What is the option for log entity or Audit

Hi, how can i log all or some changes to entity in EF or  DB table

This is an ELMAH question.  Not ELMAH.MVC.


Do unexpected assigns before expected assigns.

Add HasEvents flag to entity event queues.

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Integration.ApplicationInsights.Core.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Integration.AspNet.Core.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Testing.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.6.3
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Streaming.dll compared against version 4.6.3

Pull Request Test Coverage Report for Build 103485

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.587%

Totals

Change from base Build 103446:
0.0%

Covered Lines:
10870

Relevant Lines:
13658

💛  - Coveralls


Remove redundant vm_pause from VMware InfraManager

It was found in discussion of https://github.com/ManageIQ/manageiq/pull/12056 that the vm_pause method in VMware is just an alias for vm_suspend and it was completely unused (https://github.com/ManageIQ/manageiq/pull/12056#issuecomment-255122359).
This removes the unused method and the alias in the broker.
cc @bronaghs @durandom

👍 LGTM

:clap: Good. I love those PRs :)
@miq-bot assign blomquisg
@miq-bot add_label providers/vmware/infra, pluggable providers, euwe/no

@blomquisg - If you can merge this today I can feature it in this weeks edition LWIMIQ :-)

Gah the sporadic test failures keep catching this one

@blomquisg tests are green


feat(archive): Migrate errors to constants

Unwrapped errors: ErrTarFileNoDest and ErrTarFileWriteDir

Prerequisite checklist

[ ] Read the contribution guidelines regarding submitting new changes to the project;
[ ] Tested your changes against relevant architectures and platforms;
[ ] Ran make fmt on your commit series before opening this PR;
[ ] Updated relevant documentation.

Description of changes

Hi @frs513! Thanks for this addition.
Could you please add your sign off to the commit message?
Please also check the static checks which have failed: https://github.com/unikraft/kraftkit/actions/runs/8840310392/job/24326614178?pr=1601
Tip: You can run make fmt and make cicheck locally before submitting a PR to run these tests.

Hey @frs513
Are you still working on this?

NoOn Jun 23, 2024, at 11:01 PM, Cezar Craciunoiu @.***> wrote:
Hey @frs513
Are you still working on this?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


How set selected font color?

Hi
I copy style.js file from examples. In this file i can change color of selector (selected item), but i don't undestand how set font color?

tree > node > header > base
add color: '#FFFFFF' for example...

@eladhayun this change the color of the whole tree I would want to change just the color of the selected node
do you know how can I do that?
thank you.

How to set the arrow color in treebeard ?


Allow to Override Order of Commands in Help

The current implementation of the help function sorts the command lexicographically. A request for enhancement (#361) has been open for a while and it seems that people are resorting to hacks to change it.
This PR adds a class method called sort_commands!. The default implementation maintains the lexicographic ordering but the method can be easily overridden by the subclass to obtain any sort of ordering.
Here is a quick example that would place the help command first
class MyScript < Thor
  ...
  def self.sort_commands!(list)
    list.sort_by! do |a,b|
      a[0] == :help ? -1 : a[0] <=> b[0]
    end
  end
end

up

@rafaelfranca, @Roriz - is it time to merge this? 😃

Hi everyone! Are you still hoping to merge this PR? It would be a great help!


Pin vtk

Pin vtk version to fix Windows CI tests

Pinning vtk fixed the Windows test failing on CI. However, currently http://api.brain-map.org/api/v2 is down causing the gene expression smoke tests to fail.

Should we merge this given the failures are unrelated to the VTK problem?

Seems the problems at http://api.brain-map.org/api/v2 have resolved

Thanks @IgorTatarnikov. I've raised https://github.com/brainglobe/brainrender/issues/399 to revert this at some point.


add std as method

Add std as method to array, close #1386

We could also update tests for all ops in the test_array.py
https://github.com/ml-explore/mlx/blob/58dca7d8464d6ce25f0fd94eb3ece4cc0c119632/python/tests/test_array.py#L1426
I did a small check,
 not_in_ops = [     "abs",     "conj",     "cummax",     "cummin",     "cumprod",     "cumsum",     "diag",     "diagonal",     "flatten",     "log10",     "log2",     ("moveaxis",1,2),     "round",     "split",     "squeeze",     ("swapaxes",1,2),     "std" ]
these many are missing. If you want, I can add in this PR or create a different PR for it.


Enhanced Docker Details

Summary of the problem
Today Node details page provides only limited information about hosts/k8s pods/containers. While it's better than nothing, we have the possibility to surface a lot more to the users and improve overall user experience.
User stories
As as admin I want to be able to see enhanced details of my Docker platform and containers running on it, based on the information collected by Metricbeat so that I could get more insights about what's happening with my container infrastructure
Details to expose

Product Brief: coming soon

Pinging @elastic/observability-design (design)


4.2rc1 - New project - Editor hangs when opening on Mac M1 Pro

Godot version
4.2rc1
System information
MacOS 13.6
Issue description
I just downloaded the latest version - 4.2rc1 and I can't get the editor to start.  The project manager comes up, I create a new project, but when I try to edit, the project manager closes and the editor tries to start but it just hangs.  Previously used 4.1.x with no issues.
Steps to reproduce
Create a new project, try to edit it.
Minimal reproduction project
N/A

What renderer did you choose for the new project? Do you have the same problem with all 3 options?
If it only happens with the GL Compatibility one, can you try to edit the project from the command line with:
path/to/Godot --rendering-driver opengl3

(to force overriding the default which should be opengl3_angle on macOS, and may be the source of your issue)

I tried Mobile and Forward.  Seems fine on my M2 mac with OS 14.2 though.

I can't reproduce it (M1, macOS 14.1.1, with any renderer).

Can you confirm that 4.1.3-stable works fine on that macOS 13.6 machine?
If so, can you test intermediate dev snapshots/betas between 4.1-stable and 4.2-rc1 to pinpoint when it started failing? E.g. you can test 4.2-beta1 and based on the result test earlier or later builds (i.e. bisect the potential regression using official builds).

You can find all past dev and beta snapshots on latest pages of https://godotengine.org/blog, but there's also the archive page which lists them all: https://godotengine.org/download/archive/

4.2b1 Starts up fine with forward and mobile renderers but hangs when quitting.  Any version past that hangs when the editor tries to launch.

Apparently there was a dialog that was hidden somewhere to allow xcode to install some stuff.

Godot doesn't need Xcode for most of the stuff, so it's probably should be considered as a bug anyway. Most likely caused by iOS one-click display trying to get running simulator list from Xcode.

im on m2 pro and i cant even open on 4.2 godot. it just hangs there.
im able to run 4.1.3 but not 4.2 stable.
my OS: 13.4 and im using m2 pro 12 cpu
Update: I tried forward+, compatibilty, and mobile. None of them worked

Im on M1 Macbook air. Upgrading to MacOS 14.1.2 solved the problem.


WIP: consolidate path

Closes #196
Bare with me on this one, first time using pathlib and still trying to get a full understanding of the repository
Would appreciate some feedback from one of the maintainers to see I'm on the right track with the changes so far!

Thanks again for opening this PR @vantaka2. I will try to to get this to the 🥅 the next days in order to solve #196. 🙂


Add contributing section in README

We add the Contributing section in README, as well as some typo fixed.

Thanks all. Merging...


Swift Cocoapod Issue

I am trying to compile my project with Spring as its cocoapod dependency.
I am using xcode 6.4 and I keep getting this segmentation fault 11 error.

While type-checking 'viewDidLoad' at /Users/samuelkitono/Airward/airward-client-swift/AirwardLoadingViewController.swift:18:14
While type-checking expression at [/Users/samuelkitono/Airward/airward-client-swift/AirwardLoadingViewController.swift:20:9 - line:20:142] RangeText="self.checkmarkSpringImageView.image = self.checkmarkSpringImageView.image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)"
While deserializing 'init' (ConstructorDecl #330)
While deserializing decl #573 (XREF)
Cross-reference to module 'UIKit'
... UIImageView

Tried cleaning the project and rebuild.
Tried quitting xcode and rebuild
None of them work...

I tried to reproduce you issue and was using Xcode Version 6.4 (6E35b) and Swift with the following podifile:
use_frameworks!
pod 'Spring', '~> 1.0'

without any issues.
Maybe you can provide some additional information so that we can solve your issue.
Thanks :+1:

Hey @keyclipse, since there was no feedback over the last Month, I assume that everything works now and the issue can be closed.
Let us know if you’re still experiencing this problem. :smile:


Issuue when installing tesseract-ocr, poppler-utils, libmagic-dev, libgl1

I am trying to Dockerize my application and the library I am using requires system dependencies like tesseract-ocr, poppler-utils, libmagic-dev, and libgl1 I tried installing these using dnf and microdnf but each time I try to Dockerize my app I am getting some of these packages are not found, Could anyone guide me in the right direction to install these and by the way I am using Lambda/python-3.12
FROM public.ecr.aws/lambda/python:3.12

RUN microdnf install -y dnf-plugins-core
RUN dnf config-manager --add-repo https://download.opensuse.org/repositories/home:Alexander_Pozdnyakov/Fedora_32/home:Alexander_Pozdnyakov.repo
RUN dnf update -y && dnf install -y \
    libmagic-dev \
    poppler-utils \
    tesseract-ocr \
    libgl1
WORKDIR /app

COPY requirements.txt .

# Install dependencies
RUN pip install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"

COPY app/main.py "${LAMBDA_TASK_ROOT}/main.py"
COPY app/middleware.py "${LAMBDA_TASK_ROOT}/middleware.py"

CMD ["main.handler"]

This is my Docker file.

Hi @shriharshan! I'm not sure if you can install these packages using the base Lambda image for Python 3.12 because a few points:
1 - The python3.12 Lambda base image uses minimal linux container which implements microdnf instead of dnf and even if you install dnf-plugins-core you probably won't be able to run dnf config-manager --add-repo to add this new repository.
2 - This repository seems wrong, they don't support Feroda32, I could only see support for CentoOS and RHEL and even using them on an amazonlinux2023 image I wasn't able to install these packages due to dependency conflicts.

3 - You can try downloading the rpm for these libraries and installing it from there, but I think that will be a nightmare to deal with conflict resolution.
4 - If I were you, I would build this image from the python:3.12 image and then install those dependencies + aws_lambda_ric. Check the documentation here on how to build a custom image.
5 - The upstream python3.12 image is built on top of Debian, so you can use this Dockerfile to get some ideas and build your own image:
# Define custom function directory
ARG FUNCTION_DIR="/function"

FROM python:3.12 AS build-image

# Include global arg in this stage of the build
ARG FUNCTION_DIR

# Install necessary packages
RUN apt-get update && apt-get install -y \
    libmagic-dev \
    poppler-utils \
    tesseract-ocr \
    libgl1 \
    && rm -rf /var/lib/apt/lists/*

# Copy function code
RUN mkdir -p ${FUNCTION_DIR}
COPY . ${FUNCTION_DIR}

# Install the function's dependencies
RUN pip install \
    --target ${FUNCTION_DIR} \
        awslambdaric

COPY requirements.txt .

# Install dependencies
RUN pip install -r requirements.txt --target "${FUNCTION_DIR}"

COPY app/main.py "${FUNCTION_DIR}/main.py"
COPY app/middleware.py "${FUNCTION_DIR}/middleware.py"

# Set runtime interface client as default command for the container runtime
ENTRYPOINT [ "/usr/local/bin/python", "-m", "awslambdaric" ]
# Pass the name of the function handler as an argument to the runtime
CMD [ "lambda_function.handler" ]

I hope this help.


Could not cast value of type 'NSNull' (0x1da9e7200) to 'NSDictionary'

Translated Report (Full Report Below)
Incident Identifier: FB33331A-FCDA-4A36-BCB8-44EB539EE5CF
CrashReporter Key:   BECEEB1E-0D1C-8B3E-D352-ECBDD0F47368
Hardware Model:      MacBookPro18,3
Process:             Runner [52925]
Path:                /Users/USER/Library/Developer/CoreSimulator/Devices/89F15741-8116-4B3B-8C8F-D2A59E53E1A1/data/Containers/Bundle/Application/B78EA271-4E11-4568-A11C-F4ABEBD5D42E/Runner.app/Runner
Identifier:          com.eterex
Version:             1.0.3 (5)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd_sim [4258]
Coalition:           com.apple.CoreSimulator.SimDevice.89F15741-8116-4B3B-8C8F-D2A59E53E1A1 [1280]
Responsible Process: SimulatorTrampoline [3172]
Date/Time:           2022-07-11 18:05:18.0163 +0430
Launch Time:         2022-07-11 18:04:54.8091 +0430
OS Version:          macOS 12.2.1 (21D62)
Release Type:        User
Report Version:      104
Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  0
Application Specific Information:
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
CoreSimulator 802.6 - Device: iPhone12 (89F15741-8116-4B3B-8C8F-D2A59E53E1A1) - Runtime: iOS 15.4 (19E240) - DeviceType: iPhone 12
Could not cast value of type 'NSNull' (0x1da9e7200) to 'NSDictionary' (0x1da9e6da8).
dyld4 config: DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
abort() called

I solved this by passing empty customParams when I called beginChat method. In iOS native code customParams is not nullable

This is related to #23 . Follow this solution by sandunangelo https://github.com/Mastersam07/livechat/issues/23#issuecomment-1049469903


Support for JMX notifications (events) #644

I've started to implement support for JMX notifications as discussed in the issue.
It's working end-to-end as can be seen in JmxTransformerIT integration test.
For now the only kind of Notification which is supported is AttributeChangeNotification. Applications could of course implement their own Notifications but jmxtrans would need to have related classes on its class path. It's probably not the common case.
My use case is the following:

Publish events (e.g. completed business processes with execution time and meta data).
Stick to AttributeChangeNotifications, Java collections and primitives to model events.

Example publisher:
public class Hello
        extends NotificationBroadcasterSupport
        implements HelloMBean {

       ....
        Map<String, Object> vals = new HashMap<>();
        vals.put("cacheSize", this.cacheSize);
        vals.put("someId", "12345");
        vals.put("someVersion", "1.2.3");

        Notification n = new AttributeChangeNotification(this,
                sequenceNumber++, System.currentTimeMillis(),
                "Event occurred", "CustomEvent",   "Map",
                null, vals);

        sendNotification(n);

Example jmxtrans configuration:
          {
          "obj": "Examples:type=JMX,name=MXBean",
          "resultAlias": "myEvent",
          "queryType" : "NOTIFICATIONS",
          "attr": ["CacheSize"],
          "outputWriters": [
            {
              "@class": "com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
              "url": "http://<IP_ADDRESS>:8086/",
              "username": "admin",
              "password": "admin",
              "database": "appstats",
              "tags": {
                "application": "my-app2"
              }
            }
          ]
        }

The query will subscribe to nofitications of the CacheSize attribute which are published by the configured MBean. queryType is set to NOTIFICATIONS to tell jmxtrans that we want to use events here and not polling.
Example data from InfluxDB:
> select * from myEvent where time > now() - 1m
name: myEvent
time                 CacheSize CustomEvent_cacheSize CustomEvent_someId CustomEvent_someVersion _jmx_port application attributeName className hostname  objDomain typeName
----                 --------- --------------------- ------------------ ----------------------- --------- ----------- ------------- --------- --------  --------- --------
1522362599612000000            22                    12345              1.2.3                   10000     my-app2     CustomEvent   Hello     localhost Examples  type=JMX,name=MXBean
1522362601803000000            1                     12345              1.2.3                   10000     my-app2     CustomEvent   Hello     localhost Examples  type=JMX,name=MXBean
1522362612651000000            22                    12345              1.2.3                   10000     my-app2     CustomEvent   Hello     localhost Examples  type=JMX,name=MXBean
1522362630900000000            11                    12345              1.2.3                   10000     my-app2     CustomEvent   Hello     localhost Examples  type=JMX,name=MXBean

We can of course discuss the overall design and limitations. I'm keen to hear feedback.

:x: Build jmxtrans 99 failed (commit https://github.com/jmxtrans/jmxtrans/commit/db34444d0e by @dgloeckner)

:x: Build jmxtrans 101 failed (commit https://github.com/jmxtrans/jmxtrans/commit/0b3489ae08 by @dgloeckner)

Hi,
I've just pushed a commit where I changed my design to use pushing instead of polling.
Here's how it works:

when a new JMX connection is created for a given server (JmxConnectionProvider) the notification listeners are registered. MBeanServerConnectionFactory calls  server.subscribeToNotifications() when a connection is created.
NotificationProcessor receives the notifications, converts them to results and passes them to the configured output writers. On the calling thread atm.

Some questions popped up:

query.queryNames() - what is this used for and do I use it correctly in Query.subscribeToNotifications()
Threading / concurrency: see comment in NotificationProcessor

Keen to hear your feedback.
Cheers,
Daniel

See https://github.com/jmxtrans/jmxtrans/pull/648 for problem with AppVeyorCI

:white_check_mark: Build jmxtrans 106 completed (commit https://github.com/jmxtrans/jmxtrans/commit/aee8030fc9 by @dgloeckner)

@gquintana @gehel I appreciate if you could have a look at my questions posted after the latest commit :)

A few comments:

when a new JMX connection is created for a given server (JmxConnectionProvider) the notification listeners are registered. MBeanServerConnectionFactory calls server.subscribeToNotifications() when a connection is created.

That is problematic as multiple JMX Connections can be opened to a single application (see inline comment about connection pool). We need to abstract the subscription even more. Also I think that the pool has a default min idle of 0, which means that the connections are created only on demand. If we only have notification queries, the connection will probably never be created and the notifications never registered.

NotificationProcessor receives the notifications, converts them to results and passes them to the configured output writers. On the calling thread atm.
Epoch (timestamp) is taken from the notification itself.

That looks fine.

Some questions popped up:
query.queryNames() - what is this used for and do I use it correctly in Query.subscribeToNotifications()

Yes, you seem to use it correctly. A query can resolve to multiple mbeans. queryNames() will execute the query and return a list of the ObectNames of the mbeans matching the query.

Threading / concurrency: see comment in NotificationProcessor
objectInstance in JmxResultProcessor: am I passing in the correct object?

I'm not sure what you are referring to. Could you add a link?

Despite all the comments, congratulation on the nice job! You are trying to address a complex problem, within a code base that could be much cleaner than it is! I hope we'll manage to make all that work!

:x: Build jmxtrans 160 failed (commit https://github.com/jmxtrans/jmxtrans/commit/1501042351 by @dgloeckner)

:white_check_mark: Build jmxtrans 161 completed (commit https://github.com/jmxtrans/jmxtrans/commit/23fefe097e by @dgloeckner)

@gehel I've just pushed a major change. There's now an explicit object pool which handles a notification processor per server-query tuple. A notification processor has a private JMX connection so managing the subscriptions (also with varying nr of returned object names) is much easier. The notification listeners will be subscribed / re-subscribed at a regular interval.

I'm sure there are more reviews for "cosmetic" changes. I hope we get closer to the final design now and than the fine tuning can start.

Here's the gist of the re-design:
    public void subscribeToNotifications(final Server server) throws Exception {
		NotificationProcessor processor = null;
		ServerQuery serverQuery = new ServerQuery(server, this);
		try {
			processor = notificationProcessors.borrowObject(serverQuery);
			processor.subscribeToNotifications();
		} catch (Exception e) {
			if(processor != null) {
				notificationProcessors.invalidateObject(serverQuery, processor);
			}
			throw e;
		} finally {
			notificationProcessors.returnObject(serverQuery, processor);
		}
	}

Calling processor.subscribeToNotifications() takes care of adding new notification listeners and removing notification listeners for which the remote object name does not exist any more. The notification processor contains a JMXConnection. If anything goes wrong during subscribeToNotifications(), tell the object pool to invalidate the processor. The object pool is configured with max active = 1 so the periodic call to server. subscribeToNotifications() will always get the same notification processor for a given server - query tuple.
What I like is that the state for notification listeners is isolated in one object, the NotificationProcessor. That object is responsible for bookkeeping. It features "let it crash" as we can simply throw away a notification processor which threw an exception (possibly due to a connection issue) and we'll try again from scratch without any extra code.
Calling processor.subscribeToNotifications() periodically also acts as a "heart beat" to ensure that the JMX connection is still alive so we can be sure that we're able to receive notifications. It also takes care of new object names appearing at run time which could match our query.

TODOs:

have design approved ;)
add unit tests and extend integration test further (e.g. MXBeans added / removed at runtime, simulate broken connections)
fix all issues from code review once the design is approved
document usage, design and limitations

@gehel would be cool if you could review the re-design, specifically handling of JMX connections. Maybe one JMX connection per server and query to receive notifications is too extreme. On the other hand, I wanted to keep state management simple which is a feature of the current design.

Was this merged into JMXTrans? Does the latest JMXTrans release support mbean notifications?


Filename as part of json or not?

... right now I add a filename property to each product during load. This property also gets saved, so every json file edited with the app will get a filename field... Should this be changed or kept?

It is a redundant information, so if it is not necessary, I would leave it out. Don't know how complicated that is so ...

i see, you want to change the filename also according to the ingredient name. But still IDK if it is necessary,,,

... I think t should be easy to keep track of the filename independently. So we could keep the filename auto update functionality without polluting the json files with redundant data.


Auth rules spec conflicts with C-S API spec about what happens before the first power-levels event

The auth rules say: 'If there is no previous m.room.power_levels event in the room, allow'. But the C-S API says: 'If the room contains no m.room.power_levels event, the room's creator has a power level of 100, and all other users have a power level of 0' - and makes no exception for power_levels. This is, at best, confusing.

The latter would probably cover the exceptional case where a room has been created but there were no PL structures defined at creation. Apart from that probably all rooms is (and would be) created with m.room.power_level at creation, possibly by using power_level_content_override (c2s) which is specifically there to provide PL structure different from the defaults.

@grinapo remember that all events have to follow the auth rules, even those created during the room-creation process. The first power-level event (ie, the one created by createRoom) is therefore authorised by other homeservers based on the default power-levels, which are, in theory, those written in the C-S API.


Construction of task goal for jump and backflip

Your work is so impressive, and I have a question on it.
I wonder what kind of task goal is given for jump and backflip without using phase.
Thank you.

There are no goals for imitating the jumping and backflip motions. The only objective was to imitate the ref motion. It should be possible to hand design rewards for those motions too, but could be quite tricky.

Thank you for your fast reply :)
For adversarial motion prior, is it possible to jump enough using only style reward(reward from discriminator)?
Actually, in my case the character can not jump as high as reference motion. It just pretends to jump or jump lower than reference.
I'm thinking about tuning task goals related to velocity, but I wonder if just style reward is enough to imitate jump or backflip motions.


Display full error object all the time regardless of argument position

A quick explanation:
var debug = require('debug')('http');

const error = new Error('hi');
error.info= { display: 'me' };
debug(error) ;
debug('', error); // this will output info object

This is not mentioned in the readme and I had to hunt the reason for this. If an error is the first argument, it will be coerced.
https://github.com/debug-js/debug/blob/f66cb2d9f729e1a592e72d3698e3b75329d75a25/src/common.js#L82
At the very least, this behavior should be documented in the readme.
An option could be added to change this behavior. At first, the option could default to the current behavior and then the default behavior can be changed after a reasonable period.
This issue is related to https://github.com/debug-js/debug/issues/334. This open issue is also related, https://github.com/debug-js/debug/issues/711.

I agree to this idea.
I also had hard time to investigate why debug(error) only shows stack traces, but no other visible properties unless debug is "wrapped" with other object such as { error: error } .
My interim solution is to override createDebug.coerce() to return the value as it is.
const debug = require("debug");
debug.coerce = (val) => val;
const debugError = debug('http');

const error = new Error('hi');
error.info= { display: 'me' };
debugError(error);  // now full object will be displayed.

I wish if I could use debug without such tweaking.


Pjl bettersearch

Made some cosmetic improvements to web search for the demo

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 7 committers have signed the CLA.:white_check_mark: bizzbyster:white_check_mark: leonardoaramaki:white_check_mark: Shailesh351:white_check_mark: ear-dev:x: jaytat0:x: ericrosenthal:x: jhepburnYou have signed the CLA already but the status is still pending? Let us recheck it.


Image replacement is case-sensitive when it should not be

Describe the Bug
When replacing an image in the image editor, if the case of the extension differs the replacement fails.
Steps to Reproduce

Upload an image named "file.PNG"
Attempt to replace the image with "newfile.png"
Observe the error

Expected Behaviour
As png and PNG are not indicators of different files, you should be able to replace a file ending in PNG with one ending in png.
Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
v24.02.2

Pull request wrapping the relevant segments of code in strtolower() has been created


KAFKA-4720: add a KStream#peek(ForeachAction<K, V>)

https://issues.apache.org/jira/browse/KAFKA-4720
Peek is a handy method to have to insert diagnostics that do not affect the stream itself, but some external state such as logging or metrics collection.

Thanks for this PR. Because this is a public API change, it is required to do a KIP first: https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals
If you need any help with preparing a KIP, please ask for help at the dev mailing list.

Added final to everywhere it made sense, and added test coverage that the value is passed as well as the key.

New version up with a rewritten test that should address all above comments.

Okay, another pass, hopefully there are not many nits left to pick...

I think the test failure is unrelated:
java.lang.AssertionError: Heartbeat thread active after close
	at org.apache.kafka.clients.consumer.internals.ConsumerCoordinatorTest.testHeartbeatThreadClose(ConsumerCoordinatorTest.java:1425)

LGTM, thanks @stevenschlansker

Yes, this was introduced by removing a this. which was actually necessary :( pushed a fix.

The KIP vote passed with +8 votes.

Merged to trunk.

@guozhangwang Created https://issues.apache.org/jira/browse/KAFKA-4772

How is this different from map with some side-effecting operation?

@xiongtx:
peek is similar to map, just like foreach is similar to map.  An important reason to have peek and foreach is that it allows a developer to clearly communicate the intent of an operation:

map: "When I use map, my intent is to modify the input stream, i.e. I want to an output stream that contains the modified data so that I can perform additional operations on the modified data."
foreach: "When I use foreach, my intent is to cause some side effects based on the input stream AND then I want to terminate the processing." (that's why foreach returns void and thus is labeled as a terminal operation)
peek: "When I use peek, my intent is to cause some side effects based on the input data AND then I want to continue processing the (unmodified) input data."

The PR includes the following javadocs snippet:

Peek is a non-terminal operation that triggers a side effect (such as logging or statistics collection) and returns an unchanged stream.

See also the Java 8 documentation on java.util.stream.Stream#peek():
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#peek-java.util.function.Consumer-
Does that help?

@miguno Fair enough, thanks.


adds iter_side_effect function

I thought I'd submit this in case you thought it would be a worthwhile addition. My use case is POSTing enumerated chunks of an unchunked stream, which is something that using side_effect with chunk_size doesn't permit (as far as I can tell). If you think it's a worthwhile addition, I'll add tests.

Thanks! Could you tell me why it's important for this function to yield the original items from the iterable, rather than the enumerate-ed ones? I'm afraid I don't get that part.

 It's useful in similar situations to those where the existing side_effect function is useful, that is where you want to apply to the elements of an iterable an impure function that doesn't itself return the original elements. For both side_effect and iter_side_effect, this is not so useful  when the impure function operates on individual elements (as far as I can tell), because you could use map instead, and return the item from the impure function after it's been used to generate the side effect. They're more useful for operations on chunks of items, because the caller doesn't have to deal with flattening the chunks afterwards. side_effect, though, doesn't allow operations on the iterable as a whole, only on at most individual chunks of the iterable. For me then, with my enumerated chunks, something like iter_side_effect is useful.
It's the difference between allowing me to treat the operations particular to the POSTing totally separately from the main 'flow' in which the items are processed (they're additionally logged and posted elsewhere):
`
def post_iter_fn(iter):
transformed_iter = map(transform, iter)
chunks = chunked(transformed_iter, post_chunk_size)
json_chunks = map(make_post_json, enumerate(chunks))
return side_effect(post_to_client_url, json_chunks)
# main flow
posting_iter = side_effect_iter(post_iter_fn, iter)

`
and mixing them into the main flow, along with the unpacking and flattening operations, which is noisier:
`
def post_chunk_fn(chunk):
transformed_chunk = map(transform, chunk)
json_chunk = make_address_post_json(transformed_chunk)
return post_to_client_url(json_chunk)
# main flow
chunks = chunked(iter, post_chunk_size)
posted_enumerated_chunks = side_effect(post_chunk_fn, enumerate(chunks))
posted_chunks = map(itemgetter(1), posted_enumerated_chunks)
posted_iter = flatten(posted_chunks)

`

Thanks for the details - this is a nice writeup.
I'm afraid I'm not totally sold on the inclusion here. Perhaps if you could write out how somebody who didn't know how map, the itertools module functions, or the more_itertools functions would write this? That might make the comparison easier.
Or, a link to a StackOverflow post or two where this would solve somebody's problem - that's always helpful.

You're welcome. I'm not totally sold on the inclusion either -- it is useful only for a relatively uncommon scenario -- so I'll leave it there. Thanks for your time :)