Safe services

Context:
I've been working the codebase to receive this new feature. The main idea will be to expose a new kind of pipelines and services which will generate a failure when happening an exception during their executions.
This idea/need is being discussed in this issue: #2

@ekampp I began to work in an idea to address this issue with exceptions.
The basic idea:
Add new kind of services and pipelines to generate a failure if an exception happening during their executions.
Question:
What do you think about the usage of & to be the operator to compound safe pipelines?
module Users
  Create = ProcessParams & ValidateParams & Persist & SendToCRM
end

As I read this (and I'm not fluent in the mini-test framework, so bear with me here): This will propagate the internal error outside of the pipeline, but be a kind of Micro::Service::Result, right?
But will that solve the problem that a successful result triggers actually raises an exception?

As I read this (and I'm not fluent in the mini-test framework, so bear with me here): This will propagate the internal error outside of the pipeline, but be a kind of Micro::Service::Result, right?

Yes, you got right.

But will that solve the problem that a successful result triggers actually raises an exception?

Yes, because any exception will be wrapped in a result.
Example:
require 'logger'

AppLogger = Logger.new(STDOUT)

class Divide < Micro::Service::Safe
  attributes :a, :b

  def call!
    Success(a / b) if a.is_a?(Integer) && b.is_a?(Integer)
    Failure(:not_an_integer)
  end
end

result = Divide.call(a: 2, b: 0)
result.type == :exception             # true
result.value.is_a?(ZeroDivisionError) # true

result.on_failure(:exception) do |exception|
  AppLogger.error(exception.message) # E, [2019-08-21T00:05:44.195506 #9532] ERROR -- : divided by 0
end

#===============================================#
# If you need a specific error handling,        #
# I suggest the usage of a case statement. e.g: #
#===============================================#

result.on_failure(:exception) do |exception, service|
  case exception
  when ZeroDivisionError then AppLogger.error(exception.message)
  else AppLogger.debug("#{service.class.name} was the service responsible for the exception")
  end
end

What . happens if I want to do exception handling inside the call! method? E.g. from your example, how would I handle internal exceptions like this?
class Divide < Micro::Service::Safe
  attributes :a, :b

  def call!
    return Success(a / b) if a.is_a?(Integer) && b.is_a?(Integer)
    Failure(:not_an_integer)
  rescue => error
    p error # => This will still be hit on a Success result
  end
end

What . happens if I want to do exception handling inside the call! method? E.g. from your example, how would I handle internal exceptions like this?
class Divide < Micro::Service::Safe
  attributes :a, :b

  def call!
    return Success(a / b) if a.is_a?(Integer) && b.is_a?(Integer)
    Failure(:not_an_integer)
  rescue => error
    p error # => This will still be hit on a Success result
  end
end

@ekampp In this case, you will need to define failure. I just made a new commit testing this behavior and improving the result type definition for failures with exceptions (for safe services only).
So, if you rescue something will be your responsibility to define the service result. The safe services are an alternative to create flows without exceptions, that is, you can define a result hook (.eg:  result.on_failure(:exception) { #... }) to define how your application will respond at the end of some safe Service/Pipeline execution.

I like how this looks. Do I interpret this correctly, so that it enables me to do this:
  def call!
    Success(a / b) if a.is_a?(Integer) && b.is_a?(Integer)
  rescue => error
    # report error
    # then bubble up error
    Failure(:not_an_integer)
  end

And this will not fall into the rescue block when it's actually a success?

I like how this looks. Do I interpret this correctly, so that it enables me to do this:
  def call!
    Success(a / b) if a.is_a?(Integer) && b.is_a?(Integer)
  rescue => error
    # report error
    # then bubble up error
    Failure(:not_an_integer)
  end

And this will not fall into the rescue block when it's actually a success?

That's right 👍


Fix panic ln node

Hi @grunch ,
this should fix the possible ln node without blocking Mostrod.
To be tested.

great, mostrod does not panic when ln is down and keeps running printing a log?

great, mostrod does not panic when ln is down and keeps running printing a log?

Yes, this is the log:
2024-09-11T15:46:14.421235Z  WARN mostrod::app: Error in AddInvoice with context status: Cancelled, message: "status: Unavailable, message: \"error trying to connect: tcp connect error: Connection refused (os error 111)\", details: [], metadata: MetadataMap { headers: {} }", details: [], metadata: MetadataMap { headers: {} }


Stats usedExports:true claims 'only some exports used' when all exports are used

Do you want to request a feature or report a bug?
Report a bug

What is the current behavior?
I'm attempting to use webpack's treeshaking to understand if I have any code that should be removed from my code base.
If i set
stats: {
              exclude: undefined,
              maxModules: Infinity,
              providedExports: true,
              usedExports: true,
}

I see output like:
 | ./native/log/logui.js 327 bytes [built]
           |    [exports: log]
           |    [only some exports used: log]
or
[3] ./styles/colors.js 2.44 KiB {0} {1} [built]
           [exports: default]
           [only some exports used: default]

etc.
I assume if exports === exports used , it shouldn't say 'only some' right? In that case it's using all exports (and i would argue it shouldn't even output in this case)
or better yet maybe stats could just have a flag that's to show the unused exports (basically the inverse of usedExports)
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version, and Operating System.
Happens on osx webpack 0.4.4/0.4.5

Thanks for your report. It would be great if you reduce your issue to a small reproducible example. Best put this example into a github repository together with instructions how to get to the problem.

sure:

Checkout https://github.com/keybase/webpack-example
yarn
yarn bug

You'll see
> yarn bug
yarn run v1.5.1
warning package.json: No license field
$ webpack --mode production --display-used-exports --display-provided-exports
Hash: 8a99789cb72e1930c4d2
Version: webpack 4.5.0
Time: 73ms
Built at: 4/9/2018 3:55:01 PM
  Asset       Size  Chunks             Chunk Names
main.js  648 bytes       0  [emitted]  main
Entrypoint main = main.js
   [0] ./src/index.js + 2 modules 232 bytes {0} [built]
       [no exports]
       | ./src/index.js 49 bytes [built]
       |    [no exports]
       | ./src/a.js 122 bytes [built]
       |    [exports: unused, default]
       |    [only some exports used: default]
       | ./src/b.js 61 bytes [built]
       |    [exports: default]
       |    [only some exports used: default]

@chrisnojima I've submit a PR for this. Could you give some feedback on it?

cool, looks good!


Create Button component and variations

Buttons
Figma: https://www.figma.com/file/Lo1ZcBOO9t4QRbX2I0PwBQ/RBB?node-id=2%3A102
Buttons should extend existing Chakra UI components to achieve the style outlined in the figma document for each state and variation.

Jumping on it 👍

@ChrisBrownie55 no need to apologize at all. On me for trying to juggle too many things at once :)


Use HTTPS for links where possible

Excludes _data/tools.json as this file is being modified in https://github.com/IDR/idr.openmicroscopy.org/pull/28

in _includes/head-idr.html
http://www.twitter.com/idrnews and http://www.twitter.com/idrstatus
can be updated

#32 has been merged

Rebased and updated. I haven't modified the font-awesome URLs because they're comments in a vendored source file

@manics font-awesome understood

Looks good Thanks


docker-machine create node without tls verification

When I create a node with docker-machine
docker-machine create -d virtualbox node1
it is created with tls verification enabled for docker deamon which made things a bit more of a hassle than normal for swarm.
I want to create a node with docker-machine without tls verification for testing purpose.
and this does not work for me
docker-machine create -d virtualbox --engine-env DOCKER_TLS=no --engine-opt host=tcp://<IP_ADDRESS>:2375 node1

It's not currently possible today.  I have been pretty hesitant to add the feature due to fear that users who aren't aware of the consequences might use it and put themselves (unnecessarily) at risk.
Maybe it would be OK if we put it behind a flag that specifically calls out its insecure nature, e.g. --engine-insecure.

@nathanleclaire Ok, i get it.If i can't create a machine without tls verification,then how can i create a swarm node when i have created the machine in virtualbox. At present, i only know create a swarm node when i am creating the machine.
For example:
docker-machine create \
 -d virtualbox \
 --swarm --swarm-master \
--swarm-discovery="consul://$(docker-machine ip discovery):8500" \
 --engine-opt="cluster-store=consul://$(docker-machine ip discovery):8500" \
--engine-opt="cluster-advertise=eth1:2376" \
node
the docker swarm for a production does not give a certain solution for how to create a swarm node with tls verification when i have created the machine in virtualbox.
i only get that:
https://docs.docker.com/swarm/install-manual/
and in this article
https://docs.docker.com/swarm/configure-tls/
i can't get the information how to create tls swarm node in virtualbox.
i am new to docker machine, and confused with this problem, pls help me.

@LionHeartFXCX Do you just want to run a Swarm manager and/or join container without having to use the Machine flags?

@nathanleclaire yes. i want to run a swarm manager/node on the discovery node. But what i can do now is to create a swarm manager/node container by creating the machine. So, the discovery container and the swarm container is on two different machines. i don't know how to run a swarm manager/node container when i have created the machine(i have tried many times,but failed because of the tls verification).

I am trying to run some integration tests of Java software using docker+ovrcast and I run onto following problem under docker for windows:

I can't turn off TLS - it would be the easiest way, overcast works nice on plan HTTP connection.
I can't turn off TLS client authentication - it is more complicated to do, but possible to add apropriate certificates to Java so it could connect via HTTPS, but there is a problem that docker want's client certificate, which I cannot pass.
I can't get woring any socast solution - there are two solutions that make a kind of proxy via plane http to docker socket, but both of them are not working.

Generally it would be nice to have some option to turno off all TLS, because for some special purposes like integration testing it's safe enough. And if somebody gets hurt? Well, when changing default settings RTFM would be great answer for them. So I belive it is perfectly safe to add such feature.
Is there any workaround I could use under windows to connect without TLS or at least without client certificate validation?

My thought on this iissue from back in the days of SunOS.

If you are willing to take the risks of disabling TLS, you should be knowledgable enough to SSH into the VM and change the settings yourself.

@nathanleclaire : would disabling it manually keep the machine compatible with further docker-machine commands? For instance after upgrade or provision commands it might enable tls again I think. You were also mentioning a possible flag, would you accept an --engine-insecure-connection flag to disable tls?
I'm interested in disabling it for a local dev machine as the IP changes occasionally and I have to regenerate certs each time.


Add "and" for numbers over 99

Added "and" part for test cases, which number is over 99, according to exercise instructions (step 4).
These numbers must be in the format "... and ...", as in the examples in the instructions.

Looking at the instructions, it looks like the "and" part is an optional thing that you can do. Step 4 does use the existing format though.

I'm going to go ahead and close this, as the test suite does follow the spec.


No plugin named ‘upstream-timeout’

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
3.0.0
Current Behavior
I have a kong 3.0.0 instance with plugins installed like
KONG_PLUGINS: bundled,my-custom-plugin

I want to add a upstream-timeout to one of my route like it’s shown in the docs
- name: upstream-timeout
  enabled: true
  route: my-route
  config:
    read_timeout:<PHONE_NUMBER>

but when I do it I get
Error: building state: add defaults to plugin 'upstream-timeout': retrieve schema for upstream-timeout from Kong: HTTP status 404 (message: "No plugin named 'upstream-timeout'")

According to the kong’s docs this plugin is included in the bundled
I tried to add upstream-timeout to KONG_PLUGINS env var but it didn’t help. How to fix it ?
Expected Behavior
plugin upstream-timeout is avaialble
Steps To Reproduce

Use kong 3.0.0 docker
Try to use plugin upstream-timeout in your conf

Anything else?
No response

Hi. This is an enterprise-exclusive plugin.
Also, we recommend using the latest version (3.4 release or master).

ok, thanks for the info !


doc(legal): add MIT-0 & 0BSD licenses to Category A

Added to the "ASF 3RD PARTY LICENSE POLICY" under "CATEGORY A: WHAT CAN WE INCLUDE IN AN ASF PROJECT?"

MIT No Attribution (MIT-0)
Zero-Clause BSD (0BSD)

Mailing List Discussion: https://lists.apache.org/thread/kx60682n8lnmghf85c3lsldcg5pvonob

Note:
The current PR places the "Zero-Clause BSD" at the end of the list.
Open Source Initiative states that the 0BSD is an alteration of the ISC license, and it is not textually derived from licenses in the BSD family.
Considering the above, I felt it was not best to place it under "BSD (without advertising clause). Including variants".
Since it is an alteration of the "ISC" license, it could be positioned under "MIT/X11" where ISC is listed, or alternatively, indented below "ISC."


Add Clean Import Paths rule

Adds a rule to manage the formatting of @import paths. Has two options that are both set to false by default, leading-underscore and filename-extension.
Closes #29
DCO 1.1 Signed-off-by: Ben Griffith<EMAIL_ADDRESS>

Pushed some changes to the doc, what do you think about the sub headings?

Also yep there's a trailing newline - it's just Github.

:+1: all around


Use speccy/lib/loader as module?

Detailed description
I have a project where I'm defining specs separately from code, using OpenAPI and JSON-Schema (thank you Speccy 0.6!).  Using speccy to resolve includes and run redoc works very nicely.  However, I'd like to use the resolved and loaded spec as an object, so I can use it directly in code.  For example, providing documentation for endpoints, validating input, and so on.
Where I have behaviour that I can define as part of spec, I want to be able to use that spec to implement the behaviour instead of duplicating the configuration.
Context
Right now, I'm doing this by directly requiring  speccy/lib/loader
'use strict';

const path = require('path');
const loader = require('speccy/lib/loader');

module.exports = () => loader.readOrError(
    path.join(__dirname, 'app.spec.json'),
    {
        jsonSchema: true,
        resolve: true
    }
)

Possible implementation
At this point, I don't have any real code changes or features to request.  I'm just curious about how stable this approach will be over time.  Are these internals expected to change?
Or conversely, if this is a good idea, should I submit some documentation? ;)

At this point I don't have any plans to change it, and I'm glad it's useful to you. I suppose if you put it in the README then I'm a bit more obliged to a) not change things, or b) be very clear about changes if they happen.

👍
I'll throw something together.


fix(docker): Remove race condition when building image

After merging the PR, a race condition for writing access to the apt cache directory began to appear from time to time. This oversight must be corrected.
https://github.com/apache/superset/pull/26196
SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thanks @alekseyolg for the fix. Would you mind including mention in the TESTING INSTRUCTIONS section regarding how we know this fix is suffice? It may be something as simple as:

Ran docker-compose locally.

@john-bodley Unfortunately, I am not a native English speaker and will not be able to describe everything correctly. I can write my logic of thoughts that guided me when creating this pull request.

@alekseyolg It looks like the CI Docker build execution time doubled after this PR and is taking more than 1 hour to complete. Could you check?

@michael-s-molina The increase in build time is due to the fact that the images are built sequentially; unfortunately, I have not yet figured out how to speed up this process; building ARM64 takes a lot of time.
To speed up the assembly process, respected @sebastianliebscher created a pull request https://github.com/apache/superset/pull/25564 which for some reason was not accepted. This PR should solve the problem of long image assembly.

It would also be possible to speed up the build using caching.
https://github.com/apache/superset/pull/25422
This pool request has been closed, but if the respected @craig-rueda tells me where to put the build cache, then I can create a new PR, which will significantly speed up the process of building images.

I'll ask Apache infra for a new dockerhub registry that we can use for build caching


Add a component that displays prerendered content (static html + css)

This is a component that I think will be needed for the task of displaying prerendered cards in cards-grid for the purposes of performance improvements. This is how it looks like in the Boxel UI components explorer:

Looks pretty straighforward but there is a bug that I am struggling with. After introducing this change, I am not able to run host app, because it fails with:
Build Error (PackagerRunner) in ../../../../boxel-ui/addon/dist/index-629a5edd.js

Module not found: Error: @cardstack/boxel-ui is trying to import from style-loader!css-loader!glimmer-scoped-css but that is not one of its explicit dependencies

If I remove the unscoped from <style unscoped> the host can be started ok...

@backspace I remember you were working with the unscoped atrribute in that addon, maybe any ideas why it's failing to import?

@backspace I remember you were working with the unscoped atrribute in that addon, maybe any ideas why it's failing to import?

hmm this seems like a bug in glimmer-scoped-css, that’s supposed to be part of the public interface, I’ll look more into it.

I haven’t had any success so far with fixing unscoped but I opened #1427 with a workaround, merge away if it seems suitable to you. I’ll continue to look for a deeper fix, tracked in 6989.

Is this obsolete due to #1448?

@lukemelia that's right.


focus the editor via javascript

I'd like to set the focus to the wysi editor via javascript. I already saw that in issue #213 somebody found a solution to this problem. Unfortunately that didn't work for me.
I also tried triggering the focus event on various elements in the wysi editor object but I couldn't find the right one. Among them the following:
editor.composer.element.focus()
editor.fire('focus')
editor.fire('focus:textarea')
editor.fire('focus:composer')

Is there any official way of achieving that?

$('#CommentTextArea').data("wysihtml5").editor.focus();


Docker update script - add support for beta firmware to firmware-update.sh

Is possible to add support for downloading beta firmwares to firmware-update.sh script?
There are beta firmwares in /beta directory:
http://deconz.dresden-elektronik.de/deconz-firmware/beta/

+1

+1


ERR Session already stored for vs.editor.ICodeEditor

This is from here and happens when for the target file a session already exists (of which can only exist one)
 ERR Session already stored for vs.editor.ICodeEditor:3@file:///Users/jrieken/Code/vscode/src/vs/editor/test/common/core/range.test.ts: Error: Session already stored for vs.editor.ICodeEditor:3@file:///Users/jrieken/Code/vscode/src/vs/editor/test/common/core/range.test.ts
    at InlineChatSessionServiceImpl.createSession (vscode-file://vscode-app/Users/jrieken/Code/vscode/out/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js:138:23)
    at async UniqueContainer.value (vscode-file://vscode-app/Users/jrieken/Code/vscode/out/vs/workbench/contrib/inlineChat/browser/inlineChatController.js:520:40)

Steps

open range.ts
open range.test.ts and just start inline chat
back in range.ts, invoke inline for a function and prompt /test
💥


varname in code -- format_ok -> format_loclist_ok

[x] need to update tests too

Preferred over #1738

Thank you!


bug: replace their null character

The OFAC spec (for CSV) specifies the following as their null character. We should replace this with an empty string after/during reading.
null:                          -0-

Oh wait, Brooke might already have this covered:
// replaceNull replaces a CSV field that contain -0- with "".  Null values for all four formats consist of "-0-"
// (ASCII characters 45, 48, 45).
func replaceNull(s []string) []string {
	for i := 0; i < len(s); i++ {
		if strings.Contains(s[i], "-0-") {
			s[i] = ""
		}
	}
	return s
}


Allow --importRoot to override root config option

This depends on the fix in #69 before the tests will pass. We could probably add a test for @casio's work in the same describe.
cc @giuseppeg

You could keep the original version and add an aliases map like so:
var optsAliases = {
  importRoot: 'root'
}

var flags = [
  'minify',
  'encapsulate',
  'root',
  'importRoot',
  'lint'
].reduce(function (accumulator, inFlag) {
  if (({}).hasOwnProperty.call(program, inFlag)) {
    var flag = optsAliases[inFlag] || flag
    accumulator[flag] = program[inFlag];
  }
  return accumulator;
}, {});

I think that's a much cleaner solution. Will refactor after the other PR goes in


Non-config user specific yaml files not found

Hi!
I love Grav so far. I have a question though and couldn't find any answers to this...
I've built a very simple plugin for Swagger UI to display OpenAPI specifications written in json and yaml. It works fine for the json files but the yaml files are not found. This is how the thing works: I have a swagger-ui.html.twig template and have these two files, user/pages/01.swagger-ui/swagger-ui.md and user/pages/swagger-ui/petstore.json and the display is handled via the plugin and some custom theme implementations. Even if there wasn't anything happening in the background I can reach petstore.json but if I rename it to yaml then it's not found anymore, cache clears don't help either. I assume since yaml is used for configuration everywhere there's just a general filter for this extension.
Would the same happen if there was a dedicated folder for uploading these files? Can you elaborate what is happening or how to make exceptions for certain yaml files?

By default grav only serves files with these extensions:
pages:
  types: [html,htm,json,xml,txt,rss,atom]

To override this, you need to edit "Page Types" in the system.yaml configuration (either in admin or via a user/system/config.yaml override)


Fix race caused by shared memory map

If multiple instances of the same target type were created in a single process, they would share a single memory map instance. This was fine in earlier times, but the memory map now holds some mutable state. With this patch, the memory map is copied for each target instance.
Closes #694

/morph test

/morph test

/morph test


Analyzer update & inList check removal.

Updated analyzer dependency to >=4.2.0 <5.0.0
Removed inList check, https://github.com/google/built_value.dart/issues/1011#issuecomment-804843573, https://github.com/gql-dart/gql/pull/202

@knaeckeKami How to solve these? Seems related to incompatible SDK version.

CI uses discontinued dart image. Using newer docker image will solve pass these tests. Currently using dart image which is discontinued -https://hub.docker.com/r/google/dart/ , one with latest update which we should use - https://hub.docker.com/_/dart.

@knaeckeKami I have updated the dart docker image. Would you please re-run the tests?


DropDownMenu is disabled  using dynamic MenuItems

I followed the DropDownMenu's docs to code a custom dropdown component but it does't display all MenuItems options:
import React from 'react';
import { DropDownMenu, MenuItem } from "material-ui";

let provinces = ["Pernambuco", "São Paulo", "Rio de Janeiro", "Rio Grande do Norte"];

export default class ProvinceDropDown extends React.Component {
    constructor() {
        super(props);
        this.state = {
            province: 0
        };
    }

    _onProvinceSelected(e, index, value) {
        e.preventDefault();
        this.setState({province: index});
    }

    _createProvinceMenuItems() {
        let provinces = this.state.provinces;
        let menuItems = [];
        for (let province of provinces) {
            let itemIndex = provinces.indexOf(province);
            let item = (
                <MenuItem
                    value={itemIndex}
                    key={`key-${province}`}
                    primaryText={province} />
            );
            menuItems.push(item);
        }

        return menuItems;
    }

    render() {
         return (
               <DropDownMenu
                   value={this.state.province}
                   onChange={this._onProvinceSelected.bind(this)}
                   style={{width: "40%", fontSize: "20px"}} >
                   { this._createProvinceMenuItems() }
               </DropDownMenu>
         );
}

+1 much simpler first example from http://www.material-ui.com/#/components/dropdown-menu
doesn't work too.
"version": "0.14.2"

@AleffHenrique
In _createProvinceMenuItems function, what happens when you remove value={itemIndex} from MenuItem?
<MenuItem
    value={itemIndex}
    key={`key-${province}`}
    primaryText={province} />

I encountered a similar issue with my own code. When I added value to MenuItem, the drop-down menu didn't show. Without value, it works.

@AleffHenrique
While fixing my own issue, I think I figured out the problem in your code as well. In _createProvinceMenuItems function, you refer to this.state.provinces. But you did not include it in component's state in the constructor. This solved the problem:
constructor(props) {
    super(props);
    this.state = {
      provinces: provinces,
      province: 0,
    };
  }

@ahmadferdous
Sorry I just forgot to edit it cause in my real application I am doing what you said.
I updated the code :)

@AleffHenrique
I guess you can close this issue as it's already resolved.

@ahmadferdous
It is not resolved, what I said was when I copied and paste the code from my app I forgot to remove {this.state.provinces} and use the local variable provinces
But in both approaches the dropdown is still disabled.

@AlexYegupov Could you install this plugin and check if your example work? I did it and It is working right now!

@AleffHenrique
react-tap-event-plugin is currently a requirement for using material-ui. Details is available in the installation page: http://www.material-ui.com/#/get-started/installation


chore(main): release 1.4.30

:robot: I have created a release beep boop
1.4.30 (2024-10-05)
Miscellaneous Chores

deps: bump php-http/discovery from 1.19.4 to 1.20.0 (#198) (f5b57a1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/cedricziel/mattermost-php/releases/tag/v1.4.30 :sunflower:


Fix examples command when used from within python

Currently, doing python -c "import geoviews; geoviews.examples(...)" will do nothing except tell you to install pyct, even if you have pyct installed. I somehow missed renaming an import when a package changed name. Sorry about that.
The geoviews examples (and related) console scripts do currently work; they aren't affected by this.

Thanks, ready to merge?

Yes, ready to merge


Popups should be centered on the polygon, and lines

This could be a larger design change. Based on how we handle the popups in all LG apps

Work with CB to define what this would look like for lines, polys, and points.

@busbus Do you have any feedback on this?

@LindsayThomas @busbus
For polygons we can anchor the popup to the centroid of the polygon.
For lines, the centroid may be a problem depending on the shape of the line. The centroid will be on the line only if it is a straight line. A curved line (roads in this case) will have its centroid outside the line.
We looked at arcgis map viewer behavior for popups of line layers and saw that AGOL uses centroid for lines but Portal Map Viewer (10.3.1) uses the first point of the line feature to anchor the popup.
Please have a look at these screen captures and let us know what you'd prefer.
AGOL Map Viewer (uses centroid of line)

Portal Map Viewer (uses first point of line feature)

@CTLocalGovTeam for Lines please use the AGOL Map Viewer (uses centroid of line) approach.
What happens when multiple polygons are selected?

@LindsayThomas
With multi-part polygons, the centroid may not lie within any of the parts.
It is the same case for a line, polygon, or multi-part line/polygon feature, as the centroid is not guaranteed to be on/inside the feature. Depending on the shape of polygon, the centroid may lie outside the polygon. For e.g, an L-shaped or C-shaped polygon will have its centroid outside the polygon.
The way AGOL map viewer calculates the centroid is by getting the center point of the feature's extent (minimum bounding rectangle). This is why you see in the screenvideos above, that the infowindow does not display on the feature.

@CTLocalGovTeam It appears that the application is using the Portal Map Viewer approach still (first point on the line).  @LindsayThomas specified the AGOL Map viewer method.
Please confirm.

@busbus, @LindsayThomas
This behavior and its associated problems were discussed on a call. We had the idea that this was to remain unchanged. Anyways, this is a very minor code change.
However, the effect of this will be that the info-window will display on the lines (touching) only if they are exactly straight. When an entire stretch of road is searched by name and selected, it is always likely that the road is not straight. Hence, the info-window will almost always lie outside the line.
Please confirm if we should go ahead and include the AGOL Map Viewer method.

@ChrisBuscaglia

Please leave as-is


Improve OutputPanel

Fix resizing in panel. Fully fixes #1148.
Do not enable scrollTimer by default, unneeded and sometimes when debugging could throw cross thread exceptions.
Fix panel visibility when autoscroll was disabled. It was making wrong and unneeded operations.

I never realized how buggy the RichTextBox resizing/scrolling logic was... even using the latest RichEdit control that was released in Windows XP (newer than the one used in .NET) shows this problem. I don't know if it's some kind of hidden setting. The most obvious problem (but there are others, like the fixed problem): when you have the caret at the bottom of the control, while having a scrollbar, resize the control, the scrollbar will resize, and the text will move upwards leaving a lot of blank space below, when doing something the content will jump to the proper bounds. With this change everything seems to work in a more proper way.
Fixing this was a bit painful, and didn't find any fully managed way to do it. Another option could have been to use custom scrollbars, but it would require more logic to get the same behavior with probably bugs or worse performance, and still requiring interop.

After some testing I see this doesn't work right with custom scrollbars. But even without this patch they don't work as expected when resizing the RichTextBox...
I'll try to look into this soon.

Since the custom scrollbars have problem even without this change I'll merge this during this week.


Differentiate by  Mill version when selecting a server worker

In older Mill versions, we tried to detect when the Mill version changed. In that case, we stopped the server process and started a new one. This server stopping worked unrelieble and is currently not working at all.
This pragmatic change simply does not try to re-use a mill server process when the Mill version does not match. Instead, we only choose between instances with the exact version or start a new instance. This is identical to the beavior, when we run with a differnet JVM.
Resource wise, we potentially increase the amount of running processes, but we do this anyways in other situations. Also, idle Mill servers stop themselves after a some time span.

Looks fine. Should we leave the mill version un-hashes? Might make it easier to inspect and see what's going on if the mill version was in plaintext as part lf the file path

Would be fine by me. That was actually my first approach, but the resulting name was rather long. For more insights, we could also leave some info as file in the directory, e.g. start time, Mill version, Java details, maybe even a history of executed tasks.

For some reasons, I always get an exception, when I include the plain Mill version in the Mill worker directory:
-        String versionAndJvmHomeEncoding = Util.sha1Hash(BuildInfo.millVersion + System.getProperty("java.home"));
+        final String versionAndJvmHomeEncoding = BuildInfo.millVersion + "-" + Util.sha1Hash(System.getProperty("java.home"));
+        System.err.println("==> " + versionAndJvmHomeEncoding);

MILL_VERSION=0.11.1-3-d55c29-DIRTY34f18ee7 mill resolve _
==> 0.11.1-3-d55c29-DIRTY34f18ee7-jI8OnFgMTiLMP+r5K66NDMQ65lc=
Exception in thread "main" java.net.SocketException: Datei oder Verzeichnis nicht gefunden
        at org.newsclub.net.unix.NativeUnixSocket.bind(Native Method)
        at org.newsclub.net.unix.AFSocketImpl.bind(AFSocketImpl.java:336)
        at org.newsclub.net.unix.AFServerSocket.bind(AFServerSocket.java:257)
        at java.base/java.net.ServerSocket.bind(ServerSocket.java:349)
        at org.newsclub.net.unix.AFServerSocket.bindOn(AFServerSocket.java:176)
        at org.newsclub.net.unix.AFUNIXServerSocket.bindOn(AFUNIXServerSocket.java:87)
        at mill.runner.Server.$anonfun$run$2(MillServerMain.scala:107)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at mill.runner.Server$.lockBlock(MillServerMain.scala:231)
        at mill.runner.Server.$anonfun$run$1(MillServerMain.scala:102)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
        at mill.runner.Server$.tryLockBlock(MillServerMain.scala:239)
        at mill.runner.Server.run(MillServerMain.scala:99)
        at mill.runner.MillServerMain$.main(MillServerMain.scala:60)
        at mill.runner.MillServerMain.main(MillServerMain.scala)
Exception in thread "main" java.lang.Exception: Failed to connect to server
        at mill.main.client.MillClientMain.run(MillClientMain.java:197)
        at mill.main.client.MillClientMain.main0(MillClientMain.java:123)
        at mill.main.client.MillClientMain.main(MillClientMain.java:71)
Caused by: java.net.SocketException:
        at org.newsclub.net.unix.NativeUnixSocket.connect(Native Method)
        at org.newsclub.net.unix.AFSocketImpl.connect0(AFSocketImpl.java:393)
        at org.newsclub.net.unix.AFSocket.connect0(AFSocket.java:267)
        at org.newsclub.net.unix.AFSocket.connect(AFSocket.java:236)
        at org.newsclub.net.unix.AFSocket.connect(AFSocket.java:231)
        at org.newsclub.net.unix.AFSocket.connectTo(AFSocket.java:179)
        at org.newsclub.net.unix.AFUNIXSocket.connectTo(AFUNIXSocket.java:109)
        at mill.main.client.MillClientMain.run(MillClientMain.java:189)
        ... 2 more

Maybe the dots. I don't know. To keep things simple, I will just keep it in the hashed form, which works as expected.


Retroarch always shows update button

Describe the bug
RetroArch shows 1.9.1><IP_ADDRESS> [Update] button all the time even after updating.
To Reproduce
Install RetroArch, update it. the update option stays up. I'm guessing it's because the update number has one extra decimal so they show as !=. maybe the current version numbering needs an extra decimal? not sure
Add any other context about the problem here.

I think that's because webOS only uses 3 segments, so this is more like a packaging issue.


Zenith (unofficial fabric port of the Apotheosis) crash on startup

Mod Name
Zenith
Mod Homepage
https://www.curseforge.com/minecraft/mc-mods/zenith
Minecraft version
1.20.1
Describe the bug
crash on start
Steps to reproduce

install connector, connectorExtras, FFAPI, zenith, zenith attributes (https://www.curseforge.com/minecraft/mc-mods/zenith-attributes), fakerlib (https://www.curseforge.com/minecraft/mc-mods/fakerlib), patchouli fabric (https://www.curseforge.com/minecraft/mc-mods/patchouli-fabric)
launch game
crash 1 (no crash log)

Logs
https://gist.github.com/YShadowMY/ecd1c2499d146b78b4eb49998469c3dd
Additional context
No response

Apotheosis is a Forge mod, please use the Forge version. We do not provide support for (unofficial ports) from Forge to Fabric because a Forge version exists already and time is better spent working on fixing incompatibilities with actual Fabric mods.

Uh, actually the Forge version will crash when AdventureZ is present.

thats the reazon why i posted, to see if it work with it

Yeah because what if someone wants to make modpack with Forge and Fabric mods but AdventureZ is not compatible with Apotheosis Forge. But the unofficial port for Fabric is compatible with AdventureZ.

https://github.com/Sinytra/Connector/issues/610


Change number of rows from 6 to 1 makes calendar display wrong date

Hi,
I am using your fantastic calendar right now, however I got a problem.
I have a calendar and it has two modes: weekly and monthly view.
When user first time open the calendar, it shows like below:

When user swipe up on calendar, it will change to weekly view:

As you can see, the date is incorrect now. It changed from 2017 to 2016, but if I swipe down to change calendar back to monthly view, it still displays correct date. I wonder what cause this?  Am I wrong here?
My code:
func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
        let startDate = Calendar.current.date(byAdding: .year, value: -1, to: Date())
        let endDate = Calendar.current.date(byAdding: .year, value: 1, to: Date())
        let parameters = ConfigurationParameters(startDate: startDate!,
                                                 endDate: endDate!,
                                                 numberOfRows: numberOfRows, // Only 1, 2, 3, & 6 are allowed
                                                 calendar: Calendar.autoupdatingCurrent,
                                                 generateInDates: .forAllMonths,
                                                 generateOutDates: .tillEndOfGrid,
                                                 firstDayOfWeek: .sunday)
        return parameters
    }

This method will be called when user swipe up or down, I change numberOfRows from 1 to 6 or 6 to 1 and then I reload calendar.
func updateViewToMonthOrWeek(rows: Int, height: CGFloat) {
        numberOfRows = rows

        calendarView.changeHeight(to: height)
        timelineTableView.changeYposition(to: calendarView.frame.height + calendarView.frame.origin.y)
        calendarView.reloadData()
        calendarView.scrollToDate(titleDate)
}

What version of the calendar are you using?
If you are able to do so, can you join me here? -> https://gitter.im/patchthecode/JTAppleCalendar

This is expected.
You can refer to the explanation here -> https://github.com/patchthecode/JTAppleCalendar/issues/202#issuecomment-262071517

Thanks for your reply.
Yes, I am using the latest version.
"put this in your pod file ->
pod 'JTAppleCalendar', :git => 'https://github.com/patchthecode/JTAppleCalendar.git'
then do a pod Install"
I save the Date I want to scroll to as titleDate. So in my updateViewToMonthOrWeek methoh:

I change calendar row number from 6 to 1
Then I update calendar height
I call reloadDate, it reset the parameters and set the row number to 1.
Then I call scrollToDate to let calendar scroll to the titleDate.

I print out the titleDate, it is 2017.1.12 but after scrollToDate, it is still 2016.3.2.
Did I do anything wrong or I have to call like below?

are you online now?
join me here -> https://gitter.im/patchthecode/JTAppleCalendar


Manual tick engine

Capacity to manually tick the engine when needed.

JALSE now takes in an ActionEngine and ManualActionEngine is a default implementation for JALSEBuilder!


Revamp getting_started docs to not repeat analyses

From this comment:

More broadly, I think we may want to revisit this whole document to remove most of the filtering and normalization content, as we are now providing that content in the download. It seems odd to suggest simplified versions of these functions, as applying the code here may well result in different results from those that we provide.
Even if the result were the same, I don't think the place to "get started" is with repeating analyses that were already done in the download files! We might keep the same headers but describe how to extract the calculated data that is already there with a brief note about what was done.

From DSTM 10/10, come back to this after we do CHANGELOG things (#131, #132)

Closed by #162


Streaming and API Error

If the LLM (in my case ChatOpenAI) has streaming to true and there is an API exception, instead of throwing an exception for that API error, it instead throws an exception saying that it failed to parse the response from server:

Error in handler Handler, handleLLMError: Error: Expected content-type to be text/event-stream, Actual: application/json; charset=utf-8

This means that you cannot actually report if, say, the API key was invalid from a streamed request.
My proposal is that the API error is raised instead

Correct please still address

Hey @A-F-V, we have a brand new stream method you can try instead that should work better!
https://js.langchain.com/docs/guides/expression_language/interface


feat(event_sources): extract CloudWatch Logs in Kinesis streams

Issue number: #1488
Summary
Changes

Please provide a summary of what's being changed

This PR introduces two functions to decode, decompress, and extract CloudWatchLogsDecodedData from Kinesis Data Streams.

extract_cloudwatch_logs_from_event. Returns a list of CloudWatchLogsDecodedData from KinesisStreamEvent. Useful for simple processing.
extract_cloudwatch_logs_from_record. Returns CloudWatchLogsDecodedData from KinesisStreamRecord. Useful for robust batch processing and seamless integration with Batch Processing

User experience

Please share what the user experience looks like before and after this change

Batch processing
from aws_lambda_powertools.utilities.batch import (BatchProcessor, EventType,
                                                   batch_processor)
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
    KinesisStreamRecord, extract_cloudwatch_logs_from_record)

processor = BatchProcessor(event_type=EventType.KinesisDataStreams)

def record_handler(record: KinesisStreamRecord):
    log = extract_cloudwatch_logs_from_record(record)
    return log.message_type == "DATA_MESSAGE"

@batch_processor(record_handler=record_handler, processor=processor)
def lambda_handler(event, context):
    return processor.response()

Simple processing
from typing import List

from aws_lambda_powertools.utilities.data_classes import event_source
from aws_lambda_powertools.utilities.data_classes.cloud_watch_logs_event import \
    CloudWatchLogsDecodedData
from aws_lambda_powertools.utilities.data_classes.kinesis_stream_event import (
    KinesisStreamEvent, extract_cloudwatch_logs_from_event)

@event_source(data_class=KinesisStreamEvent)
def simple_handler(event: KinesisStreamEvent, context):
    logs: List[CloudWatchLogsDecodedData] = extract_cloudwatch_logs_from_event(event)
    for log in logs:
        if log.message_type == "DATA_MESSAGE":
            return "success"
    return "success"

Checklist
If your change doesn't seem to apply, please leave them unchecked.

[x] Meet tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

View rendered docs/utilities/data_classes.md

customer approved design. Merging after extra due diligence since @rubenfonseca and @leandrodamascena are unavailable.


Installation not working on mac

When I follow the instructions for installing zsh on my mac, I get this error after I try to run the install script via curl:
Error: git clone of oh-my-zsh repo failed
But in fact I can clone the repo so its not an git issue.

the installer uses the line:
env git clone...
If your environment doesn't have git installed in the usual places, this might fail. From the command line try doing: env git and see what happens.

Same problem... It‘s terrible.

If there is a space in your $HOME path, this could cause the issue. I fixed it by following the procedure detailed here:
https://github.com/nodejs/node-gyp/issues/65#issuecomment-179159383

This is fixed in the current version of the installer.


What FFS stands for

easing up the generation of what intel/EDK calls FFS's (whatever that abbreviation means)

If this was meant to be tongue in cheek, then feel free to ignore.
FFS stands for "Firmware File System" as per the specification. GenFfs creates files to be added to a firmware file system.

If this was meant to be tongue in cheek, then feel free to ignore.

Of course it was. 😄
But thanks for clarifying, in case people need it.
For what is worth, my main beef with FFS is that I personally would never use something that abbreviates to "File System" if it's going to be used to represent a bunch of parts that needs to be assembled to create an actual firmware file system. I do understand the reason why they did so (they already had the file system generator, so decided to use it to generate modules as file system "pods" for reprocessing), but I think the end result is that it hides a bit too well what the tool ends up being used for in the context of end users of UEFI (who simply want to add modules into existing firmwares) rather than developers of UEFI/EDK2.
Hopefully, people won't read too much into this fake rant about the wisdom of the EDK2, especially considering that I am a also and EDK2 contributors...


[enhancement/bug fix]: UUID primary key support on update

Using models with a UUIDField as a primary key fails on bulk updates. This happens because, the validated_data dictionary value for the id will be a string, while the internal data type is a UUID. Therefore, this line fails to pull the values from the dictionary:
obj_validated_data = all_validated_data_by_id.get(obj_id)

serializers.py line 64
E.g
# if all_validated_data_by_id = {'200841c5-09cd-4a92-b60a-96f28750ecf9': {...}}
all_validated_data_by_id.get(UUID('200841c5-09cd-4a92-b60a-96f28750ecf9')) == None

This causes a NoneType error to be raised if obj is None here:
updated_objects.append(self.child.update(obj, obj_validated_data))
This PR casts the object_id to a string if it is of type UUID. Test included.

The solution makes sense. Tests seem to fail on Django<1.8 since UUIDField was not available yet. Probably some magic will have to be added to make it work on earlier versions.

@miki725 Totally! Updating now

@marcgibbons thanks for the PR. just had some minor comments. let me know if you would like to take care of them or should I. this is pretty much ready to rock-and-roll :guitar:


feat/WoW Upload Timers

Why
Add new page for WoW Upload timers
Related Tickets

Closes https://github.com/ff14-advanced-market-search/saddlebag-with-pockets/issues/243

Considerations
Feel free to give feedback on the PR even if it's not finished - this is the first time I've ever used Remix and a huge React codebase so tips are welcome 😅

@cohenaj194 linting is failing I think.


IntegrityError duplicate key

Hey guys,
Not entirely sure if this is a Sentry issue, a Django issue, or an issue with the plugin. On a clean Sentry install (v 8.8.0) with only this plugin installed (tested versions 2.0 and 2.2) and Django version 1.6.11, I am able to create a new local user no problem. However, when trying to log in using an LDAP account, I get the "Oops! Something went wrong" error on the web interface, and the log throws the following error and traceback:
2016-09-28_19:42:51.98684 Traceback (most recent call last):
2016-09-28_19:42:51.98686   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/core/handlers/base.py", line 112, in get_response
2016-09-28_19:42:51.98686     response = wrapped_callback(request, *callback_args, **callback_kwargs)
2016-09-28_19:42:51.98686   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/views/generic/base.py", line 69, in view
2016-09-28_19:42:51.98687     return self.dispatch(request, *args, **kwargs)
2016-09-28_19:42:51.98687   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/utils/decorators.py", line 29, in _wrapper
2016-09-28_19:42:51.98688     return bound_func(*args, **kwargs)
2016-09-28_19:42:51.98688   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/utils/decorators.py", line 99, in _wrapped_view
2016-09-28_19:42:51.98688     response = view_func(request, *args, **kwargs)
2016-09-28_19:42:51.98689   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/utils/decorators.py", line 25, in bound_func
2016-09-28_19:42:51.98689     return func(self, *args2, **kwargs2)
2016-09-28_19:42:51.98689   File "/www/sentry/local/lib/python2.7/site-packages/sentry/web/frontend/base.py", line 188, in dispatch
2016-09-28_19:42:51.98690     return self.handle(request, *args, **kwargs)
2016-09-28_19:42:51.98691   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/views/decorators/cache.py", line 52, in _wrapped_view_func
2016-09-28_19:42:51.98691     response = view_func(request, *args, **kwargs)
2016-09-28_19:42:51.98691   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/transaction.py", line 371, in inner
2016-09-28_19:42:51.98692     return func(*args, **kwargs)
2016-09-28_19:42:51.98692   File "/www/sentry/local/lib/python2.7/site-packages/sentry/web/frontend/auth_organization_login.py", line 132, in handle
2016-09-28_19:42:51.98693     response = self.handle_basic_auth(request, organization)
2016-09-28_19:42:51.98693   File "/www/sentry/local/lib/python2.7/site-packages/sentry/web/frontend/auth_organization_login.py", line 67, in handle_basic_auth
2016-09-28_19:42:51.98693     elif login_form.is_valid():
2016-09-28_19:42:51.98694   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/forms/forms.py", line 129, in is_valid
2016-09-28_19:42:51.98694     return self.is_bound and not bool(self.errors)
2016-09-28_19:42:51.98694   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/forms/forms.py", line 121, in errors
2016-09-28_19:42:51.98695     self.full_clean()
2016-09-28_19:42:51.98695   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/forms/forms.py", line 274, in full_clean
2016-09-28_19:42:51.98696     self._clean_form()
2016-09-28_19:42:51.98696   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/forms/forms.py", line 300, in _clean_form
2016-09-28_19:42:51.98697     self.cleaned_data = self.clean()
2016-09-28_19:42:51.98697   File "/www/sentry/local/lib/python2.7/site-packages/sentry/web/forms/accounts.py", line 136, in clean
2016-09-28_19:42:51.98697     password=password)
2016-09-28_19:42:51.98698   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/contrib/auth/__init__.py", line 49, in authenticate
2016-09-28_19:42:51.98698     user = backend.authenticate(**credentials)
2016-09-28_19:42:51.98699   File "/www/sentry/local/lib/python2.7/site-packages/django_auth_ldap/backend.py", line 167, in authenticate
2016-09-28_19:42:51.98700     user = ldap_user.authenticate(password)
2016-09-28_19:42:51.98701   File "/www/sentry/local/lib/python2.7/site-packages/django_auth_ldap/backend.py", line 339, in authenticate
2016-09-28_19:42:51.98701     self._get_or_create_user()
2016-09-28_19:42:51.98701   File "/www/sentry/local/lib/python2.7/site-packages/django_auth_ldap/backend.py", line 548, in _get_or_create_user
2016-09-28_19:42:51.98702     self._user, created = self.backend.get_or_create_user(username, self)
2016-09-28_19:42:51.98702   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../sentry_ldap_auth/backend.py", line 29, in get_or_create_user
2016-09-28_19:42:51.98703     email=ldap_user.attrs.get('mail', ' ')[0] or '',
2016-09-28_19:42:51.98704   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/models/manager.py", line 214, in update
2016-09-28_19:42:51.98704     return self.get_queryset().update(*args, **kwargs)
2016-09-28_19:42:51.98704   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/models/query.py", line 493, in update
2016-09-28_19:42:51.98705     rows = query.get_compiler(self.db).execute_sql(None)
2016-09-28_19:42:51.98705   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/models/sql/compiler.py", line 980, in execute_sql
2016-09-28_19:42:51.98705     cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
2016-09-28_19:42:51.98706   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/models/sql/compiler.py", line 786, in execute_sql
2016-09-28_19:42:51.98706     cursor.execute(sql, params)
2016-09-28_19:42:51.98706   File "/www/sentry/local/lib/python2.7/site-packages/raven/contrib/django/client.py", line 112, in execute
2016-09-28_19:42:51.98707     return real_execute(self, sql, params)
2016-09-28_19:42:51.98707   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/backends/util.py", line 53, in execute
2016-09-28_19:42:51.98710     return self.cursor.execute(sql, params)
2016-09-28_19:42:51.98712   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/utils.py", line 99, in __exit__
2016-09-28_19:42:51.98713     six.reraise(dj_exc_type, dj_exc_value, traceback)
2016-09-28_19:42:51.98714   File "/www/sentry/local/lib/python2.7/site-packages/sentry/../django/db/backends/util.py", line 53, in execute
2016-09-28_19:42:51.98716     return self.cursor.execute(sql, params)
2016-09-28_19:42:51.98717   File "/www/sentry/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 75, in inner
2016-09-28_19:42:51.98719     raise_the_exception(self.db, e)
2016-09-28_19:42:51.98720   File "/www/sentry/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 73, in inner
2016-09-28_19:42:51.98722     return func(self, *args, **kwargs)
2016-09-28_19:42:51.98723   File "/www/sentry/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 21, in inner
2016-09-28_19:42:51.98725     return func(self, *args, **kwargs)
2016-09-28_19:42:51.98726   File "/www/sentry/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 95, in inner
2016-09-28_19:42:51.98728     six.reraise(exc_info[0], exc_info[0](msg), exc_info[2])
2016-09-28_19:42:51.98729   File "/www/sentry/local/lib/python2.7/site-packages/sentry/db/postgres/decorators.py", line 88, in inner
2016-09-28_19:42:51.98731     return func(self, sql, *args, **kwargs)
2016-09-28_19:42:51.98732   File "/www/sentry/local/lib/python2.7/site-packages/sentry/db/postgres/base.py", line 39, in execute
2016-09-28_19:42:51.98734     return self.cursor.execute(sql, params)
2016-09-28_19:42:51.98736 IntegrityError: IntegrityError('duplicate key value violates unique constraint "sentry_useremail_user_id_469ffbb142507df2_uniq"\nDETAIL:  Key (user_id, email)=(8<EMAIL_ADDRESS>already exists.\n',)
2016-09-28_19:42:51.98737 SQL: UPDATE "sentry_useremail" SET "user_id" = %s, "email" = %s
2016-09-28_19:42:51.98911 19:42:51 [ERROR] django.request: Internal Server Error: /auth/login/sentry/ (status_code=500 request=<WSGIRequest
2016-09-28_19:42:51.98915 path:/auth/login/sentry/,
2016-09-28_19:42:51.98931 GET:<QueryDict: {}>,
2016-09-28_19:42:51.98932 POST:<QueryDict: {u'username': [u'myuser'], u'csrfmiddlewaretoken': [u'VQpi9JvWKHUjcwerWEwr6PslIpFws4yT'], u'password': [u'superSecurePass'], u'op': [u'login']}>,

The new user is not registered in the auth_user or sentry_useremail tables.
Not really sure where to go with this. Thank you in advance for any help you can provide!

Also getting this error. Happens when a more than one user logs in using LDAP.

Might be due to this recent change https://github.com/Banno/getsentry-ldap-auth/pull/13

I don't know. I thought so at first, but I'm also getting this error with version 2.0, which is from before the patch, so these two might not be related... Totally guessing tho.

Do your ldap users have mail attributes that are unique?

Downgrading the library to 2.0 seemed to have fixed the issue. The emails seem unique. I have the following mapping:
AUTH_LDAP_USER_ATTR_MAP = {
  'name': 'name',
  'email': 'mail'
}

Looking down the user list email addresses seem to get populated.

thanks @barronhagerman !


Hyperliquid - Failed to submit order due to "Only post-only orders allowed immediately after a network upgrade"

Describe the bug
Run tests on the connector for couple of days then review logs, observed there was a server disconnection event which eventually reconnected however getting failed to submit order when placing open orders. Took 2-3mins before connector was able to successfully create orders
Server disconnected
2024-01-19 23:02:15,690 - 615066 - hummingbot.connector.derivative.hyperliquid_perpetual.hyperliquid_perpetual_api_order_book_data_source.HyperliquidPerpetualAPIOrderBookDataSource - ERROR - Unexpected error occurred when listening to order book streams. Retrying in 5 seconds...
Traceback (most recent call last):
  File "/home/test01/development/hummingbot/core/data_type/order_book_tracker_data_source.py", line 78, in listen_for_subscriptions
    ws: WSAssistant = await self._connected_websocket_assistant()
  File "/home/test01/development/hummingbot/connector/derivative/hyperliquid_perpetual/hyperliquid_perpetual_api_order_book_data_source.py", line 91, in _connected_websocket_assistant
    await ws.connect(ws_url=url, ping_timeout=CONSTANTS.HEARTBEAT_TIME_INTERVAL)
  File "/home/test01/development/hummingbot/core/web_assistant/ws_assistant.py", line 43, in connect
    await self._connection.connect(ws_url=ws_url, ws_headers=ws_headers, ping_timeout=ping_timeout, message_timeout=message_timeout)
  File "/home/test01/development/hummingbot/core/web_assistant/connections/ws_connection.py", line 35, in connect
    self._connection = await self._client_session.ws_connect(
  File "/home/test01/miniconda3/envs/hummingbot/lib/python3.10/site-packages/aiohttp/client.py", line 825, in _ws_connect
    resp = await self.request(
  File "/home/test01/miniconda3/envs/hummingbot/lib/python3.10/site-packages/aiohttp/client.py", line 601, in _request
    await resp.start(conn)
  File "/home/test01/miniconda3/envs/hummingbot/lib/python3.10/site-packages/aiohttp/client_reqrep.py", line 965, in start
    message, payload = await protocol.read()  # type: ignore[union-attr]
  File "/home/test01/miniconda3/envs/hummingbot/lib/python3.10/site-packages/aiohttp/streams.py", line 622, in read
    await self._waiter
aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected

Reconnected at 2024-01-19 23:03:56,333

Failed to place open order
2024-01-19 23:04:31,628 - 615066 - hummingbot.smart_components.executors.position_executor.position_executor - INFO - Placing open order
2024-01-19 23:04:32,783 - 615066 - hummingbot.connector.derivative.hyperliquid_perpetual.hyperliquid_perpetual_derivative.HyperliquidPerpetualDerivative - NETWORK - Error submitting buy LIMIT order to Hyperliquid_perpetual for 0.22 SOL-USD 89.1779999999999972715158946812152862548828125.
Traceback (most recent call last):
  File "/home/test01/development/hummingbot/connector/exchange_py_base.py", line 452, in _create_order
    await self._place_order_and_process_update(order=order, **kwargs,)
  File "/home/test01/development/hummingbot/connector/exchange_py_base.py", line 469, in _place_order_and_process_update
    exchange_order_id, update_timestamp = await self._place_order(
  File "/home/test01/development/hummingbot/connector/derivative/hyperliquid_perpetual/hyperliquid_perpetual_derivative.py", line 393, in _place_order
    raise IOError(f"Error submitting order {order_id}: {o_order_result['error']}")
OSError: Error submitting order 0x4a9681af62b86ea2936595c9b930c5b6: Only post-only orders allowed immediately after a network upgrade

The error happened after we got reconnected from server disconnection
This issue happened for 2-3mins then connector was able to create orders again

Steps to reproduce

Add hyperliquid_perpetual
Run either v1 or v2 strategy for couple of days
Observe logs for possible server disconnection

Release version
dev-1.24.0
Type of installation
Source
Attach required files
logs_hyperliquid_a.log.2024-01-19.log

I guess this is caused by the exchange upgrade server, after the upgrade is completed, only postonly orders are usually allowed to be sent, you can ask their official personnel if this is the case

We have been monitoring our hyperliquid bots for couple of days and not able to reproduce this error. Closing ticket


Update 'ADLS Gen 2' to 'ADLS Gen2' in Settings AzCopy part with German

Storage Explorer Version: 1.11.2
Build: 20191220.9
Branch: hotfix/1.11.2-to-master
Language: German
Platform/OS: Windows 10/ CentOS 7.6.1810/ MacOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer.
Open 'Settings' -> Application (Regional Settings) -> Select 'Deutsche' -> Restart Storage Explorer.
Open Settings -> Transfer -> AzCopy.
Check the first sentence.

Expect Experience:
Show 'ADLS Gen2' in the sentence.
Actual Experience:
Show 'ADLS Gen 2' in the sentence.

Sending to localization team for review

Fixed.
File: loc\en\src\components\se-az-copy-extension\resources\AzCopySettings.json
ID: 0; "DescriptionAzCopy"
SRC: Use these settings to tune the performance of AzCopy. AzCopy is used for Blobs, ADLS Gen2 and Managed Disks.
 AzCopy wird für Blobs, ADLS Gen2 und Managed Disks verwendet.

Verified on build 20200201.2. This issue has been fixed. So close it.


Example of IN statement

Hi,
I have the following statement:
$result = $this->db->exec(
                    " SELECT userImage FROM candid WHERE id = ? AND status IN ? ",
                    [
                        $userid,
                        $status
                    ]
                );

And $status = array('active','idle');
I am unable to fetch results from database.
I even tried changing $status from array to variable:
$status = "'interview','pending'";
Can you please help?
Note: This is a question and not an issue.

This is an excellent question, thank you!
The problem is that PHP’s built-in PDO, which is used internally in this library, does not support arrays as parameters but only scalars such as strings and integers.
Right now, the only workaround is that you create your custom placeholder, which is a sequence of ? wrapped in parentheses (instead of only a single ?):
$statusPlaceholder = '(' . \str_repeat('?,', \count($value) - 1) . '?)';

Then use that placeholder instead of the normal ? in the query, like this:
$myQuery = "SELECT userImage FROM candid WHERE id = ? AND status IN " . $statusPlaceholder;
$result = $this->db->exec(
	$myQuery,
        // ...
);

It gets worse – you also have to adjust your array of parameters, because the entries of $status must be in that array individually now:
$myParameters = \array_merge(
    [ $userid ],
    $status
);
$result = $this->db->exec(
	// ...
        $myParameters
);

This is really ugly, but unfortunately, it is necessary at the moment in order to have a correct and safe solution.
We don’t actually want that annoying way of writing these queries, of course. So, in the future, we should patch support for array parameters directly into this library, using the workaround above internally so that you don’t have to do this manually. But for now, no such solution is available. Sorry!
Does that help?

Hey,
Thanks for the workaround. I'll give it a try.
Since PHP-DB was last updated over an year ago, Is there any update releasing anytime soon?
I am seriously looking forward for one as this is one of the best database libraries for PDO and I would be depending upon IN clause heavily for my application.
Also, I was checking out the forks of this library, One of the users have created insertOnDuplicate function which you might consider for the master branch too. What do you think?

Thanks!
This library is still maintained and there will definitely be updates in the future. Just can’t give you any specific schedule yet. Sorry! By the way, the last update has not been over a year ago, but nine months ago.
This specific feature, IN clauses for conditions, will be one of the first we’ll work on, for sure. It’s quite important in everyday usage.
We’d love to have something like a insertOnDuplicate method, but the suggested implementation has been too simple, as discussed here: https://github.com/delight-im/PHP-DB/pull/4 If we have a proper solution, we’ll implement this as well.

Ugh, it’s been a while. Let’s keep this open, because it is still planned in fact, and so we can track it. Thank you!


Add fields to baremetalhost resource. Resolves gmeghnag#78

Add fields to baremetalhost resource. Resolves gmeghnag#78

What is oryxBuildBinary?!
Sorry I missed that it was added, so I forgot to add it in the .gitignore.
It is probably some leftover from GitHub Codespaces (https://github.com/microsoft/Oryx)


Rewrite McCall II

Fixedpoint, expectations, etc.
Will incorporate comments from @jlperla and then this should be good to review.

@jlperla Resolved the issues in McCall I. I think this one is ready for review now? (Do we also need to resurrect some iteration here?)

I don't think so. Worth doing it once for expostion, and to help reinforce making algorithms orthogonal in generic programming, but otherwise not sure it is worth it.
But submit that PR for NLsolve default parameters so that people get the (correct) impression that the function "just works" and is faster without tinkering

Check the change log summary of [3add3e8]. It has a few issues that should help with this and future re-writes.

Let me know when this is ready for review. Do take a look at the changes I did in the older branch and let me know.

@Nosferican I think most of the changes were obsoleted by what Jesse asked for, but I took another look and made some edits (like using fill, etc.)

Sorry, I have to merge this because otherwise I am unable to concurrently generate notebooks for teaching.  I will make modifications to master, and you can do the same (or put other tweaks in a PR to discuss).


Typo in the documentation for Sequential Unconstrained Minimization Technique (sumt, constrained optimization)

The document mentions that the solver enforces the constraints, g(x) >= 0. However, looking at the function that is minimized during the optimization (and the code), the constraints it enforces are, g(x) <= 0.

Fixed.


"There is no AsOsStr in std::ffi" when building

cargo build gives There is no 'AsOsStr' in 'std::ffi':
cargo build
    Updating registry `https://github.com/rust-lang/crates.io-index`
 Downloading libc v0.1.5
 Downloading docopt v0.6.59
 Downloading regex v0.1.26
 Downloading time v0.1.24
 Downloading inotify v0.1.9
 Downloading rustc-serialize v0.3.12
 Downloading gcc v0.3.4
 Downloading docopt_macros v0.6.59
 Downloading notify v1.2.1
   Compiling inotify v0.1.9
   Compiling rustc-serialize v0.3.12
   Compiling time v0.1.24
error: invalid character `-` in crate name: `build-script-build`
error: invalid character `-` in crate name: `build-script-build`
error: aborting due to 2 previous errors
Build failed, waiting for other jobs to finish...
/home/miguel/.cargo/registry/src/github.com-1ecc6299db9ec823/inotify-0.1.9/src/wrapper.rs:23:5: 23:22 error: unresolved import `std::ffi::AsOsStr`. There is no `AsOsStr` in `std::ffi`
/home/miguel/.cargo/registry/src/github.com-1ecc6299db9ec823/inotify-0.1.9/src/wrapper.rs:23 use std::ffi::AsOsStr;
                                                                                ^~~~~~~~~~~~~~~~~
error: aborting due to previous error
error: invalid character `-` in crate name: `rustc-serialize`
error: aborting due to previous error
Could not compile `time`.

I am brand new on both Rust and Cargo but it seems AsOsStr has vanished from latest Rust
cargo 0.0.1-pre-nightly (66849de 2015-03-10) (built 2015-03-11)
rustc 1.0.0-dev (built 2015-04-27)

You're welcome to try to fix it (and I'll merge your changes gladly), but personally at this point I'm waiting until Rust stable to pick it up again seriously, so I'm probably not going to keep this updated to the nightly.

As far as I understand, I am not using the nightly build of rust: this is the 1.0.0-beta.3 which is I guess the only "stable" version available. So unless there is a more stable version available, then your – awesome – plugin can just NOT be built. Or am I missing a something?

Oh, sorry. No, I meant that I have put all of my Rust-based projects, months ago, on standby until Rust stable (not the beta) comes out. The timeline for this is 15th May. So in two weeks I'll make this work with the stable, until then I rely on other people volunteering compatibility updates. Yes, it does mean that currently cargo watch cannot be built, sorry about that.

Ok. Thanks for the info.

This issue is obsolete, cargo-watch now compiles with nightly.


search broken - https://businessstore.microsoft.com/en-us/store

Major issue or bug in search on website
when you go to https://businessstore.microsoft.com/en-us/store/search?q=one
go to search - it is broken
To Reproduce
Steps to reproduce the behavior:

Go to 'https://businessstore.microsoft.com/en-us/store/search?q=one'
Click on 'search'
Scroll down to 'type anything'
See error - it wont let you type -repro on many devices areas networks users -same issue

Expected behavior
You can search it
workaround - right click and paste a word you want to search
Screenshots
If applicable, add screenshots to help explain your problem.

go to site , you will see issue repro
**Desktop

OS: windows 10
Browser [e.g. chrome, safari, mozilla, Ie, edge , all tried ]
Version [updated]

**Smartphone
iphone 11
safari
Additional context
it need to fixed asap . looks website issue
but if you are aware share some update on site

any updates ???

Hi @Ankushamy
Would you mind filing the bug using the Feedback button on that store page?
We are MicrosoftDocs, and don't have much access to work on that site.

Thank you! Jason

Many thanks for your email
On Wed, May 20, 2020 at 9:41 PM Jason H<EMAIL_ADDRESS>wrote:

Hi @Ankushamy https://github.com/Ankushamy
Would you mind filing the bug using the Feedback button on that store page?
We are MicrosoftDocs, and don't have much access to work on that site.
[image: image]
https://user-images.githubusercontent.com/5067358/82514030-73324600-9ac9-11ea-848a-34b0fc46224c.png
Thank you! Jason
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/feedback/issues/2751#issuecomment-631827839,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APTCAGLDFZR44M6QO22NDXDRSSBEVANCNFSM4NBW7EQQ
.

Thanks for giving feedback! appreciate it #please-close


[Enhancement] Support specific endpoint in Azure Blob Storage

Now we support to specific endpoint  in Azure Blob Storage
Grammar just like below:
CREATE EXTERNAL CATALOG blob_key_hive_test
PROPERTIES(
  "type"="hive",
  "hive.metastore.uris"="thrift://<IP_ADDRESS>:9083",
  "azure.blob.endpoint"="hello.blob.core.windows.net",
  "azure.blob.shared_key"="XXR2YL69y+pllPz+ASt1nxZlQ=="
);

CREATE EXTERNAL CATALOG blob_key_hive_test
PROPERTIES(
  "type"="hive",
  "hive.metastore.uris"="thrift://<IP_ADDRESS>:9083",
  "azure.blob.endpoint"="hello.blob.core.windows.net",
  "azure.blob.container"="sr",
  "azure.blob.sas_token"="XXR2YL69y+pllPz+ASt1nxZlQ=="
);

Because endpoint contains storage_account already, so we don't need to specific storage account anymore. Endpoint will be helpful for user who is using Azurite.
CREATE EXTERNAL TABLE file_table
(
  ACTIVITY string
)
ENGINE=FILE
PROPERTIES
(
  "path" = "wasbs://blob@root.local.azurite:8000/foo.parquet",
  "format" = "parquet",
  "azure.blob.endpoint"="root.local.azurite:8000",
  "azure.blob.shared_key"="sp=r&stZ&spr=https&sv=22BABuUQYQx8k%3D"
);

What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 7 / 19 (36.84%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/credential/azure/AzureStorageCloudCredential.java
6
18
33.33%
[90, 91, 92, 93, 94, 95, 96, 99, 100, 102, 103, 104]

:large_blue_circle:
com/starrocks/credential/azure/AzureCloudConfigurationFactory.java
1
1
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 7 / 19 (36.84%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/credential/azure/AzureStorageCloudCredential.java
6
18
33.33%
[90, 91, 92, 93, 94, 95, 96, 99, 100, 102, 103, 104]

:large_blue_circle:
com/starrocks/credential/azure/AzureCloudConfigurationFactory.java
1
1
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 7 / 19 (36.84%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/credential/azure/AzureStorageCloudCredential.java
6
18
33.33%
[90, 91, 92, 93, 94, 95, 96, 99, 100, 102, 103, 104]

:large_blue_circle:
com/starrocks/credential/azure/AzureCloudConfigurationFactory.java
1
1
100.00%
[]

https://github.com/Mergifyio backport branch-3.1


Update shipyard & admiral to v0.4.0 & go mod tidy

Signed-off-by: Miguel Angel Ajo<EMAIL_ADDRESS>

Give me a sec, I need to update the go.mod go.sum after re-tagging admiral v0.4.0

We’ll ignore the left-over Shipyard 0.3.0 in go.sum for now ;-).

I don't know why it's keeping it now.. :/


Having issues running "bash inference_demo.sh"

The following message occurred when I was running bash inference_demo.sh in the docker image:
Traceback (most recent call last):
  File "/workspace/runner/inference.py", line 30, in <module>
    from configs.configs_base import configs as configs_base
ModuleNotFoundError: No module named 'configs'

Appreciate if I could get some help to resolve this. It would be a shame to be unable to run such a good repository.

Run pip install -e . before training and inference.


Do big refactoring, essentially getting rid of the automata-core crate entirely

This also fixes #106 along the way.


Some IdP's are not listed in the Console App

Describe the issue:
When we go to Identity Providers in the Console App, we only get the following items:

Twitter, Yahoo, Microsoft, etc. (available in the management console) are missing.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 5.12  beta
OS: Mac

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


SpringLoaded example

Describe the feature
One of the painful things about any Java development is needing to restart the server after changes.  Spring Boot gets round this with Spring DevTools which automatically rebuilds after a change to code or configuration (but is sloooow thanks to Spring taking 3-4 seconds to restart).
I had a quick look into other methods of doing this and came across SpringLoaded which is the reload mechanism used in Grails and Play
https://github.com/spring-projects/spring-loaded
Getting it working was an absolute doddle.

Downloaded the relevant jar and placed it on my machine
Modified the IntelliJ run configuration to add "-javaagent:<path/to>/springloaded.jar -noverify"
That's it

From that point, 99% of code changes have not needed any restart of Javalin - I just compile the class and refresh the screen.  The only thing not covered is change to the code hierarchy (i.e. moving classes around rather than just changing them)
Additional context
I realise this almost certainly doesn't deal with everything (for example, if a code change means that a library should be re-initialised, such as changing JDBC data source info, then this doesn't do it) but I was wondering if it is worth adding something to the documentation (or as a tutorial) as to how to do this?
An alternative is to use DCEVM, which patches the JVM to allow hot reloading and supports Java 11.  Maybe documenting both and leaving it up to the user would be the best approach.
I'd be happy to try to write up both approaches if you think it would be useful

A quick tutorial for this would be really great @tomhillgreyridge :)

No problem.  I'm going to try out DCEVM tomorrow as SpringLoaded currently only supports Java 8 and one of the libraries we use (JDBI) now has a dependency on Caffeine 3 which is Java 11 only.  If I get DCEVM working right, I'll write up both approaches and their issues as a tutorial

Great, looking forward to trying it out !

Hi David.
Apologies for delay.  Work got in the way.
I did end up investigating two potential approaches to "hot code update".  They both have significant limitations so I thought I'd summarise them here to see whether you think it is worth documenting before I spend the time doing it.
Spring Loaded
Spring Loaded is basically a custom classloader which allows new classes to be loaded into a running application.  It used to be the reload method for Spring (which has been replaced with Spring Boot DevTools) and Play (ditto).  To use it you simply add a -javaagent=path/to/springloader.jar to the run configuration in IntelliJ

It allows much more class redefinition and method redefinition than the standard JVM debugger
It does not restart Javalin so anything which requires adding routes or reconfiguring the server requires a restart
It only supports Java 8 and there doesn't seem to be much momentum towards 11 yet

https://github.com/spring-projects/spring-loaded
DCEVM
DCEVM is an even more ambitious project.  It is basically a patched JVM which replaces the default classloader with a custom one which allows pretty much unlimited class redefinition.  To use it you simply install the DCEVM JVM and then change the run configuration to choose it as the JVM to use (IntelliJ)

Supports Java 11 which is good
Allows amending pretty much everything - I think it was just class hierarchy modification which didn't work
It does not restart Javalin so anything which requires adding routes or reconfiguring the server requires a restart
Documentation is not great when it comes to how to integrate

In theory, it is possible to write a plugin which listens for any class redefinition and performs any action you want when that happens.
http://dcevm.github.io/
http://hotswapagent.org/mydoc_custom_plugins.html
Using that, it should be possible (I would guess) to modify a Javalin app to listen to any class redefinition and automatically restart Javalin so it picks up new routes.
Jetty Maven Plugin
The final option would be to take a look at the Jetty Maven Plugin which allows watching for changed classes and automatically restarting jetty when they do change.  Obviously, this won't work directly for Javalin but the source code could probably be cloned and the logic for what to do on changes modified to make it work with Javalin.
In this scenario, you would need to run the app with mvn javalin:run.  This is similar to how Jooby does it
https://stackoverflow.com/questions/2369851/hot-deploy-in-embedded-jetty

My feeling, for what it is worth is that SpringLoaded is not worth investigating - Java 8 only, has no obvious plans for Java 11 that I can see and seems to be a bit of a legacy project - most things using it have moved to Spring Boot DevTools.
If DCEVM plugins allow for easy restart of Javalin via a custom plugin, that might be the best way.  It would mean that changes in any application class would automatically restart the entire application if implemented right - so that would include changes to server configuration, etc.
I'll probably have a stab at writing a prototype of this at some point to see whether it is easy to implement, but I'm not sure when I'll get the time

I'll probably have a stab at writing a prototype of this at some point to see whether it is easy to implement, but I'm not sure when I'll get the time.

That would be really great!

My feeling, for what it is worth is that SpringLoaded is not worth investigating - Java 8 only, has no obvious plans for Java 11 that I can see and seems to be a bit of a legacy project - most things using it have moved to Spring Boot DevTools.

I guess we can close this issue then?

I would think this issue can be closed, yes.  I don't know whether it would be worth copying the details of the three methods investigated into the issue about hot reload for reference or not?

I think it makes a lot of sense, please copy them over :)


test_roberta_for_token_classification.py::test_roberta_for_token_classification failing - GS only

Run in the Nightly FD suite
pytest models/experimental/roberta/tests/test_roberta_for_token_classification.py::test_roberta_for_token_classification
is a GS only test, currently failing with this signature:
launch_with_autoformat must be used if output tensor for op can be placed on host.
RuntimeError: TT_ASSERT @ tt_eager/tt_dnn/op_library/run_operation.cpp:713: outputs.at(i).tensor_attributes->dynamic_storage
skipping on CI until fixed
CC: @tt-rkim @TT-billteng

CC: @jliangTT


Log Viewer doesn't work with Laravel VUE Spa application.

This log viewer should work properly regardless of the frontend technologies used. It should be an independent link showing logs regardless of the packages and technologies used in the project
[Vue Router warn]: No match found for location with path "/log-viewer"

Hey @mrkazmierczakuw
This package is independent from any frontend libraries used, because it comes with its own frontend built in.
But this also means it's not specifically a Vue package, so you cannot call this route within the Vue Router, because Vue Router expects a Vue component.
The fix: just do a plain redirect using the anchor tag instead:
Laravel logs

Hope this helps! :)

Closing as it's not a bug and works as expected.


Suggested actions on selection of several Blob Containers in the desktop version off the app

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.32.1 (96)
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20231114.10
Platform
Windows
OS Version
Windows 11
Bug Description
I need to have the ability to delete a group of selected Blob Containers in one action.
Steps to Reproduce

Within Storage Explorer pick a Storage instance
Go to the Blob Containers node, right click -> View All
In the right hand side panel select some Containers

Actual Experience
In response to selecting several Containers, both the toolbar Delete button and the right click Delete option are grayed out.
Expected Experience
Once I select > 1 Container, the toolbar's button and right click's Delete are grayed out so I have to delete them one by one.  The Azure Portal version allows the functionality, the desktop application does not.  Yet, I cannot use the Azure Portal version application to delete Containers in my local computer's Storage Emulator instance.
Additional Context
Also, it would be nice upon selection of several Containers to be able to:

download them all at once
in response to a Properties action to obtain their combined size
copy and paste Containers across Azure Storages.  Really useful for replicating production data to local or test environments

@craxal for 1.34.0 please identify existing blob container level actions that could/should support being done in batch. Good candidates are feasible if there is a supporting API or if the client logic needed to do the action in batch is fairly trivial.

Here's a breakdown of all available blob container commands and their suitability for operating on multiple containers:

Command
Good Candidate?
Notes

Acquire Lease
✅ Yes
Should generate one activity per container.

Break Lease
✅ Yes
Should generate one activity per container.

Clone
❌ No
Dialog, not suitable for multiple selection.

Copy
⚪ Maybe
Changes clipboard data format.

Copy Direct Link
❌ No
Odd UX, unlikely to be useful.

Create
❌ No
Dialog not suitable for multiple selection.

Delete
✅ Yes
Should generate one activity per container.

Generate SAS
❌ No
Dialog, not suitable for multiple selections

Manage ACL
❌ No
Dialog, not suitable for multiple selections.

Manage SAP
❌ No
Dialog, not suitable for multiple selections.

Open
✅ Yes
Should open a new tab for each container selected.

Paste
⚪ Maybe
(see Copy)

Propagate ACL
✅ Yes
Should generate one activity per container.

Properties
❌ No
Dialog, not suitable for multiple selections.

Refresh
N/A
Doesn't operate on selections.

Rename
❌ No
Dialog, not suitable for multiple selections.

Set Public Access
✅ Yes
Should generate one activity per container.

There are no REST APIs available that operate on more than one container.
Multi-container operation candidates may involve more complex activity management, such as nesting activities in a parent activity, which will be more expensive if the original operations weren't designed to handle more than one activity.

Excelent list, well thought through.  In response to properties of multiple blobs, may want to display their total size.
That’s great that there are no REST APIs that operate on multiple blobs.  That would just complicate things unnecessarily.
You may want to launch the various API calls that target the selected blobs on independent threads, wait for all to finish and gather their results.  If all completed successfully, the app just goes on.  Otherwise perhaps report the operations that failed so the user can retry them later.

@eugen-nw

That’s great that there are no REST APIs that operate on multiple blobs. That would just complicate things unnecessarily.

The first note is merely mentioning that orchestrating multiple operations needs to be done client-side. The complexity is there regardless of where it is implemented. The primary concern here is that, without a REST API, it's up to the client to orchestrate everything instead of the server.

You may want to launch the various API calls that target the selected blobs on independent threads, wait for all to finish and gather their results. If all completed successfully, the app just goes on. Otherwise perhaps report the operations that failed so the user can retry them later.

The second note is more a question of presentation than orchestration. Some methods of presentation will take more time than others. It may be something we can refine over time.

For some fun, you may want try to delete one by one 50 containers.  Then you’ll see why this feature request came about.

I've made issues for these 4:

https://github.com/microsoft/AzureStorageExplorer/issues/7945
https://github.com/microsoft/AzureStorageExplorer/issues/7946
https://github.com/microsoft/AzureStorageExplorer/issues/7947
https://github.com/microsoft/AzureStorageExplorer/issues/7948

@craxal, can you please make issues also for "Open" and put it into Future? We can see if people ask for it. And after that you can close this issue as completed.


Is is possible to update semver to minimum 7.5.2 on all addons including experimental?

There is a vulnerability CVE-2022-25883 in versions of semver before 7.5.2 and some of the experimental addons are using it. is it possible to at least change the minimum version to 7.5.2 to avoid this vulnerability.
example of effected packages:

experimental\packages\opentelemetry-instrumentation

experimental\packages\opentelemetry-instrumentation-http

experimental\packages\shim-opencensus

[x] This only affects the JavaScript OpenTelemetry library

[ ] This may affect other libraries, but I would like to get opinions here first

looks like this was merged in thank you


[com.google.fonts/check/glyphsets/shape_languages] output contains unnecessary messages triggered by already-reported problems

Once "Missing glyph" [technically this is a missing "character" as it was missing from the cmap] errors are reported, there is no need to report other errors related to the same character, such as missing contextual forms or attachments not working.
Observed behaviour
           fa_Arab (Persian)   Some base glyphs were missing: چ
           ^                   Shaper produced a .notdef
           ^                   .fina version of ARABIC LETTER TCHEH; both buffers returned .notdef=1+1033
           ^                   Shaper didn't attach uni064B to None
           ^                   Shaper didn't attach uni064D to None
           ^                   Shaper didn't attach uni064C to None
           ^                   Shaper didn't attach uni0651 to None
           ^                   Shaper didn't attach uni0654 to None
           ^                   .medi version of ARABIC LETTER TCHEH; both buffers returned space=1+0
           ^                   Shaper didn't attach uni064B to space
           ^                   Shaper didn't attach uni064D to space
           ^                   Shaper didn't attach uni064C to space
           ^                   Shaper didn't attach uni0651 to space
           ^                   Shaper didn't attach uni0654 to space
           ^                   .init version of ARABIC LETTER TCHEH; both buffers returned space=0+0

Expected behaviour
All of the above messages are a result of the font not encoding U+0686 ARABIC LETTER TCHEH so the first message is all that is needed:
           fa_Arab (Persian)   Some base glyphs were missing: چ

Resources and steps needed to reproduce
font: Alkalami v3.000, downloadable from
https://software.sil.org/alkalami/download/
fontbakery check-googlefonts -c com.google.fonts/check/glyphsets/shape_languages Alkalami-Regular.ttf | more

fontbakery from source at tag v0.12.2
python 3.10.12
ubuntu 22.04

(I realize this one might be harder to clean up than #4646)

"Shaper didn't attach uni064B to None" sounds non-sensical. Perhaps we should address that first.

"Shaper didn't attach uni064B to None" sounds non-sensical. Perhaps we should address that first.

I assume that was because the test attempted to attach the mark to the missing/unencoded base char [that was previously reported] and got glyph #0 / .notdef which some part of the rendering stack or reporting logic mapped that to "None".

This is probably an issue that belongs in the shaperglot repository.


[Forge] Add forge LBT in ci-test #9039-(139-2)

[Forge] Add forge LBT in ci-test #9039
Motivation
[Forge] Add forge LBT in ci-test
Related PR

#9039

Test Plan

CI/CD tests are covered

/canary

:boom: Tests timed-out

/canary

:boom: Tests timed-out

/canary

:boom: Tests timed-out

/canary

:sunny: Canary successful

/land


Feature/pooling backed by randomness

Since each network connection in the same pool can be connected to different casual insances, we have to take that into account.
Thus the caching is now based on the domain id for each connection that we get from the handshake with casual.
I am sorry that the PR is a bit too big but I had to rewrite casual-caller.
Re using JEE in JCA, that should in theory work fine but I could not get it to work on wildfly - thus singleton instead of ApplicationScoped and Injections.
Let's fix that issue on it's own in another feature.

Found an issue that need to be fixed and verified so closing this PR for now


[RFC] Rewrite all the tests with testing-library

This is a follow-up on the discussion we have started in https://github.com/mui-org/material-ui-pickers/pull/1730#discussion_r419114709 between @eps1lon, @dmtrKovalenko, and @oliviertassinari.
The arguments in favor we have explored so far:

It's fast. For comparison: with Cypress, we need ~26s to run 28 tests, with testing-library, ~1s (60s / 1956 tests * 28 tests).
It's end-to-end and reliable. Running the tests in JSDOM and a ChromeHeadless is probably what yields 80% of the value but we can also easily run them in BrowserStack.
It works well, at scale. The problem is already mostly solved in the main repository, we don't need to complexity the stack with different tools. We can apply back what we have spend months refining, and move to solve more user-facing problems. This is has a significant compounding implication, we can have 1. Material-UI's engineer more easily making contributions between the different parts of the product, 2. any improvements we do to the stack benefits all the components.

The concerns against we have explored so far:

What about TDD? TDD can be done by watching the source and scoping the tests that run with either .only or a filter.
What about visual regression tests? I believe it works great in the repository's stack. By not taking screenshots of the pages of the documentation, we don't get false positives when updating the wordings. By using Argos-CI, we need to pay $0/month instead of $800/month to have the infra running. It's also going to be better after https://github.com/mui-org/material-ui/pull/21449.
Tests are hard to debug. I believe the usage of these 3 leverages makes debugging easy. 1. Dead simple test cases 2. debug() utils, 3. Assertion playground http://testing-playground.com/. In the event, it's not enough, I copy and paste the test case and run it in the documentation, to see how it behaves. Now, there is definitely a concern around getting used to the tooling, it takes time, which echos back to the value of point 3. and why it's important to share it between all the components.
JSDOM isn't reliable. We have faced this problem in a couple of cases in the codebase. On the 2,000 existing tests, they are some that need to be skipped. For instance: https://github.com/mui-org/material-ui/blob/d0bfcb4f11fd3904b1e235d80fbfe23758de8372/packages/material-ui/src/Select/Select.test.js#L1018. The solution we have found to this problem is to run the same tests in different targets: JSDOM, ChromeHeadless, Firefox, Safari, Edge.
Are the tests end-to-end? Yes as much as we can. We could even introduce https://github.com/testing-library/user-event/pull/348 if necessary.
We have too many tests to migrate. It seems that we have ~100 tests to migrate, to give a comparison it's about the number of tests the Autocomplete has, it should be manageable.

I believe the conclusion is that we should migrate all the tests to testing-library until we hit a roadblock

For tests that don't replay any user interaction I'd always suggest testing-library in a browser. It's reliable and faster if you have many tests (browser requires bundling which takes time but a browser is faster runs each test faster. There's a breakpoint when faster tests outweigh the upfront cost of bundling). If you don't have many tests and don't have an issue with diving deep into DOM specs, browser quirks and JSDOM then use JSDOM.
To test user interactions there's no silver-bullet that I know of to decide when to run automated e2e test or stick testing-library and dispatching events manually. To me it comes down to past experiences: does the test break on unrelated changes? Do you still encounter bugs for that scenario even though you have written tests? What is the better debugging experience? etc. So I would trust pickers maintainers to make that judgement.

After internal discussion, we will apply this strategy:
We will use testing-library exclusively for all future pull requests. This will allows us to better assess the quality of this solution. After a couple of weeks, if we don't find any blocker, we will then migrate all the tests. Hopefully, this will allow Material-UI to simplify its stack (fewer tools).

Done in https://next.material-ui.com/components/pickers. However, we had to skip ~50% of the tests as they are unreliable, fail in Safari, fail depending on the time of the day, etc. We will keep polishing them.


Add contribution guide

The link to the source of the Contribution Guide is in the document

@inidaname Thanks for the PR. Can you modify this to be more like https://github.com/Z-Editor/Z-Editor/blob/master/CONTRIBUTING.md which describes it in more developer oriented perspective?