Downgrading from 2 to 1.22 does not work

I would like to temporarily downgrade from Flutter 2 to Flutter 1.22.6, but flutter downgrade only allows to downgrade to 1.20.4.
Steps to Reproduce

Make sure to be on the stable channel with Flutter 2.x
run flutter downgrade 1.22.6
the output should be Downgrade flutter to version 1.20.4 followed by ? [y|n]: n on the next line

Logs

Logs
$ flutter downgrade 1.22.6 --verbose
[  +52 ms] executing: [/home/ggiuffre/Documents/onlinedoctor/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +23 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] c5a4b4029c0798f37c4a39b479d7cb75daa7b05c
[        ] executing: [/home/ggiuffre/Documents/onlinedoctor/flutter/] git tag --points-at c5a4b4029c0798f37c4a39b479d7cb75daa7b05c
[   +9 ms] Exit code 0 from: git tag --points-at c5a4b4029c0798f37c4a39b479d7cb75daa7b05c
[        ] 2.0.1
[  +32 ms] executing: [/home/ggiuffre/Documents/onlinedoctor/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +5 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/home/ggiuffre/Documents/onlinedoctor/flutter/] git ls-remote --get-url origin
[   +4 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +34 ms] executing: [/home/ggiuffre/Documents/onlinedoctor/flutter/] git rev-parse --abbrev-ref HEAD
[   +4 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +54 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +44 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[  +24 ms] executing: [/home/ggiuffre/Documents/onlinedoctor/flutter/] git describe --tags fba99f6cf9a14512e461e3122c8ddfaa25394e89
[  +44 ms] 1.20.4
[   +3 ms] Downgrade flutter to version 1.20.4
           ?
[   +6 ms]  [y|n]
[        ] :

$ flutter doctor -v
[✓] Flutter (Channel stable, 2.0.1, on Linux, locale en_US.UTF-8)
    • Flutter version 2.0.1 at /home/ggiuffre/Documents/onlinedoctor/flutter
    • Framework revision c5a4b4029c (17 hours ago), 2021-03-04 09:47:48 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /home/ggiuffre/Android/Sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_HOME = /home/ggiuffre/Android/Sdk
    • Java binary at: /usr/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[!] Android Studio
    • Android Studio at /home/ggiuffre/.local/share/JetBrains/Toolbox/apps/AndroidStudio/
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ android-studio-dir = /home/ggiuffre/.local/share/JetBrains/Toolbox/apps/AndroidStudio/
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.
    • Consider removing your android-studio-dir setting by running:
      flutter config --android-studio-dir=

[✓] VS Code (version 1.54.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.20.0

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.72

! Doctor found issues in 1 category.

Temporary solution that I've used
cd /path/to/flutter-sdk
git checkout 1.22.6

Hi @ggiuffre
This command does not support jumping back to a specific version. There is an opened issue requesting this feature, please follow up on it: https://github.com/flutter/flutter/issues/71723.
Thank you

Thank you, @pedromassangocode


git docs authors plugin

This is an initial spike of the authors plugin for mkdocs. It isn't applied everywhere, but only to a few pages for people to view.

@fundthmcalculus Mind posting a screenshot how this looks when run locally?

Here is an example - alphabetical order.


Update ToC on larger screens

What should this PR do?

Updates ToC styles on larger screens so that longer nested secondary headers look reasonable (screenshots below).

Why are we making this change?

We want to be able to have longer secondary/nested headers.

What are the acceptance criteria?

Longer secondary headers look reasonable on larger screens (larger than 1464)

How should this PR be tested?

Check out the branch and test the above

Pull request process
Reviewers:

Test functionality using the criteria above.
Offer tips for efficiency, feedback on best practices, and possible alternative approaches and things that may not have been considered.
For shorter, "quick" PRs, use your best judgement on #2.
Use a collaborative approach and provide resources and/or context where appropriate.
Provide screenshots/grabs where appropriate to show findings during review.

Reviewees:

Prefer incremental and appropriately-scoped changes.
Leave a comment on things you want explicit feedback on.
Respond clearly to comments and questions.

Before:

After:

Without longer secondary headers:


Resolve ApproxBetweeness(2) naming

Proposed solution:
ApproxBetweeness2 --> EstimateBetweeness
ApproxBetweeness won't change.
TBH I think the new naming is only slightly better. I believe the names are not really clear enough and make it harder for people to decide what to choose.

To add to that: Both papers that the algorithms are based on are using "approximation" in their title.

Will resolve this issue for now. Feel free to propose a better solution.

Hi Kolja,
I agree EstimateBetweenness and ApproxBetweenness don’t tell much about how the algorithms work. Nevertheless, I think it’s quite hard to summarize this in one single word.
A major difference between the two (and the reason why we decided to keep both) is that one has theoretical guarantees on the approximation and the other one is just a heuristic but works better in practice. It is common to use the term “estimation” for heuristics with no guarantees and “approximation” for algorithms with some guarantee on the quality of the approximation (although not everybody follows this convention - as you noticed, both papers use “approximation” in their title).
I think the names are okay, as long as we make clear in the documentation the difference between them and in which cases the user should use one or the other.
Of course, if somebody has suggestions for alternative names, they would be very welcome.
Best,
Elisabetta
On Mar 28, 2017, at 21:59, Kolja Esders<EMAIL_ADDRESS>wrote:

To add to that: Both papers that the algorithms are based on are using "approximation" in their title.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


run_combined.sh crashes after about a day

I love this tool. I'm running into some stability issues and don't know where to look for the cause. I'm using run_combined.sh and find that the process crashes about once a day. I have also had the app stop running with a database error. Can you tell me where to look so I can provide a more detailed error log?

I've also noticed the app continuously crashes. I haven't had time to look into the cause though.

Thanks for the report @joseph-connolly and sorry for the delay in responding. I was pretty confused when I saw this and wasn't sure how to debug. I see a similar report in issue #128 that makes me think there's more to this.
Do you remember what the stack track is when the program crashes? I assume you're using SQLite right?

We also see this issue. We ended up using Upstart to keep the service up when it fails. However, it would be nice to find out what the cause is. We are running ubuntu 12.02

@thxmike Are you using ./run_combined.sh directly? I think the culprit may be the --reload_code flag. What we need is a script that starts the whole stack in "production mode".

My other idea is the default database location is:
SQLALCHEMY_DATABASE_URI = 'sqlite:////tmp/test.db'

And something on your system is blowing the file away. I can reproduce the sqlalchemy.exc.OperationalError exception just by running rm /tmp/test.db while the server is up.

Okay I think I fixed this in 1f401220ccbd712dd63becffd24b468614cf97e2. Check out these instructions:
https://github.com/bslatkin/dpxdt#sqlite-instance
Let me know if that fixes the issue! This should also make it easy to deploy dpxdt to a VM.


Fair_play.cpp

this is amazing @Romi904
thanks for the contribution in my repo and please share this in social media and tag me on twitter


[Code health] Rename DataSyncWorkManager to MutationSyncWorkManager

[ ] The name DataSyncWorkManager is too broad and should be named to more closely reflect its scope, eg MutationSyncWorkManager.
[ ] BaseWorkManager and subclasses aren't WorkManagers. Naming them as such is potentially misleading. Suggest renaming to *SyncService or similar.

@gino-m  I would love to handle this issue

@gino-m I would love to handle this issue

Sure, please go ahead! Be sure to sign https://cla.developers.google.com/ when you get a sec.

I have created a pull request and I have signed the Agreement. I look forward to more contributions


merging main branch

merging updates from main branch
resolve conflicts

Just a reminder guys. We shouldn't be merging with squash when dealing with release stuff. You should temporarily enable merge commit option from the settings.

Just a reminder guys. We shouldn't be merging with squash when dealing with release stuff. You should temporarily enable merge commit option from the settings.


Using Integrated Texture Coordinates in Metal, Vulkan, DirectX and OpenGL

Now my engine supports Metal, Vulkan, DirectX and OpenGL. NDC and Viewport coordinates are intergrated so all backends can make same results. However the texture coordinates couldn't be intergrated.
Texture coordinates in OpenGL is
+Y is up. Origin(0, 0) is at the bottom left corner.
Texture coordinate in Metal, Vulkan and DirectX are
+Y is down. Origin(0, 0) is at the bottom left corner.
To intergrate the texture coordinates, I can choose two options.

Pass the vertical flip texture matrix.
Multiply UV and VerticalFlipTextureMatrix and pass transformed UV to texture function.
Like blow...

mat3 VerticalFlipTextureMatrix {
   1.0, 0.0, 0.0,
   0.0, -1.0, 0.0
   0.0, 1.0, 1.0
};

vec4 texel = texture(Diffuse, (VerticalFlipTextureMatrix * UV).xy);

On OpenGL, I add some trick in glsl like below

#if OPEN_GL
vec4 texel = texture(Diffuse, vec2(UV.x, 1.0 - UV.y));
#else
vec4 texel = texture(Diffuse, UV);
#endif

However both options are not satisfied.
So I think if SPIRV-Cross support some functionality like vertex.flip_vert_y for the texture coordinate I can intergrate the texture coordinate to all graphics API.
Can SPIRV-CROSS support this?

This is a classic misconception, and this cannot, and will not be supported by SPIRV-Cross.
Texture space on all APIs correlate with window space. Window coord (0, 0) when rendering always matches up with UV (0, 0) on all APIs. The only real difference between APIs is Clip -> Window space, and GL's backbuffer is bottom-left when scanning out the backbuffer (but otherwise it is identical to Vulkan), but UV space is not the place to attempt any fixup, it cannot work in the general case.


Add SETUPTOOLS_USE_DISTUTILS environment variable to fix travis build issue

Lemur build is failing due to distutils/setuptools issue.  This is a temporary fix for this issue.
See for background. https://github.com/pypa/setuptools/issues/2230

Coverage remained the same at 57.922% when pulling af4bb72be3ee7cd4e747265c0856060df0f1fd44 on fix_travis_build_01 into 9af8d63f11e13af4dbcd441492c30ea41053d5c1 on master.


Is there a way to leverage closure action within routes themselves

This is what I'm trying to implement:
// parent/route.js
import Ember from 'ember';
export default Ember.Route.extend({
  actions: {
    async() {
      return new Promise(resolve => {
        window.setTimeout(resolve, 3000);
      });
    }
  }
});

// parent/child/route.js
import Ember from 'ember';
export default Ember.Route.extend({
  actions: {
    done() {
      return this.send('async', ...arguments).then(() => {
        return this.transitionTo('closure-heaven');
      });
    }
  }
});

Maybe by injecting a method such as:
import Ember from 'ember';

export default Ember.Mixin.create({
  sendRouteAction(actionName, ...args) {
    let action,
      routes = this.router.router.currentHandlerInfos.mapBy('handler').reverse(),
      route = routes.find(route => {
        let actions = route.actions || route._actions;
        action = actions[actionName];
        return Ember.typeOf(action) === 'function';
      });

    return Ember.run.join(route, action, ...args);
  }
});

cc @homu

cc @poteto @rwjblue

+1 interested in a resolution for this as well

I don't think is in the scope of this addon. How would a parent route pass a child route an action?

@poteto The same way it currently does for non-closure actions.
The route-action helper accepts a "name". Therefore in my child template:
(route-action "done") // would refer to the parent action

The current version of the helper does "bubble" actions to the parent, but only if it doesn't exist in the child route.


Editing emoji file

Hi,
The documentation just states to edit the file and compile using this command.
npx babel-node scripts/compile.js
I installed @babel/node and @babel/core first. In node 10 as well as 12 it didn't work. On node 10 it says "SyntaxError: Unexpected token import" and on node 12 its "SyntaxError: Cannot use import statement outside a module". Is it possible for someone to provide some help on how to get this compiled?

What command you used to compile? The error should only happen when running untranspiled code. babel default preset should transpile the es6 module to require. You could also manually specify the preset.
npx babel-node --presets @babel/preset-env scripts/compile.js

I already fixed it with preset-env. But then there are syntax errors in index.js like "concat" function missing and I realized it was using a concat on an object instead of an array. Commented that out and fixed a few other stuff in the code to get that working. But I have a feeling the index.js inside emoji-data may not be the latest one. Can you please confirm?

I followed the same steps but looks like the compiled.js file is not correct and I got an error on searching the emojis.
Did you manage to make it works @prasanthsd ?

From my notes it seems I fixed it by the following changes:
Use @babel/preset-env
In index.js comment out the following:
emojiSynonyms[k].concat(userInputEmojiSynonyms[k])
.invert()
.map((v, idx) => ({
    "keywords": v,
    "emoji_key": idx
}))

Then run npx babel-node scripts/compile.js


[Bug] select2_from_ajax_multiple with optional field

Bug report
What I did
I have a select2_from_ajax_multiple which represent n-n relationship and this field is optional but when I try to submit the form without filling the field it crashes
What I expected to happen
the record should be saved and the relation should be empty
What happened
it crashes array_values() expects parameter 1 to be array, null given

What I've already tried to fix it
after some investigation I found that the issue happens because the form is sending empty string when the field is empty so in app/Library/CrudPanel/Traits/Create.php the null escapes doesn't work I suggest to make it like so $values = (isset($relationDetails['values'][$relationMethod]) && !empty($relationDetails['values'][$relationMethod])) ? $relationDetails['values'][$relationMethod] : []; that way wether the value is null or the value is empty it becomes []
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug... is it still there?
Yes
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
PHP VERSION:
PHP 7.4.21 (cli) (built: Sep 30 2021 13:37:02) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans
LARAVEL VERSION:
v8.83.19@4264f2ee12330bdb1be050998f58ba7271236395
BACKPACK VERSION:
5.1.4@4539c787a2e052d2e2e2c00188c38432dc2a7ea9

Hello @basselhossam I could not reproduce your issue, my select2_from_ajax_multiple does not return an empty string.
Can you confirm that you are not overriding the select2_from_ajax_multiple in your project and misses out some update ?
What's your PRO version ? and what looks like line 20 in your select2_from_ajax_multiple ?
Cheers

What's your PRO version ? and what looks like line 20 in your select2_from_ajax_multiple ?

<input type="hidden" name="{{ $field['name'] }}" value="" @if(in_array('disabled', $field['attributes'] ?? [])) disabled @endif />

Can you confirm that you are not overriding the select2_from_ajax_multiple in your project and misses out some update ?

I'm not overriding select2_from_ajax_multiple and I'm on the latest version on backpack and pro

check the highlighted field this is the value from the select2_from_ajax_multiple field

Ok @basselhossam can you provide me your relations and field definition as I am still not able to reproduce your issue: https://recordit.co/8vJxAds3T2

@pxpm when I applied this fix on my vendor package it worked https://github.com/Laravel-Backpack/CRUD/pull/4528

Hey @basselhossam I saw that thanks for the PR.
As soons as I can reproduce the issue I can test your PR, but as you can see from the video I sent you, I am still unable to reproduce it

As soons as I can reproduce the issue I can test your PR, but as you can see from the video I sent you, I am still unable to reproduce it

I hope the data I shared is sufficient if you need any extra info I'd be happy to assist in anyway possible

@pxpm any updates regarding this ?

I have it on my TODO list for this week, I will get back to you with news asap @basselhossam

Hello @basselhossam . I tried to reproduce this once again but am still unable.
I still think ConvertEmptyStringsToNull middleware is not running.
I don't mind adding an extra check, but I am sure it's not in the null coalescing operator (smt ?? smt_else) because that's the main purpose of that operator, don't allow null to go by.
So the only way I can think that you can get null there is if you are sending an empty string (so that empty string is not converted to null), and after the json_decode if the string is empty it returns null.
You can add after $values = $relationDetails['values'][$relationMethod] ?? []; a dd(gettype($values)) and I bet you will get string, while in my tests I am getting array [].
Like I said, adding an aditional check wouldnt hurt anybody so what you think:
$values = $relationDetails['values'][$relationMethod] ?? [];
$values = is_string($values) ? json_decode($values, true) : $values;
$values = $values ?? [];

Wouldn't this cover the only case I describe where null can reach the array_values function?
Cheers

I still think ConvertEmptyStringsToNull middleware is not running.

actually you are right I just added a dd inside it and it didn't run but I don't really remember disabling it and it wasn’t mention in the upgrade guide that I should add it
also I believe it should be optional though

You can add after $values = $relationDetails['values'][$relationMethod] ?? []; a dd(gettype($values)) and I bet you will get string, while in my tests I am getting array [].

correct I got "string"

Like I said, adding an aditional check wouldnt hurt anybody so what you think:
$values = $relationDetails['values'][$relationMethod] ?? [];
$values = is_string($values) ? json_decode($values, true) : $values;
$values = $values ?? [];

Wouldn't this cover the only case I describe where null can reach the array_values function?

Yes I tried this solution and it worked like a charm +1

It's a Laravel middleware, not a Backpack one. We never mentioned it because, well .. we just assume people would be using it as it's a Core piece of Laravel, and in my opinion, a very very usefull one.
But I agree with you, that in some use cases you migth want to remove it.
The usage of the middleware can/should be optional, I am just not sure if this has impact in other Backpack places since we always developed Backpack using ConvertEmptyStringsToNull middleware from Laravel.
Like I told you, I don't mind adding an aditional check so atleast users don't get ugly errors, and it's empty anyway so it should have no impact in other parts of the code.
Do you want to update your PR to use this simpler solution ? If you do it, also please add a comment above the line we are adding say something like:
// disabling ConvertEmptyStringsToNull middleware may return null from json_decode() if an empty string is used.
// we need to make sure no null value can go foward so we reassure that values is not null after json_decode()

Cheers

@pxpm yes I agree with you that this is a very useful Middleware and I always leave it on but unfortunately the system that I'm working on the DB design is a bit weird that some columns are not nullable that's why we disabled it
Anyways the PR is updated now, thank you for your time and effort regarding this and sorry to discover this just now


Audio/Music Errors

I followed the a simple game tutorial from wiki  and this line of code doesn't work
dropSound = Gdx.audio.newSound(Gdx.files.internal("drop.wav"));
rainMusic = Gdx.audio.newMusic(Gdx.files.internal("rain.mp3"));
is this outdated?

https://github.com/libgdx/libgdx/wiki/Getting-help
On Mon, Jan 19, 2015 at 4:25 AM, Rustan Corpuz<EMAIL_ADDRESS>wrote:

I followed the a simple game tutorial from wiki and this line of code
doesn't work
dropSound = Gdx.audio.newSound(Gdx.files.internal("drop.wav"));
rainMusic = Gdx.audio.newMusic(Gdx.files.internal("rain.mp3"));
is this outdated?
—
Reply to this email directly or view it on GitHub
https://github.com/libgdx/libgdx/issues/2752.

1.Make sure the path is correct
2.Make sure the play sound files are correct
3.Make sure the volume is normal


Optimise bundle by storing documentation images in the GitHub CDN

🤔 What's the problem you're trying to solve?
The size of the latest release is 15.7MB. Extracting the extension, this is largely images used for documentation; and contains files that are not required in the bundle - such as the helper script to update settings.
This is significantly larger than the code of the extension itself, and thus represents a large overhead across downloads - particularly as the documentation images in any case are served through the GitHub CDN in the extension marketplace, rather than from the bundle.
✨ What's your proposed solution?

Use GitHub CDN to store documentation images
Extend .vscodeignore to include non-required files: .github/, ..HEAD, scripts/, RELEASING.md, vsc-extension-quickstart.md

⛏ Have you considered any alternatives or workarounds?
User has no alternative but to download the full bundle. Not aware of a suitable alternative to proposed solution.
📚 Any additional context?
See embedding images in GitHub by anthonywritescode for additional context on using the GitHub CDN over images stored in git.
ruff-vscode is an example where documentation images for the extension are stored through the GitHub CDN and that excludes some of the extended paths from the bundle such as .github/.

See embedding images in GitHub by anthonywritescode for additional context on using the GitHub CDN over images stored in git.

I'm sorry. Videos are useful for me as explanatory documentation. They're can't be speed read.

See embedding images in GitHub by anthonywritescode for additional context on using the GitHub CDN over images stored in git.

I'm sorry. Videos are useful for me as explanatory documentation. They're can't be speed read.

That's great feedback - I wouldn't have considered that - noted for future!


Need to securely get the PAT token for the ADO repo from GitHub secrets or something

https://github.community/t/how-do-you-get-the-value-of-a-repo-secret-as-a-github-app/199183
https://github.slack.com/archives/CMUS9J5K9/p1630605501109800

Workaround: Have app installers encrypt their secret with a public key from the app and then the app can decrypt it with its private key. And they could put the encrypted secret in the app settings yml.

Something else to look into: Use the OAuth flow when the user originally installs the app, get the PAT/OAuth token and see if there's any way to persist it or make it last longer

Another option:

Provide setup instructions on install
On install (if possible), create an issue in their repo with the setup instructions
User fills out the template or User comments a command /gh-ado-chatops-setup <pat>

If possible, the fields could include all the required settings in the app settings .yml and the GitHub App will generate the file and create a PR or something
If not, then the setup instructions will guide the user to create the file, what to put in the file, and after they do that the user needs to run the /gh-ado-chatops-setup <pat> command

Closed by #32


playlist feature is not working

hi there i am having issue of playlist please solve this.

yes, i am working on it.


Nlog Date layout need to get the datetime offset with the long date

Tried ${longdate:format=yyyy-MM-ddTHH\:mm:ss.ffffK} but its not writing in offset into the file using Nlog. Tried ${date:format=yyyy-MM-ddTHH\:mm:ss.ffffK} it gives the offset and the time output. Even tried zzz instead of K. Can we give any other usage for getting the UTC offset in Nlog consoleLayout.Text.

Can you give an example of the desired output/

I think you can use K because:

public DateTimeKind Kind { get; }
The default is Unspecified.

https://msdn.microsoft.com/en-us/library/system.datetime.kind(v=vs.110).aspx
and

The "K" Custom Format Specifier
For a time from an unspecified time zone (a time whose DateTime.Kind property equals DateTimeKind.Unspecified), the result is equivalent to String.Empty.

https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx#KSpecifier

I tried the date part with
${date:format=yyyy-MM-ddTHH:mm:ss.ffffK} but it gives only the part of minute part of the time with the offset.
Is there any length specified?? do we need to spilt this to 2 variable to get both date,time and offset
${ date format:yyyy-MM-ddTHH:mm:ss.ffffK}

consoleLayout.Text = "${longdate}|${date:format= K}| worked fine

Thanks @304NotModified  for the help. :+1:


Add support for simple search query (scan/scroll)

Hi,
i leave this remainder, because i dont find a way to use ElasticSearch simple search query for retrive raw documents  and put them in table or aggregate it with jasper. As i add in the title, support for scan and scroll query type ( http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html ) would allow ppl to fetch GB of dates without consuming too much resources.
i leave this comment also as a my remainder, i will try to help to create the correct parser for simple search query.
Regards.

Hi,
did you try with 'hit' mode? You should be able to run queries and get raw hits. Can you give me an example query that doesn't work?

yes hits query type is working good, but there are 2 problems:
1- with large amount of data there could be a huge utilization of resources and query could timeout, this can be solved with the new scan and scroll method.
2- we are not able to add aggregation dataadpter and hits dataadpter in same report / subreport, are we missing something or 2 different dataadpter cant be used in same report ?
Thanks for all you support1
Regards

Hi!
You can use different connections for the sub-reports, rather than using the main one, it will allow you then to have sub-reports with different results type from the master report.
I'll keep the issue open, and look into implementing the use of scan/scroll for large datasets. I have to admit I was naive in implementing it as it is - discarding scan/scroll - because I couldn't think of a use case where you would want a report with GB of data. I think I stand corrected! :)

thanks alot for the clarification, but iam stuck on using another dataadapter on subreport i have search alot in google and jasper community but seems that there arent a general solution on that, have you some experience on this implementantion ? i have try to add manually a connection expression inside the xml of subreport but without success, have you some suggestions ?
yes you are right i agree with you that select gb of data should be very rare, but we have experience many use case on this because many times happened that we would like to produce a report that try to include data of past 4 mounth, even if it will end up in 50 pages report.. scan and scroll method will remove from cache every buckets that we search so the cluster can use less memory for a single search, this can be added as enchantment for the future!
Thanks alot and best regards.

Hi Darkwarriors, I just committed a branch that uses ES scrolls to page hits results; it also fixes some issues with the way Aggregations are unrolled. Will soon make it the master branch.

thanks alot! i'll try it asap.
iam still looking around for a solution about what i explain above "2- we are not able to add aggregation dataadpter and hits dataadpter in same report / subreport, are we missing something or 2 different dataadpter cant be used in same report ?" , have you got time to see it or test  it ?
i try to manually add in xml a new dataadapter to a specific subreport but seems that i didnt find any correct sintax for it, i have tried all solution that we found in the community forum without success.
best regards


Error: Invalid API Key

Hi i am getting following error
2024-07-25 21:54:48 [2024-07-25 19:54:48] Started Hetzner DDNS daemon
2024-07-25 21:54:48 [2024-07-25 19:54:48] Reading configuration from /etc/hetzner_ddns.conf
2024-07-25 21:54:48 [2024-07-25 19:54:48] Error: Invalid API key

This is all i get i am Using Docker Desktop 4.32.0 on Windows and even on Docker on "Linux" Synology NAS to be precise version 20.10.3-1239 both the same error,
Here is my conf file i just changed the key to have the same schematic just different random key
# Seconds between updates / TTL value
interval='3600'

# Hetzner DNS API key
key='kFE6YoYaOSLOeECxGWoO9SXEJRlNhIbR'

# Top level domain name
domain='mylab.dev'

# Space separated host subdomains (@ for domain itself)
records='homelab'

no worries this is not my real key
any tips or known issues ?
or is it a Layer 8 problem ?
Kind regards and Love -C
XOXO

When i do an Postman call with the same production key it works flawessly

Layer 8 Was this Issue.
Needed to set the right folder / file path sometimes you just gotta go sleep. :D
fix was to set right folder mount in Docker to /etc/
Now i am getting:
2024-07-26 10:46:03 [2024-07-26 08:46:03] Started Hetzner DDNS daemon
2024-07-26 10:46:03 [2024-07-26 08:46:03] Reading configuration from /etc/hetzner_ddns.conf
2024-07-26 10:46:04 [2024-07-26 08:46:04] Error: Unable to fetch zone ID for domain mylab.dev

I will need to look further in my next Pause :)

Thanks for reporting the issue. This might be the same problem laid out in #14.
Unfortunately I am not able to reproduce the issue with Docker 27.0.3 (amd64) on Linux, so I have to rely on your logs.

Give me Some time since i am kinda new to this whole World :)
Well i can see that he atleast is getting his domain IF fetched i can only fetch it via Curl
do you have an Idea where i could look next ?

Curl log from Docker
```
{
  "zones": [
    {
      "id": "wonderID1",
      "name": "proddomain.tld",
      "ttl": 3600,
      "registrar": "",
      "legacy_dns_host": "",
      "legacy_ns": [
        "notouch.",
        "nolook.",
        "nosee.",
        "nolove."
      ],
      "ns": [
        "notouch.",
        "nosee.",
        "nolog."
      ],
      "created": "2020-04-10 19:12:04.373 +0000 UTC",
      "verified": "",
      "modified": "2023-11-14 20:19:40.936 +0000 UTC",
      "project": "",
      "owner": "",
      "permission": "",
      "zone_type": {
        "id": "",
        "name": "",
        "description": "",
        "prices": null
      },
      "status": "verified",
      "paused": false,
      "is_secondary_dns": false,
      "txt_verification": {
        "name": "",
        "token": ""
      },
      "records_count": 22
    },
    {
      "id": "yesthisID",
      "name": "mylab.dev",
      "ttl": 7200,
      "registrar": "",
      "legacy_dns_host": "",
      "legacy_ns": [
        "ns1.your-server.de.",
        "ns.second-ns.com.",
        "ns3.second-ns.de."
      ],
      "ns": [
        "ns3.second-ns.de.",
        "ns1.your-server.de.",
        "ns.second-ns.com."
      ],
      "created": "2024-07-25 16:14:05.341 +0000 UTC",
      "verified": "",
      "modified": "2024-07-25 16:14:05.993 +0000 UTC",
      "project": "",
      "owner": "",
      "permission": "",
      "zone_type": {
        "id": "",
        "name": "",
        "description": "",
        "prices": null
      },
      "status": "verified",
      "paused": false,
      "is_secondary_dns": false,
      "txt_verification": {
        "name": "",
        "token": ""
      },
      "records_count": 6
    }
  ],
  "meta": {
    "pagination": {
      "page": 1,
      "per_page": 100,
      "previous_page": 1,
      "next_page": 1,
      "last_page": 1,
      "total_entries": 2
    }
  }
}
```

@filiparag sta mislis da Zamjenimo TLD Domain sa domain ID ?
Then you need to do an first GET on the pbulic API to get the ID but could press down the specific Fails in #14 & #15
So in that case we dont need to double resolve just onetime ID Grabbing since it ID should not change it would seem Stabler to be build on that.

Then you need to do an first GET on the pbulic API to get the ID but could press down the specific Fails in https://github.com/filiparag/hetzner_ddns/issues/14 & https://github.com/filiparag/hetzner_ddns/issues/15
So in that case we dont need to double resolve just onetime ID Grabbing since it ID should not change it would seem Stabler to be build on that.

That would probably resolve these issues, but would overall degrade the user experience. My goal was to make it as nice as possible, because in the end, you can just call cURL in a crontab instead of using any dynamic DNS helper.

Hetzner's API doesn't seem to have been changed and the Docker builds are also unchanged, so I am not sure what is the root cause of the issues, but hope we will find it.

do you have an Idea where i could look next ?

Can you run cURL inside the container?

do you have an Idea where i could look next ?

Can you run cURL inside the container?

all these Logs and commands are run and exportet from the Container itself

It seems like your issue is unrelated to #14 after all.
Can you try running this utility in any other way (e.g. systemd service, git bash...) to eliminate Docker as a culprit?

● hetzner_ddns.service - Hetzner Dynamic DNS
Loaded: loaded (/etc/systemd/system/hetzner_ddns.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2024-08-30 19:12:31 CEST; 6s ago
Docs: man:hetzner_ddns(1)
Process: 5800 ExecStartPre=/usr/bin/touch /var/log/hetzner_ddns.log (code=exited, status=0/SUCCESS)
Process: 5801 ExecStartPre=/usr/bin/chown daemon:root /var/log/hetzner_ddns.log (code=exited, status=0/SUCCESS)
Process: 5802 ExecStart=/usr/local/bin/hetzner_ddns (code=exited, status=1/FAILURE)
Main PID: 5802 (code=exited, status=1/FAILURE)

this is what i get when i run it locally also the log file under /var/log/hetzner_ddns.log is empty

when i run this

curl "https://dns.hetzner.com/api/v1/zones" \
            -H "Auth-API-Token: MYKEY" 2>/dev/null | \
        jq -r '.zones[] | .name + " " + .id' | \
        awk -v d="delevoper.dev" '$1==d {print $2}'

i get the Zone ID so i cant wrap my head around where the error should be why i cant run it as is
any Idea @filiparag

is there a possibilty that the script is not capable of excatly choosing the domain given when i have more than 1 Domain registerd within hetzner ?

If systemd service crashes and the log file is empty, it cannot be an API or a response parsing issue, because at least this line would have been logged.
Can you try running hetzner_ddns command as root user directly in the terminal?

same config file
works when i run hetzner_ddns

This is all i get i am Using Docker Desktop 4.32.0 on Windows and even on Docker on "Linux" Synology NAS to be precise version 20.10.3-1239 both the same error

I suspect it is something to do with the OSes then. Do the other services all work?

I dont know what you mean by

Do the other services all work?

But I guess I see where it is going since I used Windows Docker. I will try it on a Linux System and see if there is the same issue.

Well well well
It is an extreme specific setup error how it looks like.
Note! Dont Use Windows Docker
Just use it on Linux.
Made VM setup docker tryed the same config and well well well we see it works without issues.
Thank you very much for your Time and Help to debug.


Add pico-sdk 2.0.0 support

Update Pico-PIO-USB to 0.6.1
Notifying pico-sdk version to compile properly (e.g. Pico-PIO-USB)

We'll pull this in after 0.7.10 RC1. We'll need to do a lot of testing with a new PIO version because it touches every part of our USB Host.

This looks great, could I get you to also make this change to the cmake.yml file? This will update the version of the SDK used by the CI pipeline.
uses: Fortinbra/RaspberryPiPicoBuild@v4


Waiting for deployment spec update to be observed...

This is a...

[ ] Feature Request
[x ] Bug Report

Problem:
During deployment I am getting error  "Waiting for deployment spec update to be observed..." Pods are neither created nor terminated.
Proposed Solution:
Page to Update:
https://kubernetes.io/...

I am maintiain revisionhistorylimit as 10. deleted desired 0 replicas. But still facing the issue

Can you plz give a specific way to reproduce it?

it is reproducable every time when i am doing deployment (kubectl apply -f deployment.yaml)

@Sreelalithavankam which docs page is this issue being seen ?
if there is no issue related to the K8s docs then i'd suggest to seek help on maybe https://discuss.kubernetes.io/

in absence of any url pointing to the K8s docs i'm going to close this issue
/close


feat: git amend

Would be need to add a tui and cli way to amend commits but unsure if this would actually be useful as compared to the normal git way of doing it

You can just do this using git out of scope


Error when deploying

Summary
not able to deploy
Steps To Reproduce:
Do before steps like cloning etc..
sfdx force:source:deploy -m ApexPage,CustomSite,ExperienceBundle,NavigationMenu,Network,Profile
when you run this command it shows the error
Expected result
Success
Actual result
failed
Additional information

@muenzpraeger solved the issue changing username<EMAIL_ADDRESS>in these two files LWR_Demo_Marketing.site-meta.xml && LWR_Demo_Agent.site-meta.xml
if possible could you please add this in the description please
Awesome deployment tip this really great!


getting 403 response for all resources

I deployed forked app to aws without custom domains but getting 403 in console on all resources.
here is my serverless.yml
service: tenisliga-chat
provider:
name: aws
runtime: nodejs8.10
stage: ${self:custom.secrets.NODE_ENV}
region: us-east-1
environment:
NODE_ENV: ${self:custom.secrets.NODE_ENV}
functions:
server:
handler: index.server
events:
- http: ANY /
- http: ANY /{proxy+}
plugins:

serverless-apigw-binary

custom:
secrets: ${file(secrets.json)}
apigwBinary:
types:
- '/'
and here is link to screenshot of the console
can anybody point me to right direction

Using a custom domain may help fix this bug actually, because when deploying on AWS without custom domain, it adds the stage name at the end of the url and it causes issues.

Actually it helped, thx


Regions not working correctly in GDIII

In golden drought 3, you cannot buid next to your woolrooms, as well as not being able to break gold blocks in your base. The message it prints to you is "You cannot build outside the map area!", so the issue is related to this somehow.
My cardinal version is the latest up to the time this post has been created, and the xml of the map is the one from maps.oc.tc.

This will be to do with the xml, make sure that the regions match the map
most likely dupe of https://github.com/twizmwazin/CardinalPGM/issues/492

@CaptainElliott You however cannot enter your own wool room, so that is fixed. It is also not an issue of the map being incorrectly positioned, as it happens in both lanes equally.

@Eudaldca As I have said in the other thread, this is due to a difference between the map and the xml on Reshif's site, and is not a plugin error. This issue tracker is meant for CardinalPGM bugs, not as a duplicate of the official PGM bug tracker, or a map error tracker.

@Eudaldca Make sure you didn't get rid of block 36. The map has a ton of regions based on block 36.

@iEli2tyree011 Oh, but blocks 36 are no longer in mc 1.8? I did get rid of them, because they caused fps lag like crazy.

They are still necessary to have regions work correctly for the map. We may look for a way to be able to hide block 36 from the client, so it doesn't cause as  much lag.


Tooltip v1: Remove the caret from the tooltip to make it consistent with the new tooltip, css and rails - Do not merge

Closes #
Updating the existing tooltip to match with the new tooltip styles. We need this because we won't be able to update all tooltips at dotcom to use the new version and we don't want style inconsistencies. We will do the same update on rails and css and coordinate a release together. Working with @langermank on this together.

Changelog

New

Changed

Border radius of the tooltip popover

Removed

Caret of the tooltip is removed

Rollout strategy

[ ] Patch release
[x] Minor release
[ ] Major release; if selected, include a written rollout or migration plan
[ ] None; if selected, include a brief description as to why

Testing & Reviewing
Please view the stories https://primer-5fae3091a4-13348165.drafts.github.io/storybook/?path=/story/components-tooltip--default and confirm that the caret is not present and the design matches with the updated styles

Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[x] Added/updated previews (Storybook)
[ ] Changes are SSR compatible
[x] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge
[ ] (GitHub staff only) Integration tests pass at github/github (Learn more about how to run integration tests)

I think we may have also removed the animations/delay. I can't suggest to remove it because it wasn't edited here 😄

I think we may have also removed the animations/delay. I can't suggest to remove it because it wasn't edited here 😄
animation CSS code snippet

Good point! We still have the animation in the v2 but no delay. I vaguely remember that we removed the animation and it was too snappy so we kept it.
I pushed a commit to remove the delay. Let me know if you have concern about keeping the animation as well.


Error: promisify is not a function

On load I get the following error. Not sure if an issue on my end or an issue with the module itself.
Any help would be appreciated.
Uncaught TypeError: promisify is not a function
node_modules/is-all-reachable/index.js:8 Uncaught TypeError: promisify is not a function

Thanks for the quick reply and quick fix.
However I've updated to version 1.1.3 and still having the same issue.
Tested on 2 separate systems, one running node version 8.2.1 and another running 6.11.0, still same error.

Humm, probably you are missing something, because test build is running at node 8 and all tests are green:
https://travis-ci.org/Kikobeats/is-all-reachable
Can you try print node --version before use the dependency and be sure that is >=8?

Printed the node version and returns version 7.4.0. So one of the modules I am using is still using node <=8.


Add a new "chai" environment option

JSHint is already providing unit test related environment options such as:

jasmine
mocha
and qunit

chai, is often used with mocha and provides a very nice expect/should BDD oriented API
If it was just about declaring few globals, there would be no big need of such chai option, but... this API lets the user write things like
expect(foo).to.exist

It use accessor properties (cf ES5 Property Attributes) and JSLint/JSHint/ESLint will make no difference with data properties and complain:

Expected an assignment or function call and instead saw an expression.

Currently proposed solutions include activating the options -W024 and/or expr:true, but they would be global to at least the file and won't raise warnings where they really is some errors
Some then also used some workaround making it possible to write
expect(foo).to.exist()

or worst
expect(foo).toExist()

(ex: "dirtychai")
But you are then loosing the whole point of this API which is to be as minimalist, and as near to test case meaning as possible.
I thought that the Linter might allow a more atomic expr option (ex: expr: 'accessor') to not raise warnings when expressions end with an "accessor property" instead of a method call. It can be interesting in some very specific  situations (ex: forced singleton instantiation). Should I create a feature request for that?
Still, here again such option would apply to the whole file when we might only want it for the chai API.
I think that, due to the chai popularity and to current support of the mentioned test related environments, it would be very legitimate to provide a dedicated chai option
You can get more information on that topic with my last comment in this thread: https://github.com/chaijs/chai/issues/41

Thanks for the thoughtful report!
We're trying to move away from supporting library-specific "environment"
options in JSHint "core". JavaScript libraries come and go, and even the
well-established ones like Chai are subject to change over time. When their API
changes, it puts JSHint in an awkward position of having to support multiple
versions concurrently. The other libraries you've referenced are effectively
"grandfathered in,"--we're taking the maintenance burden to honor commitments
made before this change in policy.
Your idea about accessor properties may be a path forward, though. There is a
larger issue underlying the use of Chai's expect API--namely, that a typo in
a property name will produce false positives. While my reluctance to implement
any Chai-specific solution stands, there may be a case for a user-defined list
of accessor property names.
For instance:
expect(foo).to.exist;

Currently produces:

line 1, col 16, Expected an assignment or function call and instead saw an expression.

...but maybe this could be permitted with configuration like:
// jshint.accessors exist
expect(foo).to.exist;

It's a pretty imprecise solution for static analysis, though.
expect(foo).to[varWithValueExist] would continue to trigger the warning, and
expect(foo).TO.exist would not. It's not clear if the edges of a feature like
this would give users false confidence about its ability (or worse yet, promote
bugs itself!).
Personally, I'm not very motivated to support this because I have a hard time
working with code bases that depend on side effects in accessor properties. (I
use Chai but avoid that API.) In my experience, that is itself a bad practice,
so in some ways, making it slightly safer is potentially worse than not
supporting it at all. Open to suggestion, though!

I understand the point about supporting library specific options
I still think that it is interesting to have linters aware of accessor properties and probably give a warning about their potential abuses (I agree they can lead to very bad/confusing patterns) and still tolerate them in some very specific situations.
By default I think as I said that such usage (as singleton forced instantiation)  should be very specific and would deserve a comment that could relax the linter at the line level
Then there is APIs like chai that I still found legitimate because we write almost only what is required and prevent noise. So maybe could we, as for globals, external lib, give a list of accessor attributes to tolerate at the folder level, which would only contains test files, via the .jshintrc file

We're part-way there: JSHint already supports a mechanism for extending
configurations: the extends option. If JSHint
also supported the accessors feature, then a project like Chai could provide
a minimal JSHint configuration file, and consumers could use extends to bring
it in to their own configuration.
But now we are getting in to discussing feature that is altogether separate
from the purpose of the original feature request. To help keep this
discoverable, I'm going to close this in favor of a new issue: gh-3086.

Hint: I was looking for  a way to not get warnings for JSHINT + expect, but not use JShint exempts. Closed on 8th Jan? Is there a piece of documentation about it?


Proposal: offer an "invert selection" function when working in the gallery

Hi all,
I have to delete many of my pictures from the browser currently after exporting them to a zip file.
But I still wanted to keep some of then as foundation for the next experiments.
Currently I have to go to each gallery page, choose "edit", choose "select all", click on the pictures I want to keep, then hit "delete".
Additionally the selection of pictures to keep is even more difficult, as they are already greyed out because they are selected.
Would it be possible to have a per-page function of "invert selection"?
This would mean, I choose the images I want to keep, click on "invert selection" and then hit "delete".
This will make the "delete most but keep a few" workflow so much more convenient ;)
My current "keep-to-delete ratio" is something like "5-to-95" ;)
Thanks for reading and kind regards!

I consider this "done" as you already offer the option to show "favorited" and "unfavorited" as a filter. for me, this is suffiently helpful 😄 I can easily use "favorite" instead of select for my daily doing 👍


Improve svg rendering

These changes improve the 'rendering' of designs exported to SVG.

set defaults for fill, fill-rule, stroke-width at the SVG level
remove above from path serialization
corrected fill color for continuous paths (geom2)

All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

@hrgdavor please review / try if you have time. I think these changes will help users when exporting to SVG.

See #558 for how to add a ‘name’ to objects

np. I will take a look a bit and test

It will be few days before I can do so, I am traveling today and tomorrow, so I can't test this right away

I have been playing with it, and it looks good in the svg source. I am not a fan of using fill.
While jscad renders lines

the svg export uses fill

personally I would prefer stroke

I have some complaint/proposals that are unrelated to this PR.
jscad is generating poly for each curve immediately, so an export to SVG is a poly instead of circle, arc, besier.
Without changing jscad core, one option would be to explore integration with other 2d libs like maker.js ... actually all that is needed is to improve require in the future because V2 now allows us to script with any valid JS lib.


Provide a friendlier message if another daemon is already running on startup

I often have an IPFS daemon running to interface with other IPFS tools. When launching station, I receive an alert that an instance of the daemon is already running but the message contains the text that one would normally expect on the command-line and not a message typically displayed from a GUI app.
Replicate:

Start an IPFS daemon on the system
npm start from the root of the station working directory

Station 5bd8846a007f9655a451072c23008b162168dd8a
macOS 10.13.1

What about this:

:+1: That would be a good initial step.
Also, havea->have a :)

Just updated the image ^^

Much more succinct and to the point.
Is there any plan on eventually allowing the user to use their pre-existing IPFS installation?

I was thinking about the same thing when fixing this issue, I'll create another issue about that.


App forgets fonts after a while

I have a problem that if I send app to background and return to it after a while, say 4 hours, the fonts are gone and everything is written in system font!
How can I reload fonts?

You'll need to post code of how you have implimented Calligraphy.


Please publish

This repository has version 0.8.0, but this version does not seem to be published to npm.
The latest version there ist 0.4.1.
Could you please publish 0.8.0 to npm?

:+1:

+1

+1
The npm version is not working for me correctly but 0.8.0 is!

+1

+1

+1


[disk] improve disk usage estimates by rounding file sizes up to 4kb blocks

Before this change, we approximated disk usage by keeping a running total of the file lengths of every blob in the index. But most filesystems store files in sequences of fixed size blocks, typically with size 4kb, so our estimate of filesystem space usage has been significantly lower than the actual usage.
It we round file sizes up to the nearest 4kb boundary for the disk usage accounting, then we would have a better estimate. An even better estimate would check the number of 512 byte blocks reported by stat(2), but that would require an extra syscall after writing every file- so let's try this simple approximation first.
Resolves #397.

Thanks @mostynb
I always configure the max cache size to lower than 100% of the file system capacity, as an attempt to reduce file system fragmentation. So personally I have plenty of marginal for approximations or occasionally exceeding the threshold. In other words, I prefer this approximation rather than an extra stat syscall after each write.

Yeah, hopefully this approximation is good enough for most installs.
After this change lands your actual disk usage should drop, so you might want to update the cache size limit.


F&F>Add a contact>Share OTP...modal

Copy and Close (x) button won't work

-Verified this issue on Dev app v1.7.0 (288)


Make sure iOS properly responds to life cycle events

Whenever we are about to be stopped (and this can be after we go into the background) we have to make sure that we clean up connections, save data, etc.

JXcore is supposed to fire the events we need for this. If there is a problem then we need the fix in JXcore land.


useTokensPerEth

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3663

PR #3664   👈

This comment was auto-generated by Graphite.

@wraeth-eth started a stack merge that includes this pull request via Graphite.

Graphite rebased this pull request as part of a merge.

@wraeth-eth merged this pull request with Graphite.


Hoorhon apps

URL
https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/try
Operating system
windows
More information about your system
No response
Description
hello
dotnet --info
No response

hello


Feat: allow selection of the default network interface

This pull request implements the ability for administrators to select the default network interface for FOSSBilling to use when making requests which should reduce confusion for users as some have had issues where their servers has multiple network interfaces and experienced issues on services that rely on IP address whitelisting.
This also provides a convent location for people to check what their external IP address is as it's displayed on the page.
Based on another user's experience on Discord, this closes #1267 as they received the same error message due to the IP address mismatch (real clear, thanks Resellerclub)
To-do

[x] Minor cleanup, testing.
[x] Move to storing the selected interface in the config file so it can also apply to the Sentry integration (Once #2066 is merged)
[x] Write some tests

Screenshots

Got confirmation via discord that this works as intended.
Did some cleanup, got tests written. Ready for review :)


Can't set looping mode on AudioStreamPlayer (FaceBook report)

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Unknown but some 3.0 version, reported through Facebook
Issue description:
From the FaceBook post:

There is no option to set audio looping in AudioStreamPlayer in Godot3.
Anyone knows a solution?
I set using .get_stream().set_loop(false), but there is no option in the editor's inspector to set it.

Steps to reproduce:
Link to minimal example project:

See https://github.com/godotengine/godot/issues/9928#issuecomment-318718969, loop is an import option.

But is the problem we're not exposing 'loop' as an editor option? I'm actually not sure if this a bug or not. But if you can set_loop(false) from GDScript I'd kind of expect an editor field for it too.

This is a duplicate of #10726
@akien, you marked that as a bug, what changed? :D

As far as I understand #10726 is about not being able to set loop on import for OGG Stream, while it's apparently possible for WAV, so it sounds like an inconsistency/a bug.
This issue here is about not being able to set the loop in the player, but having to define it as import, which is apparently the desired behaviour as described in #9928, hence the "discussion" tag :)

I don't think it's bad that it's an import option, but I do think it's bad that the property is accessible through gdscript to change later. If it's exposed as a property it would be less surprising if it's also available in the editor.
If not we should probably make it read-only from GDScript, but that seems wrong also.

It should be accessible in AudioStreamOGGVorbis...
On Sep 18, 2017 6:20 PM, "Hein-Pieter van Braam"<EMAIL_ADDRESS>wrote:

I don't think it's bad that it's an import option, but I do think it's bad
that the property is accessible through gdscript to change later. If it's
exposed as a property it would be less surprising if it's also available in
the editor.
If not we should probably make it read-only from GDScript, but that seems
wrong also.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/11231#issuecomment-330359715,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z26B9KJSdnon8oKeiBasqnSKwvlU0ks5sjt6ZgaJpZM4PV2en
.


Provision for updating default AMP Template.

Can we have a provision for updating default AMP Template / Boilerplate ? Since in some cases we don't require some particular amp-component scripts.
In default template we are including multiple scripts

Or just include a custom default HTML template ?
Thank you.

@prototypa  @tyom


Version select button

Codecov Report

Merging #318 into master will increase coverage by 0.41%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #318      +/-   ##
==========================================
+ Coverage   33.41%   33.82%   +0.41%
==========================================
  Files          84       95      +11
  Lines        2460     3796    +1336
  Branches       10       10
==========================================
+ Hits          822     1284     +462
- Misses       1637     2511     +874
  Partials        1        1


CM-100: StringBuilder in C#

CM-100
StringBuilder in C#

Let's move this one to the "strings-csharp" section in the repo.


Cookies cannot expire in less than 1 day.

Note: I initially send an email to the silverstripe-dev group here but I feel it may make more sense to go ahead and submit this as an issue since, to me, this is not correct functionality (but now depended-on).
There should be a  finer degree of resolution for setting a cookie expiration in SilverStripe. Since the Cookie::set() method already has parameters that exactly match that of PHP's native setcookie() function (link), I think it should also accept the same type of input (i.e. enhance this to accept unix timestamp instead). I could not find any immediate explanation at all in the documentation as to why this diverged from the unix timestamp and instead chose days. As such, I find this extremely confusing.
EDIT: Corrected to indicate this should be a unix timestamp, not just "number of days from now". Another part of why this is a little confusing.

Could we possibly create a new method or add a new parameter to toggle use of seconds instead of days? That way we don't break compatibility. Obviously there's no good fix for this since this is likely very heavily relied upon. I'm pretty surprised this issue hasn't already been raised, actually (maybe I'm missing something).
For example:
// Native approach.
setcookie('nocache', '1', strtotime('+1 minutes'), $page->Link(), $_SERVER['HTTP_HOST'], Director::is_https());

// Parameter based approach.
Cookie::set('nocache', '1', strtotime('+1 minutes'), $page->Link(), $_SERVER['HTTP_HOST'], Director::is_https(), true);

// Method based approach.
Cookie::setSeconds('nocache', '1', strtotime('+1 minutes'), $page->Link(), $_SERVER['HTTP_HOST'], Director::is_https());

Until this is updated, I have to do one of the following, neither of which I like:

From the unit test, manually set a global static flag to tell it not to send cookies at all (since I currently have to use the native approach to accomplish cookies that expire after a few minutes).
Abstract this to my own function which checks global state to determine if currently unit testing and avoid setting cookies, if so.
Manually patch core and add either my parameter approach or method approach.
Manually patch core to convert this to using seconds and then try to find every single call to ::set() and multiply all instances of the call $expiry * 60 * 24.

Another approach: Current timestamp<PHONE_NUMBER>775. That's a huge number. If you were to pass a number that is larger time() then you're probably not trying to set number of days, or even number of years for that matter. So - maybe we can just do that check first and, if it's specified, use it literally?
For CookieJar's ->set() method: https://github.com/silverstripe/silverstripe-framework/blob/3/control/CookieJar.php#L76
//expiry === 0 is a special case where we set a cookie for the current user session
if ($expiry !== 0) {
	// Don't do the maths if we are clearing.
	if ($clear) {
		$expiry = -1;
	} elseif ($expiry >= time()) {
		// Assume this is a UNIX timestamp and leave as is.
	} else {
		// Assume days.
		$expiry = SS_Datetime::now()->Format('U') + (86400 * $expiry);
	}
}

Ok I'm annoying now, but: SS_Datetime::now()->Format('U') returns a string so it's probably best to cast explicitly to integer first before applying + :+1: Alright done!

I ran into a need recently for something similar but didn't know where to start as I haven't had much experience with the cookie api. I'd be for having the ability to set cookie expiry for less than a day.

I'm a bit worried about breaking the API on this one, even in a major release, because it will be likely to take people by surprise, since it won't cause obvious breakages.
There's a couple of things I can think of:

Allowing a float value for $expiry is a bit weird but is the most backwards-compatible. In fact, although I haven't tested it but from a read of the code it looks like that's already works.
Allowing a unit suffix such as s, m or d to the number would disambiguate. We could either incorporate some of the strtotime() logic in here or just do a simple regex decoder.

I'm less keen on either extra methods or extra arguments as it seems to make the API more bloated, which is why I'm suggesting a unit suffix.
If we thought that was a good idea, we could potentially deprecate (i.e. still works but throws a deprecation notice) the passing of a regular int/float to the method and favour a string with a unit. Since it's not an API breakage, that should be fine for the 3 branch.
But, if you're trying to get a site launched now, why not try setting expiry to 60/86400 and see if that gives you a 1 minute expiry?

I'm also less keen on special magic for handing very large ints. It's true that it's unlikely that a user would be asking for an expiry billions of years in the future, but it just makes the whole API that much harder to understand. We've been burned by magic in the past...

I've already implemented a pretty stable solution with some solid unit test coverage using the UNIX time stamp technique. Still a 32 bit integer. I have it currently doing a little jig and overriding outputCookie() by reversing the multiplication if the number is too high before it passes the finals number to use to its parent implementation of the same method. Will have to post when I get to a computer.

I'm also less keen on special magic for handing very large ints. It's true that it's unlikely that a user would be asking for an expiry billions of years in the future, but it just makes the whole API that much harder to understand. We've been burned by magic in the past...

Magic? Meh... to me following the API of settime() but saying "Nah, let's make this 'number of days' instead of a unix timestamp, that'll do just fine" seems a bit more "magical" to me. This is a step in the right direction for consistency and control. I think leaving this as-is makes it harder to understand for those two exact reasons. Supporting a unix timestamp will hopefully become the norm and we can fade this magic you speak of out. I know I'm not the only one (ask @muskie9 who happened to chime in).

OK, I think the best way forward is to deprecate the existing functionality — throw a deprecation notice when someone passes days rather than a timestamp. Then we can remove support for days in a future version (probably SS5 rather than SS4)

So tell me if I have this right: Accept unix timestamps starting in v3, have use of days in v4 throw the deprecation notice and v5 possibly remove the days format altogether. Is that accurate?

3 branch: accept unix timestamps, start throwing deprecation notice on days
master branch: the same (we'll merge forward the 3 branch to apply this, no need for a 2nd PR)
v5: remove support for days

Maybe I'm hardheaded, but... You mean, put this in the 3 branch?
Deprecation::notice('3.4', 'Specifying days as $expiry has been deprecated. Use Unix timestamps instead.');

And not:
Deprecation::notice('4.0', 'Specifying days as $expiry has been deprecated. Use Unix timestamps instead.');

My assumption was the latter, not the former. But either is fine with me I suppose. That would just require ensuring the framework has flipped over to the dark site of Unix timestamps as well (not much, really). Even Session is sort of hacking around this by taking the value and dividing it by 86400 in order to convert to a fraction of a day (passing a float, which gets multiplied back out again against 86400 and then added to a string which is then coerced to a float, but often times coerced to an integer, depending on the weather).

Umm, I'm going to defer to @dhensby or @tractorcow about how we've dealt with deprecations elsewhere....

I like
Cookie::set('Name', 'Value', [ 'seconds' => $stamp ]);

$expiry could either be a literal (treated as days) or a units and value.
'timestamp' could be used to specify an explicit timestamp as well if you don't want to do a relative time.

My initial concern with this (and the major reason why I opened this ticket) was finding a path that would bring us back to the standard parameters already set out in setcookie(). This diverges even further and, in my opinion makes it even less intuitive :disappointed: So unintuitive right now, in fact, that I didn't even really realize it was possible to set expiry's less than 1 day until fairly recently when I found another instance passing a fraction of 1 (requiring manual division by s / 86400 if you want to list out seconds, m / 1440 if you want to specify minutes, etc).

Yeah, my vote goes to shifting back to the same arg type as setcookie() and deprecating the current semantics.
I just was't sure what number to place in the Deprecation::notice() call.

Sure, ok. Fine with me. :D

Comprehensively changing Cookie::set() API to follow the php setCookie() convention could have the following 2 impacts:

The $expiry default value can't be a fixed value above 0 (because the $expiry would become relative), and would potentially best be 0
Internal use of Cookie::set() is easy enough to refactor, but external usage would consider this a breaking change

Displaying a Deprecation::notice() is trivial.
I've raised a PR with the working code, based on the above.

For reference, that PR is #9548 :)

It occurs to me that some users will have registered different Cookie_Backend services. That means changing the internal use of the Cookie::set() API to express $expiry as a timestamp will be a breaking change for those users.
Is this an affects/v4 issue? Or does this need to be re-allocated to change/major affects/v5?

IMO, yeah, has to be a breaking change if you're changing the intention of any argument in an interface.

Yeah I think there's no way around it. It probably wouldn't impact me, but (for example) if someone implemented a DB driven implementation of Cookie_Backend it will not get the deprecation notice.
This may indeed need to wait until v5, unfortunately. The only way around it would be to implement a crutch/polyfill somehow in the Cookie::set()  static function, which seems particularly evil and and should not be done.

I've adjusted current PR to address only the 4.x compatibility changes https://github.com/silverstripe/silverstripe-framework/pull/9548
Major changes can be addressed at a later time

If the main issue is "how do I set a cookie less than one day" the answer is to send a parameter with a value that is a fraction of a day, it is possible to set cookies less than a day.
If the issue is "make the API more like set_cookie" then I think I disagree. The problem is we're actually using Max-Age but we've called it $expiry which implies (wrongly) it's the equivalent of the expires directive on the cookie (see https://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age). We aren't trying to reflect the PHP API, we're for a different attribute than the PHP API.

If the main issue is "how do I set a cookie less than one day" the answer is to send a parameter with a value that is a fraction of a day, it is possible to set cookies less than a day.

Yeah, I think for me the main issue was, in a dynamically typed language, taking the doctype declaration for the parameter of int a bit too literally. If you can only define int's, you obviously can only use days, however if float's are allowed, seconds become available.

If the issue is "make the API more like set_cookie" then I think I disagree.

I concur. There are two competing ideas with some overlap, i.e. A.) What's easy/intuitive vs. B.) What's consistent? Speaking of, I proposed what I think might be a very good middle ground for not only retaining the current max-age style $expires parameter but using method chaining to accomplish a migration to an alternative API.
Also, one thing we could potentially do right now would be to, at minimum, fix the documentation on the various @param int $expiry to instead say @param float $expiry since I didn't think  of that until now 😄

If the main issue is "how do I set a cookie less than one day" the answer is to send a parameter with a value that is a fraction of a day, it is possible to set cookies less than a day.

@dhensby if that's acceptable, then it sounds like the rest of this conversation belongs to a separate, greater effort to implement a more comprehensive Cookie pattern and API. Can it be closed?

Yeah given where things have gone I'd suggest a PR that allows for float values of relative days in addition to int. Assuming we haven't used type hints in the API to date, that shouldn't cause breakages in upgrades, either to project code or to custom cookie jars?

I agree we could maybe discuss expanding the Cookie API a bit more as well. I'd be interested to see where that goes. Also, I can close this ticket if/when  #9548 get's merged.

The linked pull-request with an update to docs has been merged, I'll close this issue now


ci: use shabados release actions

Update CI to use new release cycle. This would allow maintainers to manually run the release workflow to publish

Pull Request Test Coverage Report for Build 932041588

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

Totals

Change from base Build 931614211:
0.0%

Covered Lines:
153

Relevant Lines:
153

💛  - Coveralls

Pull Request Test Coverage Report for Build 932048087
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build 932047278:
0.0%

Covered Lines:
155

Relevant Lines:
155

💛  - Coveralls


ERROR: Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.HttpListenerException: Access is denied

I have a issue as below while accessing SSRS reports. I am able access web service, but while accessing portal like http://localhost:8787/Reports throwing error and response in browser is below.
Not Found
HTTP Error 404. The requested resource is not found.
ERROR: Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.HttpListenerException: Access is denied
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(HttpListener listener, Func2 appFunc, IList1 addresses, IDictionary2 capabilities, Func2 loggerFactory)
at Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(Func2 app, IDictionary2 properties)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Owin.Hosting.ServerFactory.ServerFactoryAdapter.Create(IAppBuilder builder)
at Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context)
at Microsoft.ReportingServices.Portal.WebHost.Services.Impl.WebAppWrapper.Start(StartOptions options, IPortalConfigurationManager rsConfigManager, ILogger logger)
at Microsoft.ReportingServices.Portal.WebHost.Services.Impl.WebAppServiceController.Start()
at Microsoft.ReportingServices.Portal.WebHost.Program.Run()
at Microsoft.ReportingServices.Portal.WebHost.Program.Main(String[] args).
can anyone has solution or suggestion please.

I would recommend to post your question in the https://social.msdn.microsoft.com/Forums/sqlserver/en-US/home?forum=sqlreportingservices so the community can help you or contact support.
This project only covers questions about the samples

Thanks, I resolved the issue by uninstalling and reinstalling the SSRS.


Simplified the composer to use higher order components

*higher order functions

I swear I saw in the past rewriting compose function from reduce version into "plain for" cycle in order of some performance benefits ;-)
I like this, looks more readable.

Thank you!!!

Comment about performance of this https://github.com/reactjs/redux/pull/2145#issuecomment-266264790


RuntimeError: No loss value in the dictionary returned from model.training_step() with pytorch lightning

❓ Questions and Help
What is your question?
I am trying to run a custom dataset using Pytorch lightning but am not able to do so due to the following error.
The input is an array with the shape as (n, m). Can anyone tell me what am I doing wrong?
Traceback (most recent call last):   File "TestNet.py", line 285, in <module>     trainer.fit(model)   File /path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 1003, in fit     results = self.single_gpu_train(model)   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/distrib_parts.py", line 186, in single_gpu_train     results = self.run_pretrain_routine(model)   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 1213, in run_pretrain_routine     self.train()   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 370, in train     self.run_training_epoch()   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 452, in run_training_epoch     batch_output = self.run_training_batch(batch, batch_idx)   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 632, in run_training_batch     self.hiddens   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 783, in optimizer_closure     training_step_output = self.process_output(training_step_output, train=True)   File "/path/to/pytorch/lib64/python3.6/site-packages/pytorch_lightning/trainer/logging.py", line 159, in process_output     'No lossvalue in the dictionary returned frommodel.training_step().' RuntimeError: No lossvalue in the dictionary returned frommodel.training_step(). Exception ignored in: <object repr() failed> Traceback (most recent call last):   File "/path/to/pytorch/lib64/python3.6/site-packages/tqdm/std.py", line 1086, in __del__   File "/path/to/pytorch/lib64/python3.6/site-packages/tqdm/std.py", line 1293, in close   File "/path/to/pytorch/lib64/python3.6/site-packages/tqdm/std.py", line 1471, in display   File "/path/to/pytorch/lib64/python3.6/site-packages/tqdm/std.py", line 1089, in __repr__   File "/path/to/pytorch/lib64/python3.6/site-packages/tqdm/std.py", line 1433, in format_dict TypeError: 'NoneType' object is not iterable
Code
I have the training_step and the other functions as below
`def training_step(self, train_batch, batch_idx):
x, y = train_batch
logits = self.forward(x)
loss = F.l1_loss(logits, y)
tensorboard_logs = {'train_loss': loss}
return {'train_loss': loss, 'log': tensorboard_logs}
def validation_step(self, val_batch, batch_idx):
    x, y = val_batch
    logits = self.forward(x)
    loss = F.l1_loss(logits, y)
    return {'val_loss': loss}

def validation_epoch_end(self, outputs):
    # called at the end of the validation epoch
    # outputs is an array with what you returned in validation_step for each batch
    # outputs = [{'loss': batch_0_loss}, {'loss': batch_1_loss}, ..., {'loss': batch_n_loss}]
    avg_loss = torch.stack([x['val_loss'] for x in outputs]).mean()
    tensorboard_logs = {'val_loss': avg_loss}
    return {'avg_val_loss': avg_loss, 'log': tensorboard_logs}

def test_step(self, test_batch, batch_nb):
    x, y = test_batch
    logits = self.forward(x)
    loss = F.l1_loss(logits, y)
    correct = torch.sum(logits == y.data)

    # I want to visualize my predictions vs my actuals so here I'm going to
    # add these lines to extract the data for plotting later on
    predictions_pred.append(logits)
    predictions_actual.append(y.data)
    return {'test_loss': loss, 'test_correct': correct, 'logits': logits}

def test_epoch_end(self, outputs):
    # called at the end of the test epoch
    # outputs is an array with what you returned in test_step for each batch
    # outputs = [{'loss': batch_0_loss}, {'loss': batch_1_loss}, ..., {'loss': batch_n_loss}]
    avg_loss = torch.stack([x['test_loss'] for x in outputs]).mean()
    logs = {'test_loss': avg_loss}
    return {'avg_test_loss': avg_loss, 'log': logs, 'progress_bar': logs }

def train_dataloader(self):
    train_dataset = TensorDataset(torch.tensor(new_x_train).float(), torch.tensor(new_y_train).float())
    train_loader = DataLoader(dataset = train_dataset, batch_size = 32)
    return train_loader

def val_dataloader(self):
    val_dataset = TensorDataset(torch.tensor(new_x_val).float(), torch.tensor(new_y_val).float())
    val_loader = DataLoader(dataset = val_dataset, batch_size = 32)
    return val_loader

def test_dataloader(self):
    test_dataset = TensorDataset(torch.tensor(new_x_test).float(), torch.tensor(new_y_test).float())
    test_loader = DataLoader(dataset = test_dataset, batch_size = 32)
    return test_loader

def configure_optimizers(self):
    optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)
    return optimizer`

I have defined the custom dataset outside of the Pytorch Lightning Module with new_x_train, new_y_train as input, and label for the training set. The naming is similar for validation as well as the test set.
What's your environment?

OS:  Linux
Packaging pip

should be:
def training_step(self, train_batch, batch_idx):
    x, y = train_batch
    logits = self.forward(x)
    loss = F.l1_loss(logits, y)
    tensorboard_logs = {'train_loss': loss}
    return {'loss': loss, 'log': tensorboard_logs}

the loss should be attached to the key 'loss' which tells which value to minimize.
https://pytorch-lightning.readthedocs.io/en/stable/api/pytorch_lightning.core.html#pytorch_lightning.core.LightningModule.training_step

@GuptaVishu2002 does the solution fix your issue?

Yes! It fixed my issue! Thank You so much!

When I am using the same code for cross_entropy loss it is working fine. But getting error for mse_loss. Why this is happening?
return {'train_loss': loss, 'log': tensorboard_logs} is fine for cross_entropy but showing error for mse_loss.
However, if I changed the train_loss to loss then it is working fine. Why?

However, if I changed the train_loss to loss then it is working fine. Why?

because loss is a special key that will be used to tell which value to optimize. you need to return a value with loss key in the dictionary or just return a loss tensor. For logging check the new API.


Having a problem building pinocchio3-preview with casadi

Bug description
Thank you for your great work!
I'm trying to use pinocchio and casadi, and I know from #1356 that I need to compile pinocchio3-preview to get pinocchio3 to support casadi.
But when I followed the instructions in #1807 to compile pinocchio3-preview, I got the following error.
/opt/conda/envs/pin3preview_casadi/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:13:9:
error: 'get_pytype' is not a member of 'boost::python::converter::expected_pytype_for_arg<Eigen::Matrix<casadi::Matrix<casadi::SXElem>, 3, -1, 0> >'
   13 |         BOOST_PP_LOCAL_MACRO(0)

In order to verify whether this problem was related to my personal configuration, I also tried it in docker and encountered the same error. And I think he encountered the same error as me.
By the way, does pinocchio2.9x provide the functions of pinocchio3? If so, does this mean I don't need to compile it manually?
Reproduction steps
I executed the following command based on the docker-anaconda image. It is almost identical to the one in #1807, except that make is installed.

conda create --name pin3preview_casadi python=3.9
conda activate pin3preview_casadi
conda install cmake make casadi compilers=1.4.2
conda install Pinocchio --only-deps
Clone the code and switch to pinocchio3-preview branch
cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_CASADI_SUPPORT=ON -DBUILD_TESTING=OFF
make

Docker image
The image has been uploaded to DockerHub.
After creating the container, you need to run conda activate pin3preview_casadi to activate the virtual environment. The code is under /root.

Hello, have you solved the problem? I'm having the exact same problem as you.

Bug description
Thank you for your great work!
I'm trying to use pinocchio and casadi, and I know from #1356 that I need to compile pinocchio3-preview to get pinocchio3 to support casadi.
But when I followed the instructions in #1807 to compile pinocchio3-preview, I got the following error.
/opt/conda/envs/pin3preview_casadi/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:13:9:
error: 'get_pytype' is not a member of 'boost::python::converter::expected_pytype_for_arg<Eigen::Matrix<casadi::Matrix<casadi::SXElem>, 3, -1, 0> >'
   13 |         BOOST_PP_LOCAL_MACRO(0)

In order to verify whether this problem was related to my personal configuration, I also tried it in docker and encountered the same error. And I think he encountered the same error as me.
By the way, does pinocchio2.9x provide the functions of pinocchio3? If so, does this mean I don't need to compile it manually?
Reproduction steps
I executed the following command based on the docker-anaconda image. It is almost identical to the one in #1807, except that make is installed.
* `conda create --name pin3preview_casadi python=3.9`

* `conda activate pin3preview_casadi`

* `conda install cmake make casadi compilers=1.4.2`

* `conda install Pinocchio --

Bug description
Thank you for your great work!
I'm trying to use pinocchio and casadi, and I know from #1356 that I need to compile pinocchio3-preview to get pinocchio3 to support casadi.
But when I followed the instructions in #1807 to compile pinocchio3-preview, I got the following error.
/opt/conda/envs/pin3preview_casadi/include/boost/preprocessor/iteration/detail/limits/local_256.hpp:13:9:
error: 'get_pytype' is not a member of 'boost::python::converter::expected_pytype_for_arg<Eigen::Matrix<casadi::Matrix<casadi::SXElem>, 3, -1, 0> >'
   13 |         BOOST_PP_LOCAL_MACRO(0)

In order to verify whether this problem was related to my personal configuration, I also tried it in docker and encountered the same error. And I think he encountered the same error as me.
By the way, does pinocchio2.9x provide the functions of pinocchio3? If so, does this mean I don't need to compile it manually?
Reproduction steps
I executed the following command based on the docker-anaconda image. It is almost identical to the one in #1807, except that make is installed.
* `conda create --name pin3preview_casadi python=3.9`

* `conda activate pin3preview_casadi`

* `conda install cmake make casadi compilers=1.4.2`

* `conda install Pinocchio --only-deps`

* Clone the code and switch to `pinocchio3-preview` branch

* `cmake .. -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_CASADI_SUPPORT=ON -DBUILD_TESTING=OFF`

* `make`

Docker image
The image has been uploaded to DockerHub.
After creating the container, you need to run conda activate pin3preview_casadi to activate the virtual environment. The code is under /root.

Hello, have you solved the problem? I'm having the exact same problem as you.

Hi all,
I am trying to intarface pinocchio-casadi with acados, to directly integrate robot dynamics in the OCP formulation. But I have the same problem as reported above and I cannot compile pinocchio3-preview.

Hi all, I am trying to intarface pinocchio-casadi with acados, to directly integrate robot dynamics in the OCP formulation. But I have the same problem as reported above and I cannot compile pinocchio3-preview.

Sorry, I haven't found a  solution yet.But the jnrh-2023 project can help bind Pinocchio3 with Python


Add new files for ExtData2G

This brings in the new yaml files for ExtData2G so those will be available when the switch is thrown to start using them. This is zero diff as I'm not getting rid of the old files yet

@bena-nasa Can you point us to documentation on the new ExtData?  Sound much more flexible than the original. thx

@bena-nasa Can you point us to documentation on the new ExtData? Sound much more flexible than the original. thx

Here is the documentation:
https://github.com/GEOS-ESM/MAPL/wiki/ExtData-Next-Generation---User-Guide
I will be presenting about this at the next theme meeting. Until all the repos that need the new files get approved no one can use this as you can only run the new or the old in MAPL from the cap, not both. I also see I forgot to add labels and update the changelog, I'll do that.

Updated labels to make sure all CI is triggered (not sure if trivial does anything to CircleCI, but just in case).
As such, I added a couple lines in CHANGELOG.md so that the changelog enforcer is happy.

Re-running CI after HEMCO branch removal

Clearly this is zero-diff because the YAML files are not used yet.  Am I right to assume that ExtData2G should be zero-diff to the original ExtData, if all the YAML files are crafted correctly?  There are hundreds of lines involved in this re-factoring, and reviewing them all would be a painstaking process; it would be more efficient to demonstrate zero-diff.  Is this a viable alternative?  Will there be a release with a run-time or compile-time option for which version of ExtData to use?

Two comments - ChemEnv_ExtData.yaml does not get copied to install/ yet (please fix). And there are 3 versions of GMI_ExtData.yaml (mirroring the 3 versions of GMI_ExtData.rc). Please delete the new yaml files under CCMI_REF-C1 and CCMI_REF-C2, those CCMI settings are out of date anyway.
@mmanyin
Done


CI: Switch python 3.6 to ubuntu-20.04, add python 3.11

I accidentally included the version bump in this PR, oops.


⚠ Bofrost.de has degraded performance

In eab8356, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1926 ms

Resolved: Bofrost.de performance has improved in 3f74ad2.


"ttl" or "id" as a field name on Cosmos Tables Throws Hard Server 500 Error

It seems that many of the SQL API built-in fields cause unrecoverable errors when Cosmos encounters them using Comos Tables. Doing imports from external data, we have NO-Not Any, NONE, ZERO control over the imported field names. In this case there is a field called ''ttl" that is colliding with a field in Cosmos. Importing thousands of rows where each one fails is not an acceptable use of an expensive data store.
Cosmos Error:
_StatusCode 500
Server encountered an internal error.Please try again after some time.
Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Nullable`1[System.Int32]' because the type requires a JSON primitive value (e.g. string, number, boolean, null) to deserialize correctly.
To fix this error either change the JSON to a JSON primitive value (e.g. string, number, boolean, null) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'ttl.$t', line 1, position 710._
TTL is set to ON and the container TTL is set to 86400 (one day) on our demo sandbox. This works as expected.
When you load data that contains a field named "ttl" the Cosmos engine throws 500 and delays about 30 seconds on each call.
This is not the only field that crashes Cosmos. The "id" field also crashes Cosmos. When importing/migrating data to Cosmos, it is not unusual that the external data being loaded would have common field names such as "id" or "ttl". First, the Azure Portal handles this differently and is inconsistent with the libraries. Second the different implementations also handle Cosmos differently.  The really bad thing is a 500 error.
Forcing the user to change the names of fields is a very bad decision.  In real life we import data everyday from external systems and to mix with other system data, we do not have the luxury of a migration "one-time fix-up" We cannot trust any incoming "id" field to be unique nor do we have any control over the naming of fields in other data systems. If there are constraints they need to be published. In this case we would much like to use the ttl for what it is supposed to do - remove the data when time runs out. For us, stale data is very bad. This is one reason we want to use Cosmos, avoid writing the code to manage stale data. IoT data gets stale very quickly. TTL is a very common label for data.
I should not have to know what Cosmos is doing behind the curtain. I should and expect to use MY data. I do not expect to change the meaning of data fields and I expect to use the features of Cosmos or I will go to something else less expensive especially if I am forced to write the code and manage it myself.  Below is a code snippet, the only difference is the name of the field.
This fails where ttl is a positive value
if (ttl > 0)
{
            dynamicTableEntity.Properties.Add("ttl", EntityProperty.GeneratePropertyForInt((int)ttl));
        }

tableResult = await table.InsertTableRowAsync(entity);
This works where ttl is a positive value
if (ttl > 0)
{
            dynamicTableEntity.Properties.Add("ttlx", EntityProperty.GeneratePropertyForInt((int)ttl));
        }

tableResult = await table.InsertTableRowAsync(entity);

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

ID: ae1b1c71-a8ca-2bba-202e-f74a9414ced4
Version Independent ID: 65ce6b13-2e3d-39ea-167a-ebdc1864f66b
Content: Configure and manage Time to Live in Azure Cosmos DB
Content Source: articles/cosmos-db/how-to-time-to-live.md
Service: cosmos-db
Sub-service: cosmosdb-sql
GitHub Login: @anfeldma-ms
Microsoft Alias: anfeldma

@laultman Thank you for the feedback. We are actively investigating and will get back to you soon.

@laultman Apologies for the inconvenience caused to you. Firstly I agree with you on both the points where we get that 500 error and as well as using these keywords. Currently this is the limitation when we try to use reserved keywords like 'ttl' in cosmos db. And as you mentioned when we rename it to some other text it works fine. This is the kind of workaround to overcome this situation at present. I do understand the pain points that you mentioned and I will try to bring it to product team's notice about this issue.
Please let us know if you would like to discuss any more things and we will gladly continue the discussion.

@laultman Awaiting your response based on above comment.

@laultman We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Update index.html

:star: PR built and available in a preview environment xuanzhong-node-http-pr-1 here


Number dragging "sticks" to mouse and won't drop.

Order
Click on number (4) appears in hexagon and in white box.
Go to drag hexagon on to canvas - menu/toolbar disappears and number with it.
Hexagon and number then get stuck as mouse pointer but disappears when toolbar closes.

I'm fairly confident this is fixed on dev, but I might be wrong. It's an old bug reported before I think, #530 maybe?

Indeed. Please re-open if it seems to persist.