BUG: Healthy Bot TVL and PNL doesn't change even tho BTC price is moving.

Created bot: https://etherscan.io/tx/0x265338d1a8a26958aa43a4609f1cd815a911354523af78a73cd7282d51e138a5
Bitcoin Price has changed, but bot still says the same

TVL is currently calculated on the front end not using any tracking prices..
const tokenAmount = tokenList['dex_name'] === 'curve' ? tokenList['amount0'] : tokenList['amount1'];
        const priceChange =
          Number(tokenList['tracking_price1']) > 0
            ? tokenList['tracking_price1'] - tokenList['deposit_price1']
            : Number(tokenList['current_price']) > 0
            ? tokenList['current_price'] - tokenList['deposit_price']
            : 0;
        tokenList['earnings'] = parseFloat((priceChange * tokenAmount - Number(tokenList['fees_charged'])).toFixed(2));
        tokenList['tvl'] = parseFloat((tokenList['deposit_price'] * tokenAmount).toFixed(2));

@jamie088 let's use tracking price to derive TVL

@jamie088 This is still NOT fixed.
Palomabot:

Curvebot:

@taariq @rootedbox This is caused by an issue with the mybots API. I can't see the tracking price for this bot.
{"deposit_id":"1","token0":"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599","token1":"0xf939e0a03fb07f59a73314e73794be0e57ac1b4e","amount0":"6303087","amount1":"25000000000000000000000","depositor":"0x2a9b16E78375c3b303aB56fbe736Be6EC3b3E016","deposit_price":"4234.35081573","expire":"33246967686","withdrawer":"0xB8C9F1FbA80327daB67F26f0d8cD2C829Af2404F","network_name":"ETH","dex_name":"curve","bot":"healthy_curve","number_trades":"1","remaining_counts":"0","interval":"30","contract":"0x1B2540D9f6dEa6c42DDdfA86bE95D5BadDb809ec","bot_type":"4","fees_charged":"0.15227244344476193","sent_to_mixpanel":"0","transaction_hash":"0x265338d1a8a26958aa43a4609f1cd815a911354523af78a73cd7282d51e138a5","create_to_mixpanel":"0","created_at":"2024-03-20 20:48:28","gas_mixpanel":"0","leverage":"684","health_threshold":"300","deleverage_percentage":"5000","coin_info":{

multiple issues..
bot name was not the same everywhere in code.. if there was an exception then the next deposit wouldn't have it's tracking_price updated.. missing quotes in another function


jest for testing

Updates dependencies and switches to jest for unit testing.

Codecov Report

Merging #7 (b849246) into main (21a5935) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #7   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          157       172   +15
  Branches        18        19    +1
=========================================
+ Hits           157       172   +15

Impacted Files
Coverage Δ

src/api.ts
100.00% <0.00%> (ø)

src/styles.ts
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Consider impact of fragmentation in stream frames

Determine if we should add support for a FIN bit (or similar) in BEGIN, END and especially DATA stream frames.

See reaktivity/nukleus-http.java#2 for one specific use-case.


Trigger Prod CLI release for v0.15.1

Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold

/unhold
/approve


internal/shaderir/hlsl: == with vectors causes a compile error at D3DCompile

I got this crash on Github Actions:
goroutine 1 [running, locked to thread]:
runtime/debug.Stack()
	/opt/hostedtoolcache/go/1.17.11/x64/src/runtime/debug/stack.go:24 +0x65
runtime/debug.PrintStack()
	/opt/hostedtoolcache/go/1.17.11/x64/src/runtime/debug/stack.go:[16](https://github.com/divVerent/aaaaxy/runs/7254679026?check_suite_focus=true#step:8:17) +0x19
github.com/divVerent/aaaaxy/internal/log.Fatalf({0x102811b, 0x1d}, {0xc000459f48, 0x1, 0x1})
	/home/runner/work/aaaaxy/aaaaxy/internal/log/log.go:101 +0x3c
main.main()
	/home/runner/work/aaaaxy/aaaaxy/main.go:106 +0x1d3
2022/07/08 16:02:45.821440 [FATAL] RunGame exited abnormally: directx: D3DCompile failed: D:\134a\134aaaaxy\134aaaaxy\134shader(128,6-[17](https://github.com/divVerent/aaaaxy/runs/7254679026?check_suite_focus=true#step:8:18)): error X30[19](https://github.com/divVerent/aaaaxy/runs/7254679026?check_suite_focus=true#step:8:20): if statement conditional expressions must evaluate to a scalar
	D:\134a\134aaaaxy\134aaaaxy\134shader(132,2-3): error X3000: unrecognized identifier 'l4'
	\000: Unspecified error

It'd be nice if I could see what was actually the shader code it compiled the Kage code to. Any way one can see it? It is possible that I can fix or work around this in my shader code if I knew what this actually is. For OpenGL errors of this kind, Ebiten prints the entire compiled GLSL code to the console so one can debug such issues; this however doesn't seem to exist for DirectX?

What shader caused this crash?

It'd be nice if I could see what was actually the shader code it compiled the Kage code to.

Sure, I'll add a new log for ebitendebug.

Valid Kage code should not be able to generate a type error like this

Yes, so I'd like to know your Kage program

Well, as the message does not tell, I do not yet know which shader. I strongly suspect this one as it is the one I most recently changed:
https://github.com/divVerent/aaaaxy/blob/main/assets/shaders/dither.kage.tmpl

I added a source code in the error message: 3d5031571d05374450da9acc5b0781917e69a238

Comparing vectors also failed in Metal.

Now you can use == for vectors. Please take a look at c01821ca5c395dec74d374c5d8713029a5f6acd6

Thanks, this seems right; I will note that I can remove my u.x == 0 && u.y == 0 && u.z == 0 workaround once this fix is out.

Thank you for confirming the fix!

On another note, is it to be expected that my game is 4x slower on Ebiten/DirectX than Ebiten/OpenGL (i.e. 30fps vs 120fps)? This is why I am not enabling DirectX by default yet, but it might be specific to my only machine that has Windows on it. It has an Intel(R) HD Graphics 500 and I did not install any specific drivers, it has whatever comes with Windows.

DirectX is actually slow in some circumstance and this is a know issue (#2034), but 4x slower is not a known issue. Perhaps are you using a warp (software rendering) driver?

With that set I get 5.4fps. Thanks, at least this helps - I had just spent an hour trying to hunt down DirectX SDKs that then failed to install in order to get dxcpl so I can force-enable it. Should have looked in Ebiten source first.
This tells me that warp is not the issue, as otherwise this variable would have changed nothing.

Anyway, this issue here is closed; I guess we don't keep issues open until release? For performance I will open a separate one.

Let's keep this issue closed and discuss the performance issue at the new issues.


Can't resolve relative imports on fonts when importing nested scss

Details

I've read another issue thats basically exactly as mine but I cant find it to reference it.
The jist of the problem: I have a file /src/app/components/card/font.scss/ with another directory fonts/ in the same directory.
Inside font.scss I have :
  font-family: 'fontello';
  src: url('./font/fontello.eot?13696906');
  src: url('./font/fontello.eot?13696906#iefix') format('embedded-opentype'),
       url('./font/fontello.woff2?13696906') format('woff2'),
       url('./font/fontello.woff?13696906') format('woff'),
       url('./font/fontello.ttf?13696906') format('truetype'),
       url('./font/fontello.svg?13696906#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}

In another file /src/app/components/dashboard/dashboard.jsx I import the font.scss like so :
@import '../card/fontello.scss';
Webpack crashes when it tries to build with the following error because the relative url import of the fonts files is being taken from the calling file's directory (/src/app/components/dashboard). As shown in the below error. I tried basically everything. Postcss-url doesn't work. I've also posted my webpack config below.
Error (Logs|Stacks)

ERROR in ./node_modules/css-loader?{"sourceMap":true,"modules":true,"camelCase":"dashes","localIdentName":"[name]_[local]_[hash:base64:3]"}!./node_modules/postcss-loader/lib?{"sourceMap":true}!./src/app/components/dashboard/dashboard.scss
Module not found: Error: Can't resolve './font/fontello.eot?13696906' in '/Users/marko/Documents/projects/squat-donkey/src/app/components/dashboard'
 @ ./node_modules/css-loader?{"sourceMap":true,"modules":true,"camelCase":"dashes","localIdentName":"[name]_[local]_[hash:base64:3]"}!./node_modules/postcss-loader/lib?{"sourceMap":true}!./src/app/components/dashboard/dashboard.scss 7:1166-1205 7:1236-1275
 @ ./src/app/components/dashboard/dashboard.scss
 @ ./src/app/components/dashboard/Dashboard.jsx
 @ ./src/app/components/App.jsx
 @ ./src/index.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server react-hot-loader/patch ./src/index.js

Reproduction [Code]

webpack.config.js
const path = require('path');
const webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  stats: {
    colors: true,
    chunks: false,
  },
  entry: ['react-hot-loader/patch', './src/index.js'],
  devtool: 'inline-source-map',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/',
  },
  devServer: {
    contentBase: './dist',
    hot: true,
  },
  plugins: [
    new CleanWebpackPlugin(['dist']),
    new HtmlWebpackPlugin({
      template: path.resolve(__dirname, 'src/index.html'),
      filename: 'index.html',
    }),
    new webpack.NamedModulesPlugin(),
    new webpack.HotModuleReplacementPlugin(),
  ],
  resolve: {
    extensions: ['.js', '.jsx'],
  },
  module: {
    rules: [
      {
        test: /\.(jsx|js)?$/,
        include: [path.join(__dirname, './src')],
        use: {
          loader: 'babel-loader',
        },
      },
      {
        test: /\.json$/,
        use: {
          loader: 'json-loader',
        },
      },
      {
        test: /\.(woff|woff2|eot|ttf|svg|otf)$/,
        use: {
          loader: 'file-loader',

        },
      },
      {
        test: /\.scss$/,
        include: [path.join(__dirname, './src')],
        use: [
          {
            loader: 'style-loader',
          },
          {
            loader: 'css-loader',
            options: {
              sourceMap: true,
              modules: true,
              camelCase: 'dashes',
              localIdentName: '[name]_[local]_[hash:base64:3]',
            },
          },
          {
            loader: 'postcss-loader',
            options: {
              sourceMap: true,
              plugins: loader => [
                require('postcss-import')({ root: loader.resourcePath }),
                require('precss')(),
                require('autoprefixer')(),
              ],
            },
          },
        ],
      },
    ],
  },
};

Environment

OSX

In case of other users reading this thread. I had the same problem with fonts when importing nested pcss, solution posted by michael-ciniawsky did not work for me, but change from relative to absolute path works well.


Labels for Range Rings created outside of Basemap extent

This fix addresses #533 for range rings. Logic implemented:

Gets the basemap extents
Creates a non-geodesic circle
Checks if circle crosses beyond basemap extent
a. If so, then create label based on non-geodesic circle
b. If not, then create label based on geodesic range ring circle

@csmoore Can you review? Thanks.

@csmoore IActiveView::FullExtent() didn't work with the logic. So, I added IBasemapLayer for layer type check in the GetBasemapExtent function.

Added logic to handle for situation where a map might not have a basemap or multiple basemaps.


chore: update @nestjs/axios to 2

nest-azure-ad-jwt-validator isn't working in our repos when upgrading to nest9 because of peer dependency nestjs/axios:1

npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR!  npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@nestjs/axios npm ERR<EMAIL_ADDRESS>from the root project npm ERR!  npm ERR! Could not resolve dependency: npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/nest-azure-ad-jwt-validator npm ERR<EMAIL_ADDRESS>from the root project

:tada: This PR is included in version 6.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[#2656] improvement(docs): Add more details in the document of trino-connector

What changes were proposed in this pull request?

Add more details in the document of trino-connector
Fix typo

Why are the changes needed?
It might encounter some errors when following the instructions in docs/trino-connector/development.md
Fix: #2656
Does this PR introduce any user-facing change?
N/A
How was this patch tested?
N/A

Hi @yuqi1129  could you help to review this, many thanks.

Thanks @yijhenlin for your contribution. The below comment is unrelated to your improvement here.
@yuqi1129
Why there's a pom.xml file in the doc folder, also several configuration files under this folder? It's super weird and unusual that we maintain several build/conf files under the doc.
How do you display this on the website, why can't you use code block, instead of just putting the conf file under the doc folder?
It's really not good to add this conf/build file directly in the doc folder, changing all of them to be markdown display-able and docusaurus render-able doc.

How do you display this on the website, why can't you use code block, instead of just putting the conf file under the doc folder?

If users click the link, the content will be just like this:
<img width="1261" alt="image" src="https://github.com/datastrato/gravitino/assets/15794564/2b352750-adec-488f-b4a9-82d8776d1a82">

If it's not so user-friendly, I will launch a PR to modify it.

It's weird and unsafe, please refactor to remove all the configuration files from doc.

How do you display this on the website, why can't you use code block, instead of just putting the conf file under the doc folder?

If users click the link, the content will be just like this:
If it's not so user-friendly, I will launch a PR to modify it.

@yuqi1129  Please fix this so that won't block @yijhenlin 's work here.

@yijhenlin
I have fixed the problem mentioned by @jerryshao. Please rebase the code and resolve any conflicts.

Hi @yuqi1129, I resolve the conflicts. Please check the modification again, thanks.


Descending param in the data port does not seem to work

When trying to implement ddb desc logic for adapter, I couldn't get past zod errors for listDocuments. Perhaps I was using it wrong, but I didn't see how to do it in the docs.
query string = ?descending=true
I tried a few other variants, such as ?descending=0
hyper response
{
"issues": [
{
"code": "invalid_arguments",
"argumentsError": {
"issues": [
{
"code": "invalid_type",
"expected": "boolean",
"received": "string",
"path": [
0,
"descending"
],
"message": "Expected boolean, received string"
}
]
},
"path": [],
"message": "Invalid function arguments"
}
]
}

This must be an error in the express/opine API, the API should take the query params and convert them into the proper object value attributes.


Design to support inclusion of sub-areas in A&R

Description:
Design and requirements exploration for sub-areas within A&R. This is a first step to ticket #353 .
Note on deadlines:
- depends on the level of complexity of this ticket and how much work it would be
- Season launch happens in April, so if we want to incorporate these for next season (again, not a hard deadline), we would need to have it done before then.
Acceptance Criteria:

[ ] Meet with A&R users to understand and write down user needs
[ ] Create simple wireframes with devs as initial iteration
[ ] get feedback on designs
[ ] update implementation ticket (#353) with AC according to designs and user needs

Development Checklist:

[ ] ...
[ ] ...
[ ] ...

Dependencies

Blocked by
Blocking

Relevant documentation as reference
Definition of Ready

[ ] Acceptance criteria are included
[ ] Wireframes are included (if applicable)
[ ] Design / Solution is accepted by Product Owner (if applicable)
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

Definition of Done

In progress:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] UI meets accessibility requirements
[ ] Unit tests are written
[ ] Work is traceable in GitHub
[ ] PR linked to ticket number
[ ] If needed/required - Dev adds flag/label to highlight any migration steps necessary prior to PROD deployment

Code review:

[ ] Code is peer reviewed and has passed CI/CD tests

QA:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Code is potentially shippable to the production environment
[ ] Functional features have been tested and passed by QA
[ ] UI components tested by designer
[ ] Code is deployed to PROD when moved to 'done' column (unless requested otherwise by PO)

PO Review:

[ ] Acceptance criteria are tested (Functionality meets the acceptance criteria defined in the ticket)
[ ] Reviewed and approved by Product Owner

Notes:

Standardized variances (includes sub-areas) - working copy - https://bcgov.sharepoint.com/:x:/r/teams/031072/Shared Documents/Attendance and Revenue/Variance/Standardised Variances- working copy.xlsx?d=w6e4eda1261f1465fb8036c7d96ff7fad&csf=1&web=1&e=HMUkq2

Hi @pavelcreates  @meredithom - tagging you directly in this ticket for async backlog refinement. Please review criteria and add anything that is missing. Let me know if you have any questions.

From what I can gauge - the acceptance criteria here makes sense. If anything, we can update the ticket once exploration starts.


Support find widget in WebviewViewProvider

VSCode already has an options(https://github.com/microsoft/vscode/blob/main/src/vscode-dts/vscode.d.ts#L8620) to enable find widget in webview panel, but seems there is no way to enable it via webviewViewProvider(https://github.com/microsoft/vscode/blob/main/src/vscode-dts/vscode.d.ts#L8892)
Hope VSCode can provide an option to enable find widget for WebviewViewProvider!

What's the use case?

The same use case as call hierarchy panel. For myself, I would like to enable find widget to find text in my webview.

What type of content does your webview show?

For myself, I would like to show call hierarchy or find all reference results for symbols. If there are lots of results, find widget should help user find symbols in the panel.
This is the use case for me, but I think there are many other use cases if the panel shows lots of content. It will be very useful.

@chouzz Can you use a tree view instead of  a webview view? Call hierarchy and find all references are both good fits for that API

I can't, my extension should be an alternative to tree view. I would like to implement something like https://yaobinouyang.gallerycdn.vsassets.io/extensions/yaobinouyang/codeatlas/1.3.34/1635120555850/273052/1/main.png

@mjbvz Same issue here. My webview show results of adb logcat with textarea by WebViewProvider (contributed to panel), needs a find widget to search specify log.

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature would be very helpful for the BrightScript Language extension as well.

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Refactor PowerSystem constructors

Codecov Report

Merging #190 into master will decrease coverage by 0.96%.
The diff coverage is 32.85%.

@@            Coverage Diff             @@
##           master     #190      +/-   ##
==========================================
- Coverage   58.45%   57.48%   -0.97%
==========================================
  Files          45       51       +6
  Lines        3822     3839      +17
==========================================
- Hits         2234     2207      -27
- Misses       1588     1632      +44

Impacted Files
Coverage Δ

src/models/topological_elements.jl
100% <ø> (ø)
:arrow_up:

src/models/generation.jl
64.7% <ø> (ø)
:arrow_up:

src/PowerSystems.jl
100% <ø> (ø)
:arrow_up:

src/validation/bus.jl
0% <0%> (ø)

src/validation/powersystem.jl
0% <0%> (ø)

src/validation/generator.jl
0% <0%> (ø)

src/validation/load.jl
0% <0%> (ø)

src/validation/branch.jl
0% <0%> (ø)

src/validation/storage.jl
0% <0%> (ø)

src/utils/IO/system_checks.jl
81.01% <100%> (+0.24%)
:arrow_up:

... and 7 more

Continue to review full report at Codecov.

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

This PR has all the changes we discussed this morning.  There is one area of feedback I'd like to get from everyone, but you will have to use this code first.  The ConcreteSystem dictionary members called components and components_by_type in are keyed by Type (instead of Symbol).  The REPL usage differs on two factors:

using PowerSystems or import PowerSystems:  causes different names for Types but Symbols are always the same
tab auto-completion works for Types but not Symbols

This PR has all the changes we discussed this morning. There is one area of feedback I'd like to get from everyone, but you will have to use this code first. The ConcreteSystem dictionary members called components and components_by_type in are keyed by Type (instead of Symbol). The REPL usage differs on two factors:

using PowerSystems or import PowerSystems:  causes different names for Types but Symbols are always the same
tab auto-completion works for Types but not Symbols

If we are going to have a single field in the struct for the separated components, then it would be better to call the current components fields data and call components_by_type just components. Especially given that the components field will actually have all the data including other things that are not components.

This PR has all the changes we discussed this morning. There is one area of feedback I'd like to get from everyone, but you will have to use this code first. The ConcreteSystem dictionary members called components and components_by_type in are keyed by Type (instead of Symbol). The REPL usage differs on two factors:

using PowerSystems or import PowerSystems:  causes different names for Types but Symbols are always the same
tab auto-completion works for Types but not Symbols

If we are going to have a single field in the struct for the separated components, then it would be better to call the current components fields data and call components_by_type just components. Especially given that the components field will actually have all the data including other things that are not components.

data and components sounds good to me.

What is not (or should not be) a subtype of Component?


normalizeDatetimeValue ignore milliseconds

What steps will reproduce the problem?
Yii::$app->formatter->asDatetime('1539770576.2434', 'd.MM, H:mm:ss.A'); // or in PHP syntax, whatever

What is the expected result?
Date with milliseconds.
What do you get instead?
Date without milliseconds because of that. Value becomes as integer.
Additional info

Q
A

Yii version
<IP_ADDRESS>

PHP version
7.2

Operating system
Ubuntu

I'm not sure if this is really a bug. I'm saying that beacuse even when we try the following code, creating a Datetime object, we don't get the milliseconds:
print_r(new DateTime('@1539770576.2434'));
The only way that I've got the desired result was passing a Datetime object as parameter and using a php datetime format, like this:
$now = DateTime::createFromFormat('U.u', microtime(true)); Yii::$app->formatter->asDatetime($now, 'php:m-d-Y H:i:s.u');
Besides that, using the Yii notation for formatting won't work because if you do that, Yii will try to convert ICU format to PHP Format (as you can see here  here) and the method convertDateIcuToPhp that comes originally from the BaseFormatConverter is replacing the A (representing milliseconds) for '' (empty) here.

Maybe it's not a bug from developers point of view. Maybe u was skipped for some important development reasons. But if Yii docs says

You can specify date and time formats using the ICU syntax. You can also use the PHP date() syntax
I expect date will be exactly in that format. I think current behavior is incorrect.

So, if I have to create DateTime object, I don't need formatter at all. I can do anything with dates by DateTime.

@nnrudakov yeah, what you've said makes sense. We could change the Formatter class, veryfing if the parameter it's a timestamp with milliseconds. If so, we can use the method DateTime::createFromFormat to create the object. We also need to convert u (milliseconds) to A when format is passed using the PHP notation.
What do you think about it?

I' tried to solve this problem but it seems that the format method (from Datetime class) and the format method (from IntlDateFormatter class), they produce different outputs (pretty similar, but not equal. The precision is also different). So, if someone is using the Intl Extension will get one result, and another result if it's not using the extension.  I've tried the following code:
$timestamp = DateTime::createFromFormat("U.u",<PHONE_NUMBER>.478800, new DateTimeZone("UTC"));
$formatter = new IntlDateFormatter("en-US", IntlDateFormatter::NONE, IntlDateFormatter::NONE, 'UTC', null, "yyyy-MM-dd HH:mm:ss.A");
$datetime1 = $formatter->format($timestamp);

$timestamp2 = DateTime::createFromFormat("U.u",<PHONE_NUMBER>.478800, new DateTimeZone("UTC"));
$datetime2 = $timestamp2->format("Y-m-d h:i:s.u");

echo "Datetime 1 : " . $datetime1 . "<br />";
echo "Datetime 2 : " . $datetime2;

Any sugestions?


Unclear as to whether SNI certificates are unsupported by Traffic Manager HTTPS health probes, or just not validated

Doc Link:
https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-faqs#can-i-monitor-https-endpoints
Doc GUID:
4cafaeee-5b0a-7f50-7c71-a8c3abf4e881
Issue:
Documentation is unclear as to whether Traffic Manager HTTPS health probes can successfully probe a backend that serves up an SNI certificate or not.
I filed a StackOverflow question for this and got a reply that another person is using an SNI certificate and it works fine:
https://stackoverflow.com/questions/55300096/azure-traffic-manager-shows-online-for-tcp-443-probe-but-degraded-for-https-443?noredirect=1#comment97356185_55300096
The documentation says SNI is "unsupported", but does this mean that the certificate will break the HTTPS health probes, or just that SNI won't be validated properly?
Clarification would be great. :)

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

ID: d9522edc-ac04-6c89-e061-59fa788e28ed
Version Independent ID: 4cafaeee-5b0a-7f50-7c71-a8c3abf4e881
Content: Azure Traffic Manager - FAQs
Content Source: articles/traffic-manager/traffic-manager-FAQs.md
Service: traffic-manager
GitHub Login: @KumudD
Microsoft Alias: kumud

@dbsanfte Thanks for the question! We're investigating this and will get back to you shortly.

@dbsanfte , Appreciate your patience. while working on this i found that adding multiple hostnames with multiple certificates and enabling SNI turns the monitor status to degraded state.so, as said Traffic manager cannot provide any certificate validation, including:

Server-side certificates are not validated
SNI server-side certificates are not supported
Client certificates are not supported

Assigning this to @KumudD for visibility and to provide deeper insights.

Thanks @SubhashVasarapu-MSFT.
I would suggest that SNI certificates should not break the HTTPS probing. It's not necessary that the certificate be in any way validated, but the probes should still be functional.

@dbsanfte , If you wish you could also post your feedback on our User-voice https://feedback.azure.com/forums/217313-networking - All of the feedback you share in these forums will be monitored and reviewed by the Microsoft engineering teams responsible for building Azure.
We are closing this issue for now.If there are further questions regarding this matter, please reply and we will gladly continue the discussion.

@dbsanfte , When Traffic Manager sends a probe to the resource, first TCP 3 way handshake happens. Post that if it is HTTPS endpoints, TLS handshake happens where in the Client Hello, you can see a field named "Server Name" which helps Server to decide which site the client is looking for.
So, you can take a packet capture and check what is the Server Name TM is requesting for and see whether your web server responds back with the Server Hello when SNI is enabled.
If No, then check the value in the Sever Name matches with your Web Server's Host Name. Let me know if you have any question.

@dbsanfte , i just tested it out. When you have enabled SNI, and if it shows degraded, you need to make sure you add the host:hostname in the endpoint and make sure your IIS/ web server has the same binding with hostname.
Then your endpoint becomes "online".
Endpoint : External IP
Frame: Number = 139, Captured Frame Length = 260, MediaType = ETHERNET

Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-0D-3A-81-5A-6C],SourceAddress:[12-34-56-78-9A-BC]
Ipv4: Src = <IP_ADDRESS>, Dest = <IP_ADDRESS>, Next Protocol = TCP, Packet ID = 26758, Total IP Length = 246
Tcp: Flags=...AP..., SrcPort=16514, DstPort=HTTPS(443), PayloadLen=206, Seq=1205011762 -<PHONE_NUMBER>, Ack=1928950903, Win=517 (scale factor 0x8) = 132352
TLSSSLData: Transport Layer Security (TLS) Payload Data

TLS: TLS Rec Layer-1 HandShake: Client Hello.

TlsRecordLayer: TLS Rec Layer-1 HandShake:
ContentType: HandShake:

Version: TLS 1.2
Length: 201 (0xC9)

SSLHandshake: SSL HandShake ClientHello(0x01)
HandShakeType: ClientHello(0x01)
Length: 197 (0xC5)
ClientHello: TLS 1.2

Version: TLS 1.2

RandomBytes:
CompressionMethods: 0 (0x0)
ExtensionsLength: 90 (0x5A)

ClientHelloExtension: Server Name(0x0000)
ExtensionType: Server Name(0x0000)
ExtensionLength: 33 (0x21)
NameListLength: 31 (0x1F)
NameType: Host Name (0)
NameLength: 28 (0x1C)
ServerName: labvmtest.trafficmanager.net

134	6:07:58 PM 4/19/2019	3.5057575	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=CE....S., SrcPort=16514, DstPort=HTTPS(443), PayloadLen=0, Seq=1205011761, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192	{TCP:10, IPv4:6}
135	6:07:58 PM 4/19/2019	3.5057967	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=.E.A..S., SrcPort=HTTPS(443), DstPort=16514, PayloadLen=0, Seq=1928950902, Ack=1205011762, Win=8192 ( Negotiated scale factor 0x8 ) = 2097152	{TCP:10, IPv4:6}
138	6:07:58 PM 4/19/2019	3.6763895	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...., SrcPort=16514, DstPort=HTTPS(443), PayloadLen=0, Seq=1205011762, Ack=1928950903, Win=517 (scale factor 0x8) = 132352	{TCP:10, IPv4:6}
139	6:07:58 PM 4/19/2019	3.6765119	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 HandShake: Client Hello.	{TLS:12, SSLVersionSelector:11, TCP:10, IPv4:6}
140	6:07:58 PM 4/19/2019	3.6767276	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 HandShake: Server Hello.; TLS Rec Layer-2 Cipher Change Spec; TLS Rec Layer-3 HandShake: Encrypted Handshake Message.	{TLS:12, SSLVersionSelector:11, TCP:10, IPv4:6}
141	6:07:58 PM 4/19/2019	3.8482287	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypted Handshake Message.; TLS Rec Layer-3 SSL Application Data	{TLS:12, SSLVersionSelector:11, TCP:10, IPv4:6}
142	6:07:58 PM 4/19/2019	3.8485405	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 SSL Application Data	{TLS:12, SSLVersionSelector:11, TCP:10, IPv4:6}
147	6:07:59 PM 4/19/2019	4.0190080	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...., SrcPort=16514, DstPort=HTTPS(443), PayloadLen=0, Seq=1205012304, Ack=1928951666, Win=514 (scale factor 0x8) = 131584	{TCP:10, IPv4:6}
148	6:07:59 PM 4/19/2019	4.0195802	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...F, SrcPort=16514, DstPort=HTTPS(443), PayloadLen=0, Seq=1205012304, Ack=1928951666, Win=514 (scale factor 0x8) = 131584	{TCP:10, IPv4:6}
149	6:07:59 PM 4/19/2019	4.0195949	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...., SrcPort=HTTPS(443), DstPort=16514, PayloadLen=0, Seq=1928951666, Ack=1205012305, Win=1028 (scale factor 0x8) = 263168	{TCP:10, IPv4:6}
Status : Degraded
IIS config:  HTTPS with Hostname  "www.contoso.com"
Endpoint : External IP
Endpoint host header changed to www.contoso.com
Frame: Number = 285, Captured Frame Length = 215, MediaType = ETHERNET

Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-0D-3A-81-5A-6C],SourceAddress:[12-34-56-78-9A-BC]
Ipv4: Src = <IP_ADDRESS>, Dest = <IP_ADDRESS>, Next Protocol = TCP, Packet ID = 529, Total IP Length = 201
Tcp: Flags=...AP..., SrcPort=16512, DstPort=HTTPS(443), PayloadLen=161, Seq=3762031364 -<PHONE_NUMBER>, Ack=127077715, Win=517 (scale factor 0x8) = 132352
TLSSSLData: Transport Layer Security (TLS) Payload Data

TLS: TLS Rec Layer-1 HandShake: Client Hello.

TlsRecordLayer: TLS Rec Layer-1 HandShake:
ContentType: HandShake:

Version: TLS 1.2
Length: 156 (0x9C)

SSLHandshake: SSL HandShake ClientHello(0x01)
HandShakeType: ClientHello(0x01)
Length: 152 (0x98)
ClientHello: TLS 1.2

Version: TLS 1.2

RandomBytes:
SessionIDLength: 0 (0x0)
CompressionMethods: 0 (0x0)
ExtensionsLength: 77 (0x4D)

ClientHelloExtension: Server Name(0x0000)
ExtensionType: Server Name(0x0000)
ExtensionLength: 20 (0x14)
NameListLength: 18 (0x12)
NameType: Host Name (0)
NameLength: 15 (0xF)
ServerName: www.contoso.com

256	6:14:56 PM 4/19/2019	2.5050289	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=CE....S., SrcPort=16512, DstPort=HTTPS(443), PayloadLen=0, Seq=3762031363, Ack=0, Win=8192 ( Negotiating scale factor 0x8 ) = 8192	{TCP:8, IPv4:3}
257	6:14:56 PM 4/19/2019	2.5050573	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=.E.A..S., SrcPort=HTTPS(443), DstPort=16512, PayloadLen=0, Seq=127077714, Ack=3762031364, Win=8192 ( Negotiated scale factor 0x8 ) = 2097152	{TCP:8, IPv4:3}
284	6:14:56 PM 4/19/2019	2.6752317	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...., SrcPort=16512, DstPort=HTTPS(443), PayloadLen=0, Seq=3762031364, Ack=127077715, Win=517 (scale factor 0x8) = 132352	{TCP:8, IPv4:3}
285	6:14:56 PM 4/19/2019	2.6753630	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 HandShake: Client Hello.	{TLS:10, SSLVersionSelector:9, TCP:8, IPv4:3}
286	6:14:56 PM 4/19/2019	2.6772737	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 HandShake: Server Hello. Certificate. Server Key Exchange. Server Hello Done.	{TLS:10, SSLVersionSelector:9, TCP:8, IPv4:3}
291	6:14:57 PM 4/19/2019	2.8750274	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 HandShake: Client Key Exchange.; TLS Rec Layer-2 Cipher Change Spec; TLS Rec Layer-3 HandShake: Encrypted Handshake Message.	{TLS:10, SSLVersionSelector:9, TCP:8, IPv4:3}
292	6:14:57 PM 4/19/2019	2.8758999	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypted Handshake Message.	{TLS:10, SSLVersionSelector:9, TCP:8, IPv4:3}
298	6:14:57 PM 4/19/2019	3.0471884	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 SSL Application Data	{TLS:10, SSLVersionSelector:9, TCP:8, IPv4:3}
299	6:14:57 PM 4/19/2019	3.0481142	System	<IP_ADDRESS>	<IP_ADDRESS>	TLS	TLS:TLS Rec Layer-1 SSL Application Data	{TLS:10, SSLVersionSelector:9, TCP:8, IPv4:3}
311	6:14:57 PM 4/19/2019	3.2183901	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...., SrcPort=16512, DstPort=HTTPS(443), PayloadLen=0, Seq=3762031936, Ack=127080062, Win=517 (scale factor 0x8) = 132352	{TCP:8, IPv4:3}
312	6:14:57 PM 4/19/2019	3.2186533	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...F, SrcPort=16512, DstPort=HTTPS(443), PayloadLen=0, Seq=3762031936, Ack=127080062, Win=517 (scale factor 0x8) = 132352	{TCP:8, IPv4:3}
313	6:14:57 PM 4/19/2019	3.2186765	System	<IP_ADDRESS>	<IP_ADDRESS>	TCP	TCP:Flags=...A...., SrcPort=HTTPS(443), DstPort=16512, PayloadLen=0, Seq=127080062, Ack=3762031937, Win=1027 (scale factor 0x8) = 262912	{TCP:8, IPv4:3}
Status : Online
IIS config:  HTTPS with Hostname  "www.contoso.com"
SNI : Enabled

@dbsanfte , Do you have an update for me?

@dbsanfte , I will go ahead and close this issue. Please tag me if you have any further questions.


Dockerization (and CLI-fication)

Hi,
I would be enthusiast to contribute to this utility. I am a former PHP developer with some free time during this pandemic.
While I am rusty in PHP, I could try to help with my Docker experience. Basically, my request is to transform this utility into a full CLI utility that can be invoked from Docker, basically because I don't like (no... I HATE) to install yet another programming runtime on my personal rig. I started to love containers when I discovered that apps don't make conflicts each other and stay tidy.
I will try to dockerize the app locally, but briefly looking at the project it looks like it asks for a password prompt. I think it's worth to make some changes in PHP code so that the application takes the password as an argument. After all, one should be running this utility from a local device.
Let me see what I can try to do

Great! Thanks for your interest. I would be happy to collaborate. This project is still working stably with latest version of TiB. No changes have been required in a long while.
Initially, I wanted to avoid the user having to provide the password in a plaintext argument. Thus the logic for its current form:
Usage:     php TitaniumBackupDecrypt
But I could easily add a second invocation signature that accepted two arguments:
Usage:     php TitaniumBackupDecrypt
Would that be what you needed to get started?

Hi, I just forked the project. I'll start hacking soon.
There are additional options and I would like to encourage you to embrace both
Argument number
Of course php TitaniumBackupDecrypt <archive> <password> is great. Basically the utility will count the arguments.

If args.length == 0, display some help text
else if args[1] is undefined assume only archive and prompt
else if args[1] != null use arg[1] as password

The environment
In the Docker world, secrets are often exchanged via environment variables. You could use as an alternate to retrieve the password from invocation
//Please note it's pseudocode
var password = null;
if (defined(args[1]))
    password = args[1];
else if (defined(env['TB_ARCHIVE_PASSWORD']))
    password = env['TB_ARCHIVE_PASSWORD']
else
    password = stdin.readLine();

This makes everything backwards compatible

I'll start to create my first version of the Dockerfile
I expect the invocation to be docker run --rm -v <archive>:/<archive> --e TB_ARCHIVE_PASSWORD=<password> bhafer/TitaniumBackupDecrypt <archive>
Need to find a good php image

As you can see I have posted my PR. I did only the Docker thing. Thanks to your tool I was able to decrypt a file that I had locked with TB.
Didn't do the CLI-fication thing as looks like Docker is sufficient to handle the password prompt. Of course the image is only local

Thanks for your contribution, djechelon. You can see that I have also added support for the three modes of password parameter passing in the new tag 1.2.0 version:
Usage:
     php TitaniumBackupDecrypt <archive-file>
          Will check for TB_ARCHIVE_PASSWORD environment variable or else prompt for password.
            --OR--
     php TitaniumBackupDecrypt <archive-file> <password>

Wunderbar! If you need help pushing the image to Hub, or if you just like to give it a try, drop me a message

(I did not get a notificatoin for your reply. :( )

If you need help pushing the image to Hub, or if you just like to give it a try, drop me a message

I merged your pull request and released v1.2.0.
I'm not sure what you are referring to about Hub?

Hub = hub.docker.com, official image catalog of Docker

Here are instructions on how to setup bhafer/TitaniumBackupDecrypt on Docker Hub.

Sign up to Hub

https://hub.docker.com is the place to be
Make sure you link your GitHub account, because it matters

Create a repository

This is the djechelon example
https://hub.docker.com/repository/create

Make sure the Hub repository is public
Choose your GitHub repository

Create and build

Docker will use the Dockerfile I have committed for you to build an image. Since we used the "Create and build" button, Hub will also build the image using their pipeline. This will take minutes because of the long queue.
Make sure that Hub builds the image successfully.
The URL should be https://hub.docker.com/repository/registry-1.docker.io/bhafer/titanium-backup-decrypt/builds

Pull from Docker

From terminal run
$ docker pull bhafer/titanium-backup-decrypt

Enjoy

Try docker pull bhafer/titanium-backup-decrypt


RuneLite Client Crash whilst Blackjacking

Type
Crash or hang
Operating System
Windows
OS Version
Windows 10, 21H2
Bug description
Client completely froze whilst I was blackjacking
2022-12-30 09:34:14 [Client] INFO  c.f.controller.FlippingPlugin - account is an ironman, not adding it to the cache
2022-12-30 09:48:51 [AWT-EventQueue-0] INFO  c.f.controller.DataHandler - storing data
2022-12-30 09:48:51 [AWT-EventQueue-0] INFO  c.f.controller.DataHandler - account wide data changed, saving it.
2022-12-30 09:48:51 [AWT-EventQueue-0] INFO  c.f.db.TradePersister - storing trades for accountwide
2022-12-30 09:48:51 [AWT-EventQueue-0] INFO  c.f.controller.DataHandler - successfully stored account wide data
2022-12-30 09:48:51 [AWT-EventQueue-0] INFO  c.f.jobs.WikiDataFetcherJob - shut down wiki fetching job
2022-12-30 09:48:51 [AWT-EventQueue-0] INFO  c.f.jobs.SlotSenderJob - shut down slot sender job
2022-12-30 09:48:51 [pool-8-thread-1] INFO  c.f.jobs.CacheUpdaterJob - change in directory for accountwide.json with event: ENTRY_MODIFY
2022-12-30 09:48:51 [pool-8-thread-1] INFO  c.f.jobs.CacheUpdaterJob - not duplicate event, firing callbacks
2022-12-30 09:48:51 [pool-8-thread-1] INFO  c.f.jobs.CacheUpdaterJob - shutting down cache updater due to the client shutdown
2022-12-30 09:49:01 [RuneLite Shutdown] WARN  n.r.client.events.ClientShutdown - Error during shutdown:
java.util.concurrent.TimeoutException: null
at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
at net.runelite.client.events.ClientShutdown.waitForAllConsumers(ClientShutdown.java:60)
at net.runelite.client.ui.ClientUI.lambda$shutdownClient$11(ClientUI.java:693)
at java.base/java.lang.Thread.run(Unknown Source)
2022-12-30 09:49:01 [RuneLite Shutdown] WARN  n.r.client.events.ClientShutdown - Timed out waiting for task completion
2022-12-30 09:49:12 [RuneLite] INFO  net.runelite.client.RuneLite - RuneLite 1.9.6 (launcher version 2.4.5) starting up, args: none
I have updated my launcher since to 2.5.0 however with me being a HC I was wondering if anyone has any suggestions as to what is causing it to make sure this doesn't happen again. I lost my previous HCIM to a client crash at Bandos whilst using the "Twitch live loadout" plugin however I removed this last year and haven't had a client crash since.
Thanks,
HuughesRS
Screenshots or videos
https://user-images.githubusercontent.com/101931675/210068317-d6f8e3ff-dbb9-4088-97b2-b3b604440a1a.mp4
RuneLite version
RuneLite version 1.9.6
Launcher version 2.4.5
Logs
client.log

Generally, most issues like this are to do with hub plugins, and therefore have nothing to do with RuneLite
The issue tracker is not a support forum. Please join the Discord for questions of support.


fix: link checker

Purpose

Add link to gnu.org to skipped links as there seems to be a rate limting issue
Closes #908

Does this introduce a breaking change?

[ ] Yes
[X] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[X] Other... Please describe: repo setup

How to Test

Execute GH Action for Link Checking

What to Check
Verify that the following are valid:

Link check pass

Other Information

n/a
Checklist for reviewer

The following organizational tasks must be completed before merging this PR:

[X] The PR is assigned to the Terraform project and a status is set (typically "in review").
[X] The PR has the matching labels assigned to it.
[X] The PR has a milestone assigned to it.
[X] If the PR closes an issue, the issue is referenced.
[X] Possible follow-up items are created and linked.

Override as only link checks are concerned


Got status code 500 (unoconvert error: exit status 1) when converting from rebuild 3.18 image

Hello,
I was using the libreofficedocker/libreoffice-unoserver:3.18 image that was built about 5 weeks ago to convert ODT document to PDF document.
However, it seems that you rebuilt the existing docker images about 2 days ago (October 22 2023) and since then, when pulling the new docker image, I get an HTTP status 500 (unoconvert error: exit status 1) when trying to convert the document.
Here is the ODT document I'm trying to convert: template.odt
php-office-clients-unoserver-1  | INFO:unoserver:Starting unoserver.
php-office-clients-unoserver-1  | INFO:unoserver:Command: libreoffice --headless --invisible --nocrashreport --nodefault --nologo --nofirststartwizard --norestore -env:UserInstallation=file:///tmp/tmpunsb3tb4 --accept=socket,host=<IP_ADDRESS>,port=2002,tcpNoDelay=1;urp;StarOffice.ComponentContext
php-office-clients-unoserver-1  | INFO:unoserver:Server PID: 108
php-office-clients-unoserver-1  |
php-office-clients-unoserver-1  |    __  __
php-office-clients-unoserver-1  |   / / / /___  ____  ________  ______   _____  _____
php-office-clients-unoserver-1  |  / / / / __ \/ __ \/ ___/ _ \/ ___/ | / / _ \/ ___/
php-office-clients-unoserver-1  | / /_/ / / / / /_/ (__  )  __/ /   | |/ /  __/ /
php-office-clients-unoserver-1  | \____/_/_/_/\____/____/\___/_/   _|___/\___/_/____
php-office-clients-unoserver-1  |       / __ \/ ____/ ___/_  __/  /   |  / __ \/  _/
php-office-clients-unoserver-1  |      / /_/ / __/  \__ \ / /    / /| | / /_/ // /
php-office-clients-unoserver-1  |     / _, _/ /___ ___/ // /    / ___ |/ ____// /
php-office-clients-unoserver-1  |    /_/ |_/_____//____//_/    /_/  |_/_/   /___/
php-office-clients-unoserver-1  |
php-office-clients-unoserver-1  | - Alpine Linux version: 3.18.3
php-office-clients-unoserver-1  | - LibreOffice <IP_ADDRESS> 50(Build:2)
php-office-clients-unoserver-1  | - Python version: Python 3.11.5
php-office-clients-unoserver-1  | - openjdk 11.0.20 2023-07-18
php-office-clients-unoserver-1  | - OpenJDK Runtime Environment (build 11.0.20+8-alpine-r0)
php-office-clients-unoserver-1  | - OpenJDK 64-Bit Server VM (build 11.0.20+8-alpine-r0, mixed mode)
php-office-clients-unoserver-1  |
php-office-clients-unoserver-1  | Starting REST API server...
php-office-clients-unoserver-1  | + wait-for-it --quiet -t 30 localhost:2002 --strict -- unoserver-rest-api --unoconvert-bin /usr/bin/unoconvert-lockrun --unoconvert-timeout 1m
php-office-clients-unoserver-1  | unoserver-rest-api 2023/10/24 09:54:17 Server working directory '/tmp/unodata-2919888351'
php-office-clients-unoserver-1  | unoserver-rest-api 2023/10/24 09:54:17 Server is running at <IP_ADDRESS>:2004
php-office-clients-unoserver-1  | unoserver-rest-api 2023/10/24 09:54:17 Server is running pid is 164
php-office-clients-unoserver-1  | unoserver-rest-api 2023/10/24 09:54:35 Command: /usr/bin/unoconvert-lockrun [--interface=<IP_ADDRESS> --port=2002 /tmp/unodata-2919888351/3714119047-vnd.oasis.opendocument.text /tmp/unodata-2919888351/2065119147-vnd.oasis.opendocument.text.pdf]
php-office-clients-unoserver-1  | unoserver-rest-api 2023/10/24 09:54:35 unoconvert error: exit status 1
php-office-clients-unoserver-1  | [GIN] 2023/10/24 - 09:54:35 | 500 |   63.848963ms |      <IP_ADDRESS> | POST     "/request"

I've found that the unoserver have released a new version v2.0. This image is not supported the v2.0 yet.
Now I'm pinning the unoserver==1.6 which is the previous version.
Will update support for v2.0 later.

That does fix it, thank you very much, especially for the really fast fix!


Store Powers in a container so that they can be Queued and Recharged

Again pending input from broxen, but here's how I see the problem:

When a character tries to activate a power, the power is put into the queue, pending activation
The power must wait until its assorted activation period is over before being casted
After the 1st power is casted, the power is put into another queue in which it is being recharged.

My suggestion on how to solve this:

Create two vectors referencing powers ActivatedPowersQueue and RechargingPowersQueue
ActivatedPowersQueue will handle the timer of only the 1st power inside it (unless you want to cast multiple powers at the same time), and will remove the 1st power after being casted. Then the 2nd power onwards will be put 1 idx in front and so on.
RechargingPowersQueue stores all powers that are casted and is pending recharge. In this queue, all powers' recharge timer will be handled at the same time.

If a character tries to cast a power that is already inside one of these vectors, then we cannot cast the assorted power.

Again, thank you eoS! I think you have this pretty much nailed, with a few tweaks:

NPCs and Critters will need these as well, so they should reside in Entity obj.
There are two vectors in Entity obj now.

std::vector<CharacterPower *> m_queued_powers;
std::vector<CharacterPower *> m_recharging_powers;

We don't necessarily need to use pointers here, just store the power specs (pset_idx, pow_idx) and relevant timer or state.
Powers with Activation timer of 0 might fire simultaneous to other powers. Needs research.
Some powers do not have recharge timers and can be used again immediately.
In the game, you could add "ready" (recharged) powers to the activation queue multiple times.

The server sends these queues to the client in EntitiesResponse.cpp:
    qCDebug(logPowers) << "NumQueuedPowers:" << e->m_queued_powers.size();
    bs.StorePackedBits(4, e->m_queued_powers.size()); // Count all active powers
    for(const CharacterPower *pow : e->m_queued_powers)
    {
        qCDebug(logPowers) << "  QueuedPower:" << pow->m_name << pow->m_index;
        bs.StoreBits(1, pow->m_active_state_change);
        if(pow->m_active_state_change)
        {
            storePowerSpec(pow->m_power_info.m_pset_idx, pow->m_index, bs);
            bs.StorePackedBits(1, pow->m_activation_state);
        }
    }

    qCDebug(logPowers) << "NumRechargingTimers:" << e->m_recharging_powers.size();
    bs.StorePackedBits(1, e->m_recharging_powers.size());
    for(const CharacterPower *pow : e->m_recharging_powers)
    {
        qCDebug(logPowers) << "  RechargeCountdown:" << pow->m_timer_updated << pow->m_recharge_time;
        bs.StoreBits(1, pow->m_timer_updated);
        if(pow->m_timer_updated)
        {
            storePowerSpec(pow->m_power_info.m_pset_idx, pow->m_index, bs);
            bs.StoreFloat(pow->m_recharge_time);
        }
    }


first stab at function which takes generic P(Q) - spherical model for now

Merging our work from today

Awsome! Thank you so much for the very instructive hands on discussion/tutorial. I think this approach is the way to go and I'll be continuing it in the next weeks.


Feature: Disable keyboard shortcuts when renaming items

Resolved / Related Issues

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #12053

Validation
How did you test these changes?

[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[x] Did you implement any design changes to an existing feature?

[x] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Start renaming an item
Try to use any shortcut (you should consider changing some shortcuts to Shift + Letter to test deeper)

Do the TextBox shortcuts work (eg, ctrl + c, ctrl + v, ctrl + a)?

There are also some shortcuts for switching which file is being renamed (tab and shift + tab)

Do the TextBox shortcuts work (eg, ctrl + c, ctrl + v, ctrl + a)?
There are also some shortcuts for switching which file is being renamed (tab and shift + tab)

They still work


Feature request: Allow users to implement custom recovery strategies

As it stands now, users only have access to skip_until, skip_then_retry_until, and nested_delimiters. I'm unsure if the best way to go about this would be exposing the Strategy trait (which currently uses private types) - preferably in a cleaner form, or adding lower-level recovery strategies/parsers that can be used to build up more complex strategies. As it stands, I believe it isn't possible to implement a strategy like expect from https://eyalkalderon.com/blog/nom-error-recovery/. skip_until is close but provides no way to not skip any tokens.

I've been thinking a bit on the correspondence between recovery strategies and parsers themselves. For starters, recovery strategies appear to be normal parsers that are called on otherwise failing input. In that respect it'd be a shame if we couldn't reuse normal parsers with them and build up bigger recovery strategies the same way bigger parsers are built up. Using this, I think the simplest error recovery strategy may be a simple a.or(b)-like strategy in which if a fails, the error is still logged but the parser b is tried in an attempt to recover from any errors.
Using this function we can build up more complicated error recovery strategies like the expect mentioned above. Since an or parser already exists, I'll use recover_with instead, but taking in any Parser, rather than any Strategy. If that second parser successfully parses, the parse is recovered:
let nothing = just([]).or_not();
let expect = |p, default| p.recover_with(nothing, default);

just(Let)
    .then(expect(ident(), Ident::error))
    .then(expect(just(Equals), ...)) //etc.

// Inverts a parser to succeed when it would otherwise fail, and vice-versa
let not = |parser| parser.try_map(|value, span| {
    match value {
        Ok(_) => Err(...),
        Err(_) => Ok(()),
    }
});

// skip_until is easily definable
let skip_until = |tokens, f| not(just(tokens)).repeated().map_with_span(|_, span| f(span));

Apologies about not replying to this earlier, GitHub decided to omit a swathe of things from my notifications for some reason.
I have been having similar thoughts about this too. I'm very tempted to take another swing at error recovery, with a more parser-driven approach. If I get time over the next week, I'll do some experimenting and see what I can come up with!
Alternatively, if you have any specific thoughts (I like the expect notation) I'd love to hear them!

I don't have many specific thoughts on recovery that haven't been mentioned yet. Regarding discussion of a new release in #76, it would be out of scope to go through with the changes above of course, but it would be nice if an empty recovery strategy (like expect above or an error-logging version of .or_not()) was included. The only way I found of emulating one currently is very obtuse and involves parsing the input twice:
// Forces a parser to succeed, logging any errors it had
pub fn force<'a, P, T: 'a>(parser: P) -> impl Parser<Option<T>> + 'a
    where P: Parser<T> + Clone + 'a,
{
    parser
        .clone()
        .map(Ok)
        .or_else(|err| Ok(Err(err)))
        .rewind()
        .then_with(move |result| match result {
            Ok(_) => parser.clone().map(Ok).boxed(),
            Err(err) => empty().map(move |_| Err(err.clone())).boxed(),
        })
        .validate(move |result, _, emit| match result {
            Ok(t) => Some(t),
            Err(err) => {
                emit(err);
                None
            }
        })
}

I'm sure this could hopefully be implemented via Custom or manually implementing Parser, but I couldn't figure it out.
Anecdotally I'm using this function in quite a few places, mostly as a last resort for other strategies. I find it's often helpful for rules you don't want to ever fail - e.g. committing to a certain parse rule. I often use a pattern like:
// a.then_commit(b) = a.then( force(b.recover_with(skip_then_retry_until(...)) );

just(Token::Let)
    .ignore_then_commit(ident())
    .then_commit_ignore(just(Token::Equals))
    .then_commit(expression())

Where then_commit and friends parse their lhs and if that succeeds "commit" to parsing their rhs by recovering where necessary. So the only failable part of the above would be just(Token::Let). Anyways, not sure if any of this is helpful, this is just how I've found myself using the library so far. Thank you for your work on it!

For now, would some sort of .recover_with(fallback(impl Parser, || Error)) work for you?

Definitely, I was even suggesting something simpler in the meantime like .recover_with(optional(|span| default_value)) would work

Related PR: #107 which implemets the recover_with parser in this issue as recover_via

I'm happy to accept a pull request (it shouldn't be too hard to implement), but I don't personally have time to implement it for at least a week.
That aside, this is the approach I want to go for when implementing recovering strategies for zero-copy, so this feature will be coming anyway... eventually. I'm happy to accept a PR for the current master branch though.

#233 effectively addresses this issue, although I'm going to keep it open for the sake of discussing the design for zero-copy, which I'd like to be a bit more capable/terse.

Implementing recovery strategies in terms of parsers is now the only way of performing error recovery in zero-copy, so this issue is solved in both master and zero-copy.


added reactstrap reference.

Add a reference to Reactstrap (https://reactstrap.github.io/), an awesome stateless  react components built in Bootstrap 4.

Looks good


[ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: PlatformException(PERMISSION_REQUESTING, Another permission request is still ongoing. Please request after the existing one is done., null, null)

There is a problem getting the photos on the first launch.
D/CompatibilityChangeReporter(  759): Compat change id reported: 78294732; UID 10152; state: DISABLED
E/flutter (  759): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: PlatformException(PERMISSION_REQUESTING, Another permission request is still ongoing. Please request after the existing one is done., null, null)
E/flutter (  759): #0      StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:607
E/flutter (  759): #1      MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:167

This issue should be solved by now.
I couldn't reproduce this issue in android.
Maybe you were using another permission handler package that was trying to ask permission at the same time this package was asking...


UIExplorer: Fix thumbs in ScrollViewExample

These images from Facebook's CDN returns 5xx error:
https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.1997/p128x128/851549_767334479959628_274486868_n.png
Replaced it with third-party service which produce random images.
Hate to polluting the issues by unnecessary minor pull requests, feel free to close it.

These have actually been fixed already in another PR. Thanks though.


Mention redirect-uri fix in README

What
New developers run consistently into a problem with the paas-admin UAA client's redirect-uri not being set.
This change to the README shows how to set the redirect-uri directly from uaac.
How to review
Follow the README changes to make a change to the redirect-uri, ensuring you can enable/disable access to paas-admin.
Who can review
Anyone but me.

We're looking into how to get setup faster more generally:

fewer required environment variables by taking advantage of /v2/info
potentially keeping a dev cf environment dedicated to this project while it's in active development
a localhost-friendly uaa-client enabled for all dev environments
automatically logging in if you pass a cf token
maybe a mocked set of cf data for use 'offline' (NODE_ENV=design)

I'm going to merge this PR anyway as still a useful note for now, but I expect us to get to a state where we don't expect people to have to have uaac and so this will hopefully become redundant.


Changelog Folder

what

Added changelog folder

why

Store documentation in public location to upgrading components

references

n/a

Created initial upgrade guide with #804

already done in separate PR


Will longlora finetune supported in the future?

Will longlora finetune supported in the future?

Hi!
The architecture is supported (it's Llama 2), but if I understand correctly, they released the LoRA modules trained with HF's PEFT, and the repo does not support loading those at the moment.
Perhaps the merge_lora.py script could support merging PEFT weights.

If I understood, the question was about fine-tuning LongLoRAs.


Black: Enable string normalization

This will make it easier to pick other commits in the future.
Signed-off-by: Till Maas<EMAIL_ADDRESS>

According to the job overview at travis, the build succeeded: https://travis-ci.com/nmstate/nmstate/jobs/266969736 but it is not properly shown here. Also it does not seem to be possible to override the missing status... @EdDev how do we get this merged?

@tyll , have you tried to re-trigger the build on travis-ci?

@tyll , have you tried to re-trigger the build on travis-ci?

yes, initially it failed. Then I restarted it but the status was not updated here. Now it seems like it was, so I merged it.


ci: bump AKS-E to v1.0.5

Reason for Change:

Picking up AKS-E w/ these changes
Issue Fixed:

Requirements:

[X] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:

CC: @shreyashastantram


Support running bash-language-server in Docker for Windows

It would be neat to run the linux version of bash-language-server in Docker for Windows, instead of having to install it on the Windows host PC with all it dependencies.
I have tried to do it already, but I failed. I don't have that much experience with Javascript and VSCode extensions. (See https://github.com/deimi/bash-language-server-docker for my docker image where bash-language-server can be executed)
At the beginning I was not able to execute the docker container ("docker run -i --rm bash-language-server:latest") via the vscode client. The reason was that the client is using child_process_1.execFile. I temporary changed it to child_process_1.exec and the client can execute the server inside docker.
But then I got into the next problem. The client tries to check the version of the server, but the result is always "0.0.0". I think there is something wrong with stdout from docker to client, but I'm not sure and after much trying I got stuck.
Maybe someone else has some good ideas to get this running? At the moment I'm not even near to test the real LSP stuff....

Unfortunately, this is not something we have the resources to do. I'm going to close this issue for now, but let me know if you progress on the feature. It would be neat.

@deimi I tried building your Docker image just now and -v gave me Version is 1.6.0 so you should try it again. Perhaps the latest changes from @skovhus have affected this in some way.

@rcjsuen As soon as I can spare some time, I will give it a try.
@skovhus  In middle-term I want to realize this and will push it to this repo, but it seems that at first I have to sniff a little bit into the language server standard to solve this.

Thanks! Actually, we plan to release the vscode client including the server very soon. All installed inside vscode. 📦
I assume this would be best solution for this. Before version 1.6.0 we could do this, as our parser depended on native bindings. But now we can ship it all together.

Oh that's by far even better!!! My actual intention was to use the language server with vscode, but without taking care of handling multiple versions of the dependencies in my host system.
Now the pressure is gone and I can get the docker version running just out of curiosity :wink:


MdMemoryReader Fails in Early U-Boot Versions

Seeing \r prefixed on each line in MT7628 builds dated U-Boot 1.1.3 (Sep 17 2018 - 18:22:09).
This breaks the regex. Either an lstrip() or a \s* is in order.

Staged in next @ 1ff0025c6a0f192a7a272135713995a85e810bd2.


Regex \W inconsistency

Type of issue
Other (describe below)
Description

The \W language element is equivalent to the following character class [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}\p{Lm}]

In other words, it matches any character except for those in the Unicode categories listed in the following table.

The table contains \p{Mn} but the equivalent class does not.
Page URL
https://learn.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions
Content source URL
https://github.com/dotnet/docs/blob/main/docs/standard/base-types/character-classes-in-regular-expressions.md
Document Version Independent Id
95abea42-fa7f-3feb-ae38-049719ab938f
Article author
@adegeo
Metadata

ID: a1958bf6-a17d-1256-d659-31066aa02604
Service: dotnet-fundamentals

Related Issues

I'm not sure which is true. I can't seem to replicate it. can you? I was trying this to visualize what it marks, but I can't seem to get the grace accent to match.
using System.Text.RegularExpressions;

string pattern = @"[^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}\p{Lm}\p{Mn}]";
string source = "The old, grey mare slowly walked across the narrow, green ̀pasture.";
char[] chars = new string(' ', source.Length).ToCharArray();

Console.WriteLine(source);

foreach (Match match in Regex.Matches("The old, grey mare slowly walked across the narrow, green pasture.", pattern))
{
    for (int i = 0; i < match.Groups[0].Length; i++)
        chars[match.Groups[0].Index + i] = 'X';
}

Console.WriteLine(new string(chars));

Well, Regex.IsMatch("\u0300", "\\W") returns false, so the table is correct. The equivalent string is missing \p{Mn}


Clarify License

Please indicate how the project is licensed.

Hi there! Just added. It is on MIT License.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 88 ms

Resolved: ClamAV performance has improved in 82c63dd after 5 minutes.


use swaymsg instead of sway in the commands

Although calling sway to issue commands, it is better to use swaymsg.
There is at least one exception which is not correctly handled when using sway:  when the user uses the --my-next-gpu-wont-be-nvidia to start sway, recalling sway to issue commands needs to also contain this flag, otherwise it simple fails.

Thanks, will do this.


Fix overflow of 32-bit integer during compaction

This is fix for https://issues.apache.org/jira/browse/CASSANDRA-14773

I am closing this, because of a similar pull-request https://github.com/apache/cassandra/pull/491 that has been accepted.


PACKAGES: mod-geo places data

https://github.com/mledoze/countries
See golang references.
Populate into minio I guess.
In terms of other data referencing this always us the EN and at run time lookup the language representation from there..same pattern as using Zulu time for time.

Make a grpc API for querying all this data
Make a CLI to exercise it and to load the data in.
Use mini for data storage.
Make a simple flutter widget that exercise the data

lookup city by country. User picks county and then city

Make file
See mod-main or mod-chat for how we do it

So mod-main for exercising minio


[Feature Request]: Remove pings on entity despawn/death

the pinged item gets picked up or despawns, or the pinged entity gets killed or despwans.

Yeah I've had it like that before, but I didn't like the behavior. I also thought about showing something like a questionmark on the last known location.

I might make this configurable.

yes pls.

I was just coming to report this. If the mob dies, have the ping disappear. If the item gets picked up or despawns maybe change the color of the ping showing it's no longer there, or like you said above a questions mark. The mob dying or despawning though should just remove the ping, but configuration to choose is always the best way to go. If you could, if a pinged item is no longer there you could add a configurable time for it to disappear. So instead of disappearing immediately the author could choose for it to disappear 5 seconds after the item or mob that's pinged is no longer alive/there. That would actually give some context to other players as to why the ping is no longer there, they see it change to a question mark then 5 seconds later it disappears.


IMPORT CSV nullif option

DOC-5313
DOC-5227

Document new nullif behavior and allow_quoted_null for CSV imports
Make NULL value formatting consistent in docs while I'm here
Also remove partial indexes from IMPORT INTO known limitations

@rafiss friendly ping on review!


ml_get invalid lnum error on half-page scrolling

Describe the bug
In diff mode, <C-d> key causes E315: ml_get: invalid lnum error.
To Reproduce
Detailed steps to reproduce the behavior:

Run vim --clean.
:set ls=2
:for i in range(winheight(0)*2) | call setline(i, i < winheight(0) - 10 ? i : i + 10) | endfor
:vnew
:for i in range(winheight(0)*2 + 10) | call setline(i, i < winheight(0) - 10 ? 0 : i) | endfor
:diffthis
:wincmd p
:diffthis
:execute 'normal ' . winheight(0) . "\<C-d>"
E315: ml_get: invalid lnum: 119 happens (lnum may change).

Expected behavior
Scrolls without E315 error.
Screenshots

Environment (please complete the following information):

Vim version 8.2.1206
OS: macOS 10.15.5
Terminal: iTerm2

Additional context
Nothing

I can reproduce the E315 internal error with the latest vim-8.2.1206.

    Solution:   Remove the dead code.

That change removed 2 lines in vim/src/move.c, but it was not dead code after all. So I suppose that we should revert 8.2.1118.

The patch removed a bit too much, the decrement should remain.

Confirmed that 8.2.1211 (8455c5ed31c9cb2919f5e62693bab6b09bf60df2) fixed this. Thank you.


variants

Comment:
Alghouth occt is available in both vtk and notvtk versions, which makes sense, pythonocc doesn't wrap the vtk part of occt. As a consequence, there's no need to take the variants into account for pythonocc build, only the 'novtk' build should be performed.

Hey @tpaviot!
Your point is definitively valid as the build matrix is quite big when compiling against both variants.
The reason for compiling pythonocc-core against both 'novtk' and 'all' variants of occt was to provide an alternative for anyone who wants to use pythonocc-core AND that directly or indirectly through other packages might rely on the VTK compilation options of occt.
In hindsight I've come to think that my assumption about the number of users that need the VTK capabilities in occt AND also uses pythonocc-core might be unfounded.
If @looooo agrees, then I would support limiting the next release of pythonocc-core to just the 'novtk' variant.


Implemented verifyCli with partition option for server partition consistency and server-storage connectivity.

For the per partition scenario, changing the implementation to first get results for all partitions and then display the partitions that the user has provided if any. Because, the complexity will still be based on number of server nodes and storage nodes.
Going ahead and closing this pull request.


Better darwin support

nixpkgs is getting more and more users on darwin, and even more are leaving once they see how relatively poor our support is there. More likely than not, this could be greatly improved between now and the second 2014 nixpkgs release, and I think now is the time to do it. This is a meta-issue for what we'll consider "feature-complete"; if you have something that really should be done please add it to the checklist or ask me to if you don't have permissions.

[ ] Purer darwin stdenv
[ ] Investigate the possibility of different values of system on different OSX versions

I've assigned this to myself, as I'm the only person I know for sure has easy access to a darwin machine with nix and knows the ecosystem well. PLEASE let me know if you can help out in any way! Especially if you are interested in taking the lead in this effort or in maintenance afterwards (though barring that I currently willing to maintain until future notice)

I was excited at first when I read about nix, but attempting to install it on Yosemite it failed out of the gate with the "unable to check...unstable" error.
If it fails on step 1 it's not going to get much traction :)

This issue doesn't seem particularly import to keep around open, IMHO, because it's fairly vague and unspecific. If there are concrete issues with Darwin support, then we should have tickets for those specific issues.


can not connection more than 256 connections

I can connection 256 connections to the server, but the 257th connection request doesn't trigger the 'request' event on the server.

I'm sorry, I made a mistake, the limitation is on the client: Google Chrome.
There is nothing wrong on the server.
This issue should be close. So sorry...


Fixed a bug with the script not loading properly on a mailto page

Can't instantiate a gmail object on<EMAIL_ADDRESS>due to window.opener being undefined, thus causing
Uncaught TypeError: Cannot read property 'VIEW_DATA' of nullGmail @ gmail.js:29(anonymous function) @ dispatcher.js:1


Fix WorkflowService.get_workflow_link when using set_global_host

The WorkflowService class was setting self._host to the value passed in, but when using set_global_host, we often don't pass that parameter. Instead, the instantiated Config object calls get_global_config to set a fallback for host=None, however this wasn't visible to WorkflowService._host. Instead of "duplicating" the value across the two classes, I just changed WorkflowService to reference the config object directly.

Manual test:
$ pip3 install hera-workflows
[...]
Successfully installed argo-workflows-6.3.5 certifi-2021.10.8 hera-workflows-3.6.1 pydantic-1.9.1 python-dateutil-2.8.2 pytz-2021.3 six-1.16.0 typing-extensions-4.3.0 urllib3-1.26.11

$ python3 -c 'from hera import Workflow, set_global_host, set_global_token; set_global_token("fake"); set_global_host("https://mydomain"); print(Workflow("test").service.get_workflow_link("test"))'
None/workflows/default/test?tab=workflow

$ pip3 install -e /Users/jacobhayes/src/github.com/argoproj-labs/hera-workflows
Obtaining file:///Users/jacobhayes/src/github.com/argoproj-labs/hera-workflows
[...]
Successfully installed hera-workflows-3.6.1

$ python3 -c 'from hera import Workflow, set_global_host, set_global_token; set_global_token("fake"); set_global_host("https://mydomain"); print(Workflow("test").service.get_workflow_link("test"))'
https://mydomain/workflows/default/test?tab=workflow

though I'm happy to add a "real" one if you'd like. :)

Manual test:
$ pip3 install hera-workflows
[...]
Successfully installed argo-workflows-6.3.5 certifi-2021.10.8 hera-workflows-3.6.1 pydantic-1.9.1 python-dateutil-2.8.2 pytz-2021.3 six-1.16.0 typing-extensions-4.3.0 urllib3-1.26.11

$ python3 -c 'from hera import Workflow, set_global_host, set_global_token; set_global_token("fake"); set_global_host("https://mydomain"); print(Workflow("test").service.get_workflow_link("test"))'
None/workflows/default/test?tab=workflow

$ pip3 install -e /Users/jacobhayes/src/github.com/argoproj-labs/hera-workflows
Obtaining file:///Users/jacobhayes/src/github.com/argoproj-labs/hera-workflows
[...]
Successfully installed hera-workflows-3.6.1

$ python3 -c 'from hera import Workflow, set_global_host, set_global_token; set_global_token("fake"); set_global_host("https://mydomain"); print(Workflow("test").service.get_workflow_link("test"))'
https://mydomain/workflows/default/test?tab=workflow

though I'm happy to add a "real" one if you'd like. :)

Looks awesome :) No need to, just a version bump to release under 3.6.2


Enhancement: Incident note templates

In statuspage.io we were able to use the templates also for incident updates (private/public notes in oneuptime). Would it be possible to add this? It would really help to keep updates consistent and remove the necessity to use a 3rd party tool to copy/past text blocks.

Done! https://github.com/OneUptime/oneuptime/commit/fcef7e8f9dc52c884c3806944c2501dabd7d60e5


Call mirror node accounts api without requesting transactions list (#…

cherry-pick 1563

feat: get account without transactions

nit: reduce code duplication

nit: reduce code duplication

fix: failing test

Related issue(s):
Fixes #1501

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (288ebed) 78.19% compared to head (9f4467d) 78.19%.

:exclamation: Current head 9f4467d differs from pull request most recent head 5a46944. Consider uploading reports for the commit 5a46944 to get more accurate results

Additional details and impacted files
@@              Coverage Diff              @@
##           release/0.29    #1598   +/-   ##
=============================================
  Coverage         78.19%   78.19%
=============================================
  Files                32       32
  Lines              2619     2619
  Branches            543      543
=============================================
  Hits               2048     2048
  Misses              405      405
  Partials            166      166

Files Changed
Coverage Δ

packages/relay/src/lib/clients/mirrorNodeClient.ts
89.03% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


How to Editing existing xlsx file and exporting in version 3.1

I want to Editing existing xlsx file and exporting in version 3.1.
How i do it?
Versions
PHP version: 7.1.8
Laravel version: 5.6
Package version: 3.1

@RibikiH : Please read our documentation.
Here is more information about importing an Excel file: https://laravel-excel.maatwebsite.nl/3.1/imports/
And here you can find more about exporting: https://laravel-excel.maatwebsite.nl/3.1/exports/
The business logic you need to import -> modify -> export is up to you to write.


please support perl regex, perl regex is more prevalent

Instructions: Replace the template text and remove irrelevant text (including this line)
Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Such a small request, so much work.
This is basically impossible to do, because the perl regex does not provide all the features that vim provides (e.g. match at certain positions/marks). I think using \v is close enough
Also see #99

Hmm, ignoring the instructions would already be enough to just close this issue.
Adding another regex syntax is out of the question.  Perl is not that popular these days anyway.

Hmm, ignoring the instructions would already be enough to just close this issue.

Indeed, I thought I give the OP a chance to change it or reply to it. Perhaps I need to be more brave to close tickets.


Lending rate error

Bot keeps on lending my ETH at 4.99%, but the gap top and gap bottom is set from 1% to 30%
Lending btc works - ok.
I hope this can be easily solved.

I have the following config active:
[BOT]
#sleep between iterations, time in seconds
sleeptime = 10
#minimum daily lend rate in percent
mindailyrate = 0.05
#max rate. 2% is good choice because it's default at margin trader interface. 5% is max to be accepted by the exchange
maxdailyrate = 5
#The number of offers to split the available balance uniformly across the [gaptop, gapbottom] range.
spreadlend = 10
#The depth of lendbook (in percent of lendable balance) to move through before placing the first (gapbottom) and last (gaptop) offer.
#if gapbottom is set to 0, the first offer will be at the lowest possible rate. However some low value is recommended (say 10%) to skip dust offers
gapbottom = 1
gaptop = 30
#Daily lend rate threshold after which we offer lends for 60 days as opposed to 2. If set to 0 all offers will be placed for a 2 day period
sixtydaythreshold = 0.5
AutoRenew - if set to 1 the bot will toggle the AutoRenew flag for the loans when you stop it (Ctrl+C) and clear the AutoRenew flag when started
autorenew = 0
#custom config per coin, useful when closing positions etc.
#syntax: [COIN:mindailyrate:maxactiveamount, ... COIN:mindailyrate:maxactiveamount]
#if maxactive amount is 0 - stop lending this coin. in the future you'll be able to limit amount to be lent.
#coinconfig = ["BTC:0.05:1"]

mindailyrate = 0.05
means you won't lend for less then 0.05% ~ 0.0499% that you are getting for ETH.
Use the coinconfig option to create different configs for BTC and ETH.

I understand how to use mindailyrate, the bot offers loans at 4.99%, which is not normal - check the screenshot and my configuration.

Sorry about that, didn't notice the open loan... that is weird.

This is still the result of the calculated loan rate being lower then the minDailyRate, the fallback is to create loans with maxDailyRate (maybe it shouldn't).
To solve this you can use the "coinconfig", just uncomment and add the ETH config:
coinconfig = ["BTC:0.09:5","ETH:0.03:5"]

According to my configuration it should place loans from 0.05% to 5% i do not see why it should start with the full amount at 4.99%

I agree that it shouldn't loan at all, right now the behavior is to create a loan at maxRate.

The order book is out of bounds of your minlendingrate. I assume at the time of writing the range you could see the order book was something 0.0367-0.4555%, therefore bot assumes there's nothing to compete against, and go straight to the max. It will correct it self once it can see more orders.
It's the correct behavior, it's the way I intended it to be. And I know it confuses many people. Maybe a warning message in the logs would help.

Oh. Now I noticed, on the Poloniex website you can 'Load more' Loans. Before you couldn't. The bot only sees top-20 (or something) lowest loans. Will see how we can improve it.

It's not in the API for returnLoanOrders, but the website is using a limit parameter to limit the amount of records.
https://poloniex.com/public?command=returnLoanOrders&currency=ETH&**limit=5**  will return only 5.
So using a high number 9999 will return all of them.
On the other side it will make the bot work harder? ;)

@Mikadily, API call returnLoanOrders accepts parameter limit (which is not documented).
Setting the limit to a high value (e.g. 1000), will give you the entire lend-book.

@rnevet personally I'm happy with how it is at the moment. Maybe it could be a config option - select your limit. And a warning when it happens, to inform the confused user.
@dutu thanks. It's new to me.

@Mikadily I'm also content with they way it's working.
I'm not sure in what improvement would come from increasing the amount of offers retrieved from the server.  For me it would be a disadvantage as I'm running it on my Android phone and this will increase my data usage.
I would consider that if the offers are lower than minDailyRate the new offer created would be at minDailyRate and not at maxDailyRate? just a thought. So for example in this case the offer created would be at 0.05%.   Maybe only offer a 1/3 of the available amount.
@rreceptai What did you actually expect?

@rnevet

I would consider that if the offers are lower than minDailyRate the new offer created would be at minDailyRate and not at maxDailyRate? just a thought. So for example in this case the offer created would be at 0.05%. Maybe only offer a 1/3 of the available amount.

No. Imagine a legitimate loan book:
0.01%
0.02%
0.03%
Just 3 loan offer on the book and my mindailyrate at 0.05%. I don't want my order set at 0.05%. I want it at max percentage once the other offers are depleted.

I see, it's a different case if the book is also empty.
If  the book is full but rates are constantly under 0.05% - don't see the point in making a maxDailyRate in this scenario - will just cancel  and renew it endlessly.

I am also unable to use the bot as it hangs at "provided" see the error below:
$ python lendingbot.py
2016-03-08 21:14:24 Welcome to Poloniex Lending Bot
2016-03-08 21:14:24 ERROR: 'provided'
2016-03-08 21:15:25 ERROR: 'provided'
2016-03-08 21:16:25 ERROR: 'provided'
My configuration looks as so (and I believe my API key & secret are correct):
`[BOT]
#sleep between iterations, time in seconds
sleeptime = 60
#minimum daily lend rate in percent
mindailyrate = 0.1
#max rate. 2% is good choice because it's default at margin trader interface. 5% is max to be accepted by the exchange
maxdailyrate = 4.9
#The number of offers to split the available balance uniformly across the [gaptop, gapbottom] range.
spreadlend = 3
#The depth of lendbook (in percent of lendable balance) to move through before placing the first (gapbottom) and last (gaptop) offer.
#if gapbottom is set to 0, the first offer will be at the lowest possible rate. However some low value is recommended (say 10%) to skip dust offers
gapbottom = 15
gaptop = 100
#Daily lend rate threshold after which we offer lends for 60 days as opposed to 2. If set to 0 all offers will be placed for a 2 day period
sixtydaythreshold = 0.2
AutoRenew - if set to 1 the bot will toggle the AutoRenew flag for the loans when you stop it (Ctrl+C) and clear the AutoRenew flag when started
autorenew = 0
#custom config per coin, useful when closing positions etc.
#syntax: [COIN:mindailyrate:maxactiveamount, ... COIN:mindailyrate:maxactiveamount]
#if maxactive amount is 0 - stop lending this coin. in the future you'll be able to limit amount to be lent.
#coinconfig = ["BTC:0.18:1","CLAM:0.6:1"]
`
I've played with different configuration settings for autorenew and the min/max dailyrate variables, but nothing manages to get the bot running. And yes, there is a balance in the BTC Lending wallet.

Thank you for explaining, Mikadily and thanks for a great bot.
So the gapbottom and gaptop is the percentage amount of that snapshot of first loan offers(without loading the whole supply(load more)) right?

The "load more" on the web page works in a different way,
The page actually loads all offers using a limit of 99999, initially displays only 50 and the "load more" display +100 more offers.
The bot doesn't supply a limit param - I'm not sure on what base does the server decide how many offers to return.
The gaptop/gapbottom works relative to the snapshot of returned offers from the server.

@Mikadily The default behavior (lending at max rate) is confusing. It makes more sense that if order book contains offers below my min lending offer, then the bot should simply place offers between my min and max offers. Then, there is still a chance they get picked up at that rate if someone comes along and vacuums current offerings. Now, if someone does that, and other bots place new offers again below my min rate I will never place offers at my min bid, and my funds will never be borrowed.
I think most bot users want their funds borrowed, even if that means at their min offer rates.

@pmknutsen the bot's purpose is to maximize the profits. Read my previous comment. The difference between lending rates in that case is massive 0.05% to 2% (or whatever your max) and it actually happened to me. Where as in your example it will be a 0.1-0.2% (rough guess).
But actually what you're asking is fairly easy to implement as a feature. How should I call configuration option?

I think this is a very rare scenario, the actual situation with ETH is the orderbook is full but just not seen by the bot completely - otherwise it would set the offer to minDailyRate and not maxDailyRate.

minRate must be used exactly by name. Sometimes bot will lend at lower let's say 0.11 percent although you put 0.2 percent as minRate. And actually after 1-2 hours you can see 0.3 percent on the lending market. Now you gave it at 0.11 and you must wait 2 days. May be separate option for this to be mandatory minRate ?

Sometimes bot will lend at lower let's say 0.11 percent although you put 0.2 percent as minRate.

@sanitariu that's impossible.

would be nice to keep track of average per day than have an option to not lend under like 10% of daily average. so the application will lend the money only at the best moment of the day. I think this can prevent ppl lending at ridiculus % once a day and lock lot of ppl for 2 day at very low rate and the rest of the day the % is like x2 or x4 of what you are lock to. not sure if what I say seem clear.

@Webonaute, average per day can be calculated, however when you stop lending if rate falls under the average, you're basically also stopping to carry on with average calculation.
Secondly, yes your loan could be locked for 2 days at a very low rate. However, at the moment (for BTC) loan average-holding-time is 3h53m, as such probability to have your loan locked for 2 days is quite small at the moment. (ATM, for ETH alht is 1h14m).
But your questions is very valid: what is the rate for which it is better to wait instead of lending, and for how long do you wait until you decide is more profitable to lend. The answer to these question can be calculated/estimated, but you need a few other parameters (including the average loan-holding-time), which the current bot is not giving.

Average loan-holding-time is now 10h5m and increasing (due to low volatility I guess). Estimated waiting time for higher/more profitable rates is now much longer and increasing. So you see how this parameter impacts on estimating best profitability

@dutu Where are you getting the loan-holding-time from?

I calculate it with tiny loans placed every minute

Agree with @pmknutsen and @rnevet above.
I was running into this issue with several markets. Adding "&limit=1000" to the returnLoanOrders API request fixed it (i.e. by "fixed", I mean that now loans are made off of my configured minimum, and not just placing them at the max). The current behavior is a bit odd in that it a) only grabs a fraction of the book and b) lends at the max rate by default. This seems to lead to unpredictability (i.e. sometimes the rates were set off of my minimums, and sometimes off of the max rate, depending on the book composition at the time of run)

@robby-dermody I agree it's confusing, but only if you don't know what's happening under the hood.
We will have the "&limit=1000" thing as a feature soon.

So how do I edit my coinconfig for Xmr , I want to start lending at 0.018 onwards , sorry new to this .thanks for all replys

Should be solved with commit: a81cbbd "Dynamically increase limit of returnLoanOrders request"


Missing dependency on the documentation: pyfilterbank

Maybe I'm missing something, but I had to install pyfilterbank before being able to import timbral_models. Just wanted to point it out in case the documentation needs to be updated.
By the way, in order to install pyfilterbank, I just did:

git clone https://github.com/SiggiGue/pyfilterbank.git
cd pyfilterbank
python setup.py install

Thanks for noticing this!
It's due to the PyPI distribution being slightly older than the GitHub distribution, and on GitHub, all references to pyfilterbank have been removed since it was unused.
I've now updated the PyPI distribution to version 0.2.4 which removes the dependency.
Andy


How can I create an IMF?

Thank you for you provide code, and I am a beginner of this area. I want to know how to create an IMF? what file I should need? a .mp4 video?   and what API should I call?  Can you provide a IMF for my test?

Hi,
Photon is not a tool to create IMF packages.
It's a Netflix specific validator.
You can see other open-source projects like AsDCPLib to create IMF package.
Marc-Antoine

@lizhuangzi Photon does not support creating IMF packages. @MarcAntoine-Arnaud Just to clarify, Photon is an implementation of IMF standard as described in the readme below and not a Netflix specific validator.
https://github.com/Netflix/photon/blob/master/README.md .

@lizhuangzi The Netflix Partner Help Center provides information on IMF specifications, workflows, and creation tools (Technology Resources).
The Netflix Tech Blog has several articles explaining IMF.
Also, SMPTE offers a comprehensive online training course on IMF Essentials.

I can help you with that. Shoot me a PM and we can get started. I developed with my partner Andy Rosen a online tool.
With best regards,
Markus

Closing this issue as it does not require any change to Photon and your initial request seems to have been answered.


Add all others tests

Your tests are awesome, so I added all others tests to it. I didn't think a lot.

Thanks!


upgrade to Angular2 RC 2

could you please upgrate to angular 2 rc 2 and publish to the npm repository?

Will do later. Or you can PR ;)

I'm working behind a corporate proxy, unfortunately I can't upload files.
So maybe I can do the PR via another internet connection...

As someone new to Angular, what are the key differences or things to focus on?

updated to rc-3

Excellent - thanks!


[Feature Request]: Top.Smallest / Largest and the ...PerKey helper combiners should support a comparison key param

What would you like to happen?
See Top.Of implementation that supports the key : https://github.com/apache/beam/blob/7555d9897996362a82e6e5d25202ddf29931338d/sdks/python/apache_beam/transforms/combiners.py#L212-L213
Let's allow the same for
Top.Smallest / Largest and the ...PerKey combiners, see: https://github.com/apache/beam/blob/7555d9897996362a82e6e5d25202ddf29931338d/sdks/python/apache_beam/transforms/combiners.py#L296
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

cc: @harrisonlimh

.take-issue


STL loader: Fix out of memory when loading big stl files

See https://forum.babylonjs.com/t/higher-file-size-model-load-issue/44214/6
[...]
I forgot to mention that the use of TextDecoder is ok because it is supported by all browsers except IE11, which we no longer support.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14326/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14326/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14326/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14326/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14326/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14326/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14326/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14326/merge#BCU1XR#0

Still getting this issue with babylon code integrated with React js.
I’ve updated the babylon core and loader plugins to latest as -
“@babylonjs/core”: “^6.21.1”,
“@babylonjs/loaders”: “^6.21.1”
Still getting out of memory issue.

Still facing the same issue when implementing Babylon in my react project.
I’ve updated the Babylon core and loader plugins to latest as -
“@babylonjs/core”: “^6.21.1”, “@babylonjs/loaders”: “^6.21.1”
But still getting out of memory issue.

It has not been deployed yet to npm.

when can we expect this to be deployed to npm?

And also when loading model of 500mb size, model is not loading. Neither getting out of memory issue nor the model is loading. Just getting the blank babylon screen.

Hi @sebavan ,
Please tell when can we expect the this update to be released for npm?

@sebavan Now I can load around 200mb size model but not too heave file size. I'm trying to load 500mb mesh, the browser is not freezing but still the model is not loading. I can see only the empty scene.
Please help in this.

Would be great if you could move the conversation to the forum with a repro.


build-scaleway-x64-ubuntu-16-04-2 doesn't have JDK7_BOOT_DIR

Causing failures of e.g. https://ci.adoptopenjdk.net/job/openjdk10_sap_build_x86-64_linux/ when run on that machine.

This is usually set on the jenkins node itself, do you have permission to set those?

This isn't meant to be a build machine. I'm not sure why it has the build label. It is the docker machine with no build deps installed. I'm removing the build label now.

OK, I'll revert my change of setting that boot dir.  I'll let you close this when you've made the label change.

Should we consider renaming the host so it doesn't have build in the name too? That could lead people to re-add the tag

at some point I was thinking of creating a docker group of machines but hadn't got around to doing that yet

If you are creating a docker group of machines please let me know... I have opened this https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/347 to get it installed on as many test machines as possible, since we will continue to extend our container-based testing.  (tests look for machines labelled sw.tool.docker - which I added to test machines where docker is installed).