with_dict

vars:
NETWORKS:
NET1:
name: BU1
range: <IP_ADDRESS>/32
task:

name: Create network elements
run_once: true
delegate_to: localhost
with_dict: "{{ NETWORKS }}"
network_element:
smc_logging:
level: 10
path: /tmp/ansible-smc.log
elements:
- network:
name: "{{ item.value.name + 'to' + item.value.range|regex_replace('/','-') }}"
ipv4_network: "{{ item.value.range }}"
comment: "{{ item.value.name }} - WIN"
- group:
name: "{{  item.value.name + '_ALL' }}"
members: "{{ item.value.name + 'to' + item.value.range|regex_replace('/','-') }}"
comment: "RemoteSites"

error:
"module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_d5lLPK/ansible_module_network_element.py\", line 479, in <module>\n    main()\n  File \"/tmp/ansible_d5lLPK/ansible_module_network_element.py\", line 476, in main\n    NetworkElement()\n  File \"/tmp/ansible_d5lLPK/ansible_module_network_element.py\", line 392, in __init__\n    super(NetworkElement, self).__init__(self.module_args, supports_check_mode=True)\n  File \"/tmp/ansible_d5lLPK/ansible_modlib.zip/ansible/module_utils/stonesoft_util.py\", line 367, in __init__\n  File \"/tmp/ansible_d5lLPK/ansible_module_network_element.py\", line 427, in exec_module\n    result = self.update_group(element, ELEMENT_TYPES)\n  File \"/tmp/ansible_d5lLPK/ansible_module_network_element.py\", line 460, in update_group\n    m = update_or_create(member, type_dict, check_mode=self.check_mode)\n  File \"/tmp/ansible_d5lLPK/ansible_modlib.zip/ansible/module_utils/stonesoft_util.py\", line 227, in update_or_create\nAttributeError: 'str' object has no attribute 'items'\n",
"module_stdout": "",
"msg": "MODULE FAILURE",

Yes I know the error (because of /32 foe a network) but i prefer to show you an unmanaged case and error ;)
RÉMY POUCHAIN
Le 5 avril 2018 21:23:45 GMT+02:00, David LePage<EMAIL_ADDRESS>a écrit :

It looks like I should add more validation to structure, from what I
can tell from the playbook, your group syntax is invalid. Should be in
this format:
- network:
      name: networka
      ipv4_network: <IP_ADDRESS>/24
      ipv6_network: fc00::/7
      comment: created by dlepage
- group:
     name: mygroup
     members:
     - host:
           name: hosta
- group:
   name: newgroupa
   members:
   - host:
          name: newhostb
          address: <IP_ADDRESS>

The group definition does not look correct. Here is the dict format:
{'elements': [
      {'network': {'comment': 'created by dlepage',
                          'ipv4_network': '<IP_ADDRESS>/24',
                          'ipv6_network': 'fc00::/7',
                          'name': 'networka'}},
      {'group': {'members': [{'host': {'name': 'hosta'}}],
                      'name': 'mygroup'}},
      {'group': {'members': [{'host': {'address': '<IP_ADDRESS>',
                                       'name': 'newhostb'}}],
                      'name': 'newgroupa'}}]

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/gabstopper/ansible-stonesoft/issues/14#issuecomment-379048832

--
Envoyé de mon appareil Android avec K-9 Mail. Veuillez excuser ma brièveté.

One additional thing to note is the second group syntax supports creating the element within the group rather than as a second operation.
If it's a simpler model, I'm not opposed to modifying the format to expect the group elements be created and use a syntax like this:
- group:
      name: foogroup
      members:
          host:
          - hosta
          - hostb

which appears to be the syntax you are using.

Right now ,im using two task ti create object and another to add member to group.
It could be interesting but not mandatory to allow creation of empty group (allowed in SMC)
Le 5 avril 2018 21:45:11 GMT+02:00, David LePage<EMAIL_ADDRESS>a écrit :

One additional thing to note is the second group syntax supports
creating the element within the group rather than as a second
operation.
If it's a simpler model, I'm not opposed to modifying the format to
expect the group elements be created and use a syntax like this:
- group:
     name: foogroup
     members:
         host:
         - hosta
         - hostb

which appears to be the syntax you are using.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/gabstopper/ansible-stonesoft/issues/14#issuecomment-379054602

--
Envoyé de mon appareil Android avec K-9 Mail. Veuillez excuser ma brièveté.

Thanks for the feedback 👍 I will add a check in place here to catch that invalid format (and any others).
I like the idea of empty group and flag to add/remove. Will incorporate.

Hi Remy,
Quick question. Does it seem reasonable if I implement this for groups:
- group:
      name: foogroup
      members:
          host:
          - hosta
          - hostb

This is a deviation from the current where members could be created in the nested group definition. I will then also add an option to remove member/s also.

If you add also - network object ;)
Le 6 avril 2018 18:54:32 GMT+02:00, David LePage<EMAIL_ADDRESS>a écrit :

Hi Remy,
Quick question. Does it seem reasonable if I implement this for groups:
- group:
     name: foogroup
     members:
         host:
         - hosta
         - hostb

This is a deviation from the current where members could be created in
the nested group definition. I will then also add an option to remove
member/s also.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/gabstopper/ansible-stonesoft/issues/14#issuecomment-379312776

--
Envoyé de mon appareil Android avec K-9 Mail. Veuillez excuser ma brièveté.

Hi Remy,
I have posted a new version that supports modify/remove of group members based on this type of syntax:
- group:
    name: foogroup
    #remove_members: true
    #append_lists: true
    members:
       host:
       - hosta
       - hostb
       network:
      - networka

It is also possible to add a netlink element now as well.
Please see the example network_element playbook:
https://github.com/gabstopper/ansible-stonesoft/blob/master/playbooks/network_element.yml
The new engine library also allows you to assign the netlink to the specified interfaces.

Thanks a lot !
Le 25 avril 2018 05:50:22 GMT+02:00, David LePage<EMAIL_ADDRESS>a écrit :

Hi Remy,
I have posted a new version that supports modify/remove of group
members based on this type of syntax:
- group:
   name: foogroup
   #remove_members: true
   #append_lists: true
   members:
      host:
      - hosta
      - hostb
      network:
     - networka

It is also possible to add a netlink element now as well.
Please see the example network_element playbook:
https://github.com/gabstopper/ansible-stonesoft/blob/master/playbooks/network_element.yml
The new engine library also allows you to assign the netlink to the
specified interfaces.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/gabstopper/ansible-stonesoft/issues/14#issuecomment-384152643

--
Envoyé de mon appareil Android avec K-9 Mail. Veuillez excuser ma brièveté.

Will close this as implemented. Note that you can also add an empty group in the format:
- group:
    name: emptyregulargrp
    members:


closeRow() 'Out of Memory'

On debugger mode, everything is working perfectly.
But, on non-debugger mode, when the following command is encountered, app freezes for a while and 'out of memory error is displayed.
rowMap[`${secId}${rowId}`].closeRow();
Packages
    "react": "16.0.0",
    "react-native": "0.50.4",
    "react-native-navigation": "^1.1.300",
    "react-native-swipe-list-view": "^0.4.7",

Error

Turns out there was way more console.log() in my project.. :rofl:

Hah glad it's all sorted!

i have same problem,what is the solution？


Fix discard changes glitch and first-run glitch

Checklist before merging

[X] I added an appropriate entry to CHANGELOG.md

Closes #267
Closes #313 (I'll leave a comment in the ticket)

As per #313, I'll let @jluethi check that it works as expected.
I confirm that the bug described https://github.com/fractal-analytics-platform/fractal-web/issues/267#issue-1866739610 is fixed.
I'm trying to reproduce the bug that Joel showed us, but I'm not sure it is the same. Here's a reproducible procedure

Collect fractal-tasks-core tasks
Create a workflow, add the create-ome-zarr-multiplexing task, and select it.
Open the "Image Glob Patterns / Arguments list" accordion, and add one item to the list.
Do not click "save changes"
Open the "Allowed Channels / Argument Properties" accordion
Type a value for "key"
Click "Add property"
You'll get the "There are argument changes unsaved" modal

To avoid collecting all fractal-tasks-core package, one can create a dummy task and set args_schema to
args_schema.json

Some more info for debugging:
By adding MODE="development" in the appropriate env file, one can then head over at http://localhost:5173/sandbox/jsonschema and paste a JSON schema in the first text field to see something like

This does not include the save/discard logic, and then it's likely useless in this specific case, but I wanted to bring it up so that @zonia3000 is aware of it.

I'm trying to reproduce the bug that Joel showed us, but I'm not sure it is the same. Here's a reproducible procedure

I've fixed this and potentially some similar ones. Some buttons (like the "Add property" one) missed the type="button" attribute, causing the form to automatically submit and then triggering the pending changes modal.
I've also displayed the error message in case of duplicated argument properties. It was currently silently logged in the console.

I'm trying to reproduce the bug that Joel showed us, but I'm not sure it is the same. Here's a reproducible procedure

Collect fractal-tasks-core tasks
Create a workflow, add the create-ome-zarr-multiplexing task, and select it.
Open the "Image Glob Patterns / Arguments list" accordion, and add one item to the list.
Do not click "save changes"
Open the "Allowed Channels / Argument Properties" accordion
Type a value for "key"
Click "Add property"
You'll get the "There are argument changes unsaved" modal

I confirm this issue is not present any more.

I also agree with the small error message for an already-present key:

I've fixed this and potentially some similar ones. Some buttons (like the "Add property" one) missed the type="button" attribute, causing the form to automatically submit and then triggering the pending changes modal.
I've also displayed the error message in case of duplicated argument properties. It was currently silently logged in the console.

Simultaneous comments ;)
Once again: I confirm the behavior is as expected, nothing to add from my side.


Feature: Enhance User's Records

User's records save the user's operations result. It is necessary because users are able to launch tracking tasks asynchronously, which has the potential to fail.
By recording the operations of users, we can easily know how users spend credits and whether users execute the tasks correctly.

I did it.


Upgrade sqlite to v3.34.1

One of our customers asked to upgrade to latest approved version of sqlite that is being used by other Microsoft products, e.g. same version that ships in latest Windows 10 (winsqlite3.dll).
The process as follows:

obtain SQLite (recommended version 3.34.1) from https://www.sqlite.org/tmp/sqlite-win10-all-3340100.zip
extract on top of the current version
run tests
commit

There's one sketchy moment here:
https://github.com/microsoft/cpp_client_telemetry/pull/806/commits/3070a5ece565e5cb5a15bd8a7ddd156ea77eddf2
The official snapshot is obviously compatible with vs2019 compiler (used for building Win 10 SDK). But is not well-received by slightly older vs2017. We have to support both. Well, one cannot really do
#if SQLITE_4_BYTE_ALIGNED_MALLOC

because SQLITE_4_BYTE_ALIGNED_MALLOC is not a number.
So the fix is:
#ifdef SQLITE_4_BYTE_ALIGNED_MALLOC
``
instead of `if`

Android runner is not feeling so good today (unrelated to my PR though).


Write numbers as numbers

Updated mocha test/example.js as well.

https://github.com/chuanyi/msexcel-builder/issues/49
I opened this as an issue.
Looking forward to this update

@protobi
Do you know how to add formula format as well like =(A1+ A2)?

@dcrystalj you need to to do a manual calculations
sheet.set(col, row, 1 + 4)
I do not think there is a way to do any calculations on cells that are already filled

@mattwilsn I need to have formula so others can make some easy changes in excel later. I saw it is possible in exceljs with value type Excel.ValueType.Formula. For me is quite hard to change whole lib. That is the reason why I am asking for help here

@dcrystalj I know it's been a while, but did you every found a solution to write function with this lib?

@Kerry-G i changed library :-1:

why not merging this PR after so many commits ?


docker-compose hang when pulling this plugin

I ran docker-compose up and then when viewing logs, container logs stopped when pulling or downloading this plugin. Not sure why, this just happened to me recently.

Without an error message or logs we can't do anything.

@istian @LukeTowers
I have a similar issue... Composer sometimes totally hangs when pulling in google/apiclient which is a dependency of this package. Maybe the reason is that we are pulling in 2.0@RC? https://github.com/rainlab/googleanalytics-plugin/blob/master/composer.json#L20
Why RC? Release candidate? Version 2.0 seems to be stable for a long time now. Can we just remove it?

@acasar feel free to make a PR to remove the RC tag from that dependency

@LukeTowers done: https://github.com/rainlab/googleanalytics-plugin/pull/75


Specific assembly exception

Hi, when I invoke the BeginRequestTime method of an NTPClient object I get this exception:
"This assembly should never be loaded at runtime, and should only be referenced from other portable class libraries. Please ensure your application references a platform specific assembly."

It looks like your reference to the Yort.NTP dll is incorrect (wrong DLL referenced).
That error occurs when you've referenced the PCL dll from your app. The PCL dll should only ever be referenced from other PCL projects, your main app/website etc should reference the DLL for the nearest non portable DLL (i.e the full .Net 4 version for example).
The Nuget package should add the correct references for you.
Are you using the Nuget package?
What type of project do you have/which framework are you targeting/

I'm using Yort in 3 different project, SL 8.1, WinRT 8.1 and UWP apps. I'm using the NuGet package, but the only package I'm able to find on NuGet it's Yort.Ntp.Portable.
At this moment, I've downloaded the source code and imported it in my project but I would like to integrate Yort through the NuGet package

Does this occur for all three projects, or just one or two?
Can you check the references?
The SL8.1 project should reference Yort.Ntp.WPSL.dll
The WinRT and UWP should both reference Yort.Ntp.dll but in the lib\netcore451 folder under wherever the nuget package contents are stored on your machine.
Nothing should reference anything in lib\portable-net45+win+wpa81+wp80

Hi,
Did you manage to check the references?

Hi,
I'm sorry but I've been kinda busy at work, while I'm using Yort for a personal project. I'll keep you updated asap I have checked the references

No problem, I know how that is :)

Ok, here are the references:

RT project references Yort.Ntp, path ...\packages\Yort.Ntp.Portable.1.0.6\lib\portable-net45+win+wpa81+wp80\Yort.Ntp.dll

SL project references Yort.Ntp.Portable, path ...\Yort.Ntp.Portable.1.0.6\lib\wp81\Yort.Ntp.WPSL.dll

UWP project references Yort.Ntp.Portable, path (I think, properties from Visual Studio are empty, so that's from project.lock.json) lib/netcore451/Yort.Ntp.dll

Maybe the NuGet packages directives for RT are wrong?

Hmmm odd. I just tried a brand new UWP project and a brand new WinRT 8.1 project.
The UWP and Windows WinRT 8.1 projects reference the assembly in the netcore451 folder, which should be correct, they don't reference the portable one like you have - I'm not sure why you're getting those references.
Also tried it with an SL8.1 phone app, and it references; lib\wp81\Yort.Ntp.WPSL.dll - so also not the portable one.
The WP WinRT 8.1 project did reference the portable assembly, so I'll need to figure out how to update nuget package to do the right thing there.
If you remove and re-add the package does that help?
What version of nuget do you have installed?

I've removed-added the package many times and nothing has changed. NuGet is v. 3.4.3. Visual Studio is 2015 v. 14.0.25123 Update 2
A brand new WinRT8.1 project of mine references ...\portable-net45+win+wpa81+wp80\Yort.Ntp.dll

Weird. I have the same versions but seem to get different behaviour. I'll try to do more testing when I get some time.
You should be able to fix the problem temporarily by manually changing the references.

No problem, I wish to help you so I can use the NuGet package instead of the source

Hi,
Does your RT project target 8.1 or 8.0?

Also is your RT project a 'phone RT' project?

I've pushed a new copy to nuget that might fix it, but I can still only reproduce the issue on a WPA8.1 project, the others appear to be fine. Let me know if the updated version helps.

My project targets 8.1 and it's a phone project, not Universal. I'll try the new package asap

Hi, any luck with using the new package?

Hi, sorry for taking so long to answer you. First of all, after the update of NuGet package to v 1.0.7 my SL project won't compile anymore. All the classes from the Yort.Ntp namespace are ambiguously located in Yort.Ntp and Yort.Ntp.WPSL dll's, both of them figure in the references section of my SL project.
In addition, my WInRT project compiles, but when try to use the class NtpClient, this exception is thrown:
Could not load file or assembly 'Yort.Ntp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Just Yort.Ntp dll is referenced in my RT project.

Hi, sorry for taking so long to answer you. First of all, after the update of NuGet package to v 1.0.7 my SL project won't compile anymore. All the classes from the Yort.Ntp namespace are ambiguously located in Yort.Ntp and Yort.Ntp.WPSL dll's, both of them figure in the references section of my SL project.
In addition, my WInRT project compiles, but when try to use the class NtpClient, this exception is thrown:
Could not load file or assembly 'Yort.Ntp, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Just Yort.Ntp dll is referenced in my RT project.

Thanks for getting back to me. I'm at work now so unfortunately it will be later tonight my time (NZ) before I can look further. It definitely still sounds like you're getting bad references though. I'll get back to you when I know more.

Hi,
I found a problem with the Nuget package with regards to WPSL and .Net 4.5 projects.
I've pushed a new package to fix that. I wasn't able to reproduce the RT problem, but possibly the package changes will help anyway. I created a new solution with a WPSL8.1, WinRT8.1 and WinRTPhone8.1 project and applied the updated package - all of them compiled and actually retrieved times from the internet.
Please give the new package a try when you have time and let me know if it works.

Hi, sorry again for taking all this time to answer you.
NuGet package 1.0.9 solved all the problems mentioned above. Closing the issue, thank you.

Excellent, thanks for reporting the issue and letting me know the last update fixed it.


Thorium-Hero to replace suspected catsxp manifest v2 based on brave,  catsxp who dared to cowardly act in a disgusting way to ban me in an abusive, dictatorial, unjust way without explanation which reinforces the doubts and questions and accusations against this anonymous browser closed source who refuses to admit that he copies brave's code

Hello, I had respectful relations with the developer of the web browser catsxp :
https://www.catsxp.com/
I asked him to fix a crash bug on a certain site on my windows 7 32 bits and catsxp fixed the crash problem, I thanked him and it encouraged me to politely ask him to add the native blocking feature of heavy ads crypto mining present in chromium stock, catsxp developer could have just ignored my request or deleted my message but what causes suspicion is that he banned me from the forum just for suggesting a vital improvement present in chrome, edge browser and chromium based browsers !!!
I saw catsxp flags, there are flags linked to an advertising network, I don't know if this code linked to ads is copied from brave browser, all this is weird and suspicious and not transparent especially after my unfair ban......
and catsxp only accepts messages on its forum after a preliminary examination and catsxp does not have a facebook page, twitter, whatsapp, physical address...and catsxp refuses to admit that it takes the code from brave browser which is very suspicious and weird.....
so here is my suggestion for the magnificent Mr @Alex313031 please: make a new browser named Thorium-Hero based on the source code of brave browser because brave browser is open source and brave is the only chromium browser in the world to support manifest v2, we know that brave browser's ad blocker is not open source so we hope for a compilation of brave browser's source code with the famous ublock origin ad blocker who will remain a supporter of the manifest v2 and add the feature that does not exist in brave and catsxp: add the native heavy ads blocker to block crypto mining heavy ads at the source for a security consideration, I think it will make Throium Hero even more popular and simply the best browser in the world and of all time!
brave has an ad blocker that is not open source so we don't know if brave will partner with companies in the future, and let some ads filter through, and brave has recently installed a vpn without users' consent, and catsxp is not open source and can be pressured by the government to spy on people and catsxp has suspicious flags linked to an advertising agency in addition catsxp unfairly banned me when I talked about introducing the native heavy ads blocker which is very suspicious .....
i use catsxp out of obligation because it is the only browser for windows 7 that uses a recent chromium kernel but when i buy a new modern laptop in sha Allah, i would like to use Thorium browser and avoid catsxp and brave who have illogically and incomprehensibly removed the essential native heavy ads blocker function, thank you very much!
**
Here
explanation of the native heavy ads blocker feature that we would like to be added to Thorium Hero based on the brave browser manifest v2 code:
there is an interesting and strange thing, I personally did several tests and comparisons withcatsxp ,  brave, opera, cromite,  ungoogled chromium, ecosia web browsers... .
these browsers and brave and catsxp are incapable of blocking heavy ads and cannot activate the native function of heavy ad blocking and anti crypto currency mining useful especially after the transition to manifest v3 and the ad blockers will become less powerful,
i go to https://heavy-ads.glitch.me/ and heavy ads are not blocked !
probably blocking heavy ads does not work on these web browsers maybe because they don't like google services and features , except stock chromium browser from woolyss site, chromium can block heavy ads, also also edge browser can block heavy ads....
so unfortunately this takes away a lot of the interest and relevance of other browsers based on chromium if they can't block heavy ads especially with the arrival of manifest v3 :
https://chromium.woolyss.com/
https://heavy-ads.glitch.me/
(Ensure chrome://flags/heavy-ad-privacy-mitigations is Disabled and click reset)
https://blog.chromium.org/2020/05/resource-heavy-ads-in-chrome.html
https://github.com/johnivdel/heavy-ad-intervention
We hope our beloved Cromite will be adble to block natively heavy ads and potentiel crypto currency mining, thank you !
this article which explian this revolutionary feature :
https://blog.chromium.org/2020/05/resource-heavy-ads-in-chrome.html
"Chrome will limit the resources a display ad can use before the user interacts with the ad. When an ad reaches its limit, the ad's frame will navigate to an error page, informing the user that the ad has used too many resources."
this site can test this feature :
https://heavy-ads.glitch.me/
(Ensure chrome://flags/heavy-ad-privacy-mitigations is Disabled and click reset)
the github of this feature
https://github.com/johnivdel/heavy-ad-intervention
i peronaly tested , chromium browser of woolyss, and microsoft edge browser can unload heavy ads when we using this test site :
https://heavy-ads.glitch.me/
(Ensure chrome://flags/heavy-ad-privacy-mitigations is Disabled and click reset)
but cromite, catsxp,  ungoogled chromium, opera, brave, ecosia....can"t unload heavy ads natively, we are talking about the native ad blocker integrated into chromium activated by default without the need of adblock extension addon like ublock origin , so we shoud first disable adblock extensions addons before testing this feature !
**
"Heavy Ad Intervention Explainer
Background
A small fraction of ads on the web use an egregious amount of system resources. These poorly performant ads (whether intentional or not) harm the user’s browsing experience by making pages slow, draining device battery, and consuming mobile data (for those without unlimited plans).
In these egregious cases, the browser can unload the offending ads to protect the individual’s device resources. This is a strong intervention that is meant to safeguard the user’s resources with low risk because unloading an ad is unlikely to result in loss of functionality of the page’s main content.
Motivating Use Cases
Examples of observed ad behaviors that are intended to be discouraged:
Ads that mine cryptocurrency
Ads that load large, poorly compressed images
Ads that load large video files before a user gesture
Ads that perform expensive operations in javascript, such as decoding video files, or CPU timing attacks"

Don't use catsxp it's chinese and closed source. If you want a solid Windows 7 browser then use Supermium it's open source just like Thorium. And Use ublock origin with it.

Thanks so much for your advices :) 💯 🥇
When I had Windows 10, I refused to install catsxp because we don't know the identity of the developer, where he lives and if he can resist the pressure of the government that likes to spy....
but since my laptop crashed, I use my old eee pc from 2012 and I can't watch streaming videos because of low cpu freeze lag.....
I have to download, fdm does not work on my favorite streaming platform so I have to use stream recorder extension which recommends us to use the latest version of chrome i.e. the latest version of chromium to avoid possible bugs, yes supermium and thorium legacy are very good but do not use the latest version of chromium kernel so having catsxp in reserve is useful:
https://www.hlsloader.com/
being Chinese software does not necessarily mean it is suspicious software, one of the Thorium maintainers is Chinese and he is nice and a trustworthy person, and the developer of the magnificent Cat-catch extension is nice and a trustworthy person and his extension is open source and life saver allowing to download videos and preview videos with vlc or potplayer:
https://github.com/xifangczy/cat-catch
the Chinese are intelligent and are dominating the world so in our life, we can not exclude Chinese software, just catsxp seems suspicious catr not open source and he banned me, maybe because catsxp plans to broadcast ads (lots of ads flags) and my request thwarts their plans....in any case the native ad blocker of catsxp does not block all ads, I tested it....
in any case in the flags of catsxp, there are flags related to ads and I disabled them and catsxp must explain and give us a physical address of their company, or catsxp afraid that brave will discover their secret that they took the code from brave? what is the license of brave browser? can thorium hero be inspired by brave's code?
brave already integrates ublock origin in a special short list, so my request focuses on restoring the original code of heavy ads blocker native disabled by brave and casxp, yes i discovered new fantastic browsers compatible with windows 7 and use the latest version of firefox on windows 7: r3dfox and luminafox, the problem is that with the open in vlc extension, i am forced to keep firefox based browsers open because of the child process, while for chromium browserrs, we can close the chromium browser and enjoy vlc while saving resources in my old eee pc

@trimechee @Sp0kzz I have the thorium-legacy repo, with builds that support XP - 8, based on Supermium patches. It is behind on version though.
Both thorium-legacy and the regular thorium repo will re-add MV2 code when the time comes that they remove it, so don't worry.

Great !! Thank you so much Mr Alex :)
in the future i hope i will get a new windows 11 laptop so our dream please, if it is technically possible and it does not tire you, we hope Thorium-Legacy which supports manfest v2 will be compatible with windows 10 or windows 11, because i saw in the issues of Supermium browser people talking about some bugs of Supermium in windows 11 ! so Supermium seems to be compatible with windows 11 os and we hope our beloved Thorium legacy will be too compatible with windows 10, thank you very much :)

Hi Mr @Alex313031, just to say I remember you told me months ago that you often use the famous Stream Recorder extension:
https://www.hlsloader.com/
I installed this extension from the chrome store, it works well then recently, I could no longer download a video from a streaming site and the developer advised me to use the version of Stream Recorder from the microsoft edge store because chrome policy prohibits decrypting hls encrypted videos while edge store apparently allows it....
so just to inform you that it is better to use the edge store version of Stream recorder which is more powerful than the chrome store version, and hence the importance of considering adding edge store support to our beloved Thorium browser, or at least advising Thorium users of sites or means to manually install edge store extensions in crx format and favor them over more restrictive chrome store extensions....
Thorium installs by default ublock origin developer edition, maybe it will be a good idea to install by default the edge store version of Stream Recorder because it is the best download extension in the world and it is indispensable in our life and replaces paid IDM!

Here the official link :
https://www.altextension.com/stream/index.html
https://microsoftedge.microsoft.com/addons/detail/altstream-recorder-hl/lmnlleihgiilhajakklebcmgacmmbngj

@trimechee have you tried using Live Stream Downloader extension instead? It too stopped working but the dev fixed it.

@KickMultistream I spoke several times with Mr Chandler who is ultra kind and generous and who helped me a lot and advised me and fixed several bugs including this bug I was talking about, Live Stream downloader can download separate audio and video streams but can't merge them, Cat catch extension use external service ffmpeg online to merge audio and video, and the Stream Recorder enigma manages to merge audio and video internally without external service or local program, imagine I just asked the developers of Live stream downloader and Cat catch about this difference in operation and so we hope they will be able to merge audio and video in the future internally like Stream recorder does....

@trimechee your best bet is to maybe install the extension on edge then locate its folder at C:\Users%username%\AppData\Local\Microsoft\Edge\User Data\Default\Extensions. Copy it somewhere (on desktop for example) Then enable developer mode on thorium then "load unpacked" and choose the folder of the extension that yoy copied. (the folder that contains manifest.json and the other files).

Great!! Thank you so much for your precious help Mr @KickMultistream  :) 💯 🥇
from what I remember, the only reliable way to install edge extensions in chromium browsers is to download ungoogled cromium and then use the open source extension recommended by ungoogled chromium which allows you to install extensions from the chrome store and the edge store, I installed catsxp in my windows 7 os and which in theory allows you to install edge store extensions but I did not succeed, maybe there is a hidden catsxp flag to activate.....
but now you gave me this tip and I thank you :)
The most important thing I think that Thorium we hope will continue to allow you to install crx extensions outside the stores far from the censorship and abusive control of certain stores....
in any case the Stream Recorder version for edge was updated on September 15, while the last update on chrome store is in July, so the edge version is definitely better, and in the more I heard and it is to be confirmed, chrome store requires money for developers to put their extensions on the chrome store?
I am now  talking with the developer of Live stream downloader asking him to go take a look at the developer console mode of stream recorder to see how this extension achieves the feat of merge audio and video without external service, same for the Cat catch extension, I encouraged the developer to find a way to merge audio and video without using ffmpag online of Cat catch :
https://ffmpeg.bmmmd.com/
because the developer told me my cpu is probably too old and does not support SMID instructions of ffmpeg online so I can no longer unfortunately use ffmpeg online to merge audio and video from certain hls encrypted sites....
but fortunately Cat-catch allows us to preview videos with potplayer or vlc without needing to download which is useful in my eee pc windows 7 32 bits because html5 video web browsers are heavy and the video freeze lags in web browsers but not in potplayer....

if Stream Recorder does updates, I'm not going to bother the friendly Stream Recorder developer every time to send me a custom zip link of the extension version for microsoft edge store that supports hls decrypt, so I went digging in catsxp browser forum to see how to enable microsoft edge store extensions support and I managed to install edge extensions!!
here is the procedure, we should execute this as administrator:
catsxp settings
get started
run as administrator
startup parameters
--enabled-microsoft-brand
restart catsxp
I remember that months ago, Mr @gz83  asked me to bring proof that catsxp browser allows us to install microsoft edge browser extensions, and now I provide this proof :)

Thank you for providing this information.
CatsXP seems to be based on Brave? I think this browser can install extensions from the Edge app store, which should be a function inherited from Brave.
By the way, I should have asked you if catsxp is really open source software. But it has been a while and I am not sure.
@trimechee

Hi Mr, I am embarrassed to talk about catsxp browser, I do not want to be ungrateful, the developer of stream recorder asks us to use the latest version of chrome to avoid bugs and catsxp is the only web browser on windows 7 os 32 bits to use the recent chromium kernel 129, catsxp has a crash on an information site and the developer of catsxp was kind enough to fix this bug, it encouraged me to politely ask him to activate the internal adblocker of chromium which blocks heavy ads, crypto mining .... and I was surprised shocked by the reaction of catsxp forum who blocked me without any explanation!
catsxp could answer me that it refuses to activate the heavy ad blocker that I find essential because the manifest v3 adblockers are not very powerful, and brave also deactivated the internal heavy ad blocker and uses its own ad blocker but catsxp and brave can use these 2 ad blockers at the same time, there is no conflict.....
I do not accuse them but all this is very suspicious, the good news is that these 2 web browsers allow the use of ublock origin manifest v2....
so even if these browsers intend to broadcast their own ads, ublock origin will block their ads because we use catsxp and brave for ublock origin manifest V2.....it is incomprehensible......
catsxp developer says in the forum that catsxp uses its own internal certificate and it does not pay for a standard certificate because it costs money....
I do not accuse him of anything but yes in sha Allah i have a new windows 11 laptop, i will not use catsxp anymore, because now i use it by necessity on my winodws 7 os because chromium kernel 129 very recent....
i have posted several messages on the catsxp forum and each time, my message must be approved beforehand in order for it to be published, and catsxp does not have a physical address, all this leaves me perplexed, the anti virus analysis of softpedia says catsxp is safe but i remain circumspect, in comparison we know the real name of the developers of our beloved Thorium browser, it is a guarantee of trust, catsxp wants to be discreet because apparently it takes the code of brave? i found several features of brave in catsxp....
i have a question: why our beloved Thorium legacy browser does not use chromium kernel 129 please like catsxp for windows 7 32 bits?

I won't say much about catsxp until I've actually used it and gotten to know it better.
What version of Thorium chooses as the next major version is Alex's decision, and I have no right to interfere with his decision.
In addition, regarding issues with Thorium versions that are outdated, please check the FAQ for this repo, which is located in the //docs directory.

Yes of course, it is Mr Alex's decision and it is wise and sensible I do not dispute it :)
I just asked this question out of curiosity, I assume the chromium lts version is more stable, in addition it seems Thorium legacy is based more and more on the supermium code, so we would first have to convince the developer of Supermium Mr @win32ss of the merits of my idea to use the latest chromium kernel in the great browser Suprmium :)
and what do you personally think of my idea of a new Thorium-Hero brand based on the brave code?
criticisms of brave were and are numerous:
a developer said that there were hang freeze lag in brave and he analyzed this behavior and discovered that the brave ad blocker had a serious bug that has been fixed since this discovery....
others criticize the brave update service in the background which has an administrator privilege and too much power and brave can install anything on our computer without us realizing it....
there was also controversy over brave's vpn installed without the explicit consent of users, and controversy over crypto affiliate links .....
brave browser is open source without its ad blocker, and chromium is taking a worrying turn with the domination of google and its unilateral decisions against the opinion of developers: ublock origin says it cannot disable dns prefetch in chromium by design, the dictatorial manifest v3, extensions prohibited outside the chrome store .....
is it worth the worth investing development efforts on chromium controlled by the behemoth google whose goal is to distribute ads? even the reader mode is disabled in chrome ....
recently, news says that the project to delete cookies has been canceled by google, google has good sides for example android is free while windws 11 is paid, we can install apps outside the play store while the apple store forbids it, but the fact that we can not activate energy saver on desktop computer, and we can not increase the session store interval in chromium, memory saver enabled only after 2 hours idle ..... probably because google wants a fast web browser regardless of power consumption, all this is scary and makes us fear the worst :(
i think brave is the current and future success, the usa department of justice is trying to dismantle google for dominant position .... google in lawsuit against java concerning the API and risks heavy penalty .... i do not bury google, the world needs a strong google to compete with the greedy apple but these dark auspices make us fear the worst on the end of google, and chromium

i will speak honestly, the chinese government forces chinese companies to spy on users, it is with pain and sorrow and lamentations that i reluctantly installed castxp only because it is compatible with my windows 7 and the fact that catsxp banned me and exercises prior control over comments in the forum reinforces the suspicion that catsxp is perhaps linked or cooperating with the chinese government who likes to spy on everyone, hence the need for a new democratic independent alternative to catsxp, no need for development, just copy brave's code and remove unnecessary stuff like crypto stuff, brave vpn, background update service and enable ublock origin manifest v2 by default .....
chromium is under the domination of google's arbitrary decisions and brave has the courage to oppose google and make a courageous decision to keep manifest v2, brave is better than chromium, brave become popular, usa government trying to break up google for abuse of dominant position, unless chromium breaks free from google, brave is the best web browser with firefox

Please try to minimize or avoid discussing political issues unrelated to Thorium and other unrelated products in issues. I know you want to make Thorium browser better, but ultimately how Thorium browser will develop still depends on Alex to decide.
@trimechee

Mr gz83 is is not political, closed browsers may ave backdoors, malware, hidden ads..... you asked me if catsxp in open source and i explain you catsxp is maybe suspicious hence the my suggestion  to make a demecratic transparent alternative to catsxp, I know you are Chinese, sorry for talking about that but my last answer was skipped which displeased me that's why I talked about that..... end of my intervention and Mr gz83 , bravo and congratulations for your efforts to contribute to Thorium awesome project

The reason why I suggest you reduce or avoid discussing political issues and other unrelated products is that some users who hold opposite positions to you or users of these products may upload your or our comments to other platforms, which makes it extremely easy for Thorium Browser to be "attacked" (referring to slander, abuse, etc.) by others.
In addition, Alex and I have made it clear many times that Thorium will try to continue to support MV2, so don't worry.
At this stage, Thorium can still achieve full support for MV2 through enterprise policies or by adjusting some codes (Google actually did not fully switch to MV3 until version 131), and MV2 will not be completely abandoned by Google until the end of Q2 in 2025, so please rest assured for the time being.
@trimechee

Ok ok sorry, i delete my comments about eventual relation between catsxp and certain gouvernment :)


Image service implementation

I like the idea of Rust CRI implementation, and want to help in it :D
Is there any implementation plan/architecture description?
If no - i suggest using sled for internal storage, this is fast embedded kv database, which is pretty stable
What type of PR is this?

/kind api-change
/kind bug
/kind cleanup
/kind dependency-change
/kind deprecation
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:
Which issue(s) this PR fixes:

Special notes for your reviewer:
Does this PR introduce a user-facing change?
None

I like the idea of Rust CRI implementation, and want to help in it :D

Nice, that's wonderful to hear! :heart:

Is there any implementation plan/architecture description?

Not yet, but are you interested in contributing to some? :) We could start with a fresh documentation page inside the repository. WDYT?

I reduced scope of this PR, because currently i stuck at some bits of multiple transports support, feel free to merge this as partially finished work, i will commit more transports soon :D

Can you please rebase and resolve the conflict? :innocent: Fixing the CI would be necessary now too.

@CertainLach do you mind giving this a rebase?


Invalid link from Wiki to GODOT Android Plugin Documentation

Godot version
not applicable
Plugin version
not applicable
Phone information
not applicable
Issue description
Fix the broken link Android plugins: https://docs.godotengine.org/pt_BR/stable/tutorials/plugins/android/android_plugin.html
Using this new one: https://docs.godotengine.org/en/stable/tutorials/platform/android/android_plugin.html
Steps to reproduce
Access Android Plugin Wiki
At

Understanding the Plugin

Check the link described in the sentence:
We strong recommend you read how to create Android plugins: https://docs.godotengine.org/pt_BR/stable/tutorials/plugins/android/android_plugin.html
Click on the link and verify the result: "Page not found"
Additional context

Ty we will fix it

Thank you! Fixed


Animation Not Smooth

I am using this animation in Android Nougat. However the animation is not smooth throughout the image.
It happens in half the image and then just jumps to complete the animation.

The animation starts from the specified LoadingView Animation effect but the scale remains 1 and in a fraction of sec it takes over !!

I am using this in Android Nougat. It occur in half of the image. but in previous android version it is working fine. Any suggestion to resolve

did you find any solution?

Well it started working smooth after the next android update.
On Fri, Jun 8, 2018 at 4:48 PM Miteshmakwana73<EMAIL_ADDRESS>wrote:

did you find any solution?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SaeedMasoumi/FAB-Loading/issues/6#issuecomment-395731022,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATsKYTp5YWhPXVDFxeQ2ztlPnK_Akjb2ks5t6l2QgaJpZM4LykLb
.


fix the documentation regarding metamapings

say that a mapping of the form
{id} a :Student
is wrong, since  {id} has no prefix, and
:{id}  :prop  {myprop}
{myprop} will be regarded as an object
https://babbage.inf.unibz.it/trac/obdapublic/wiki/ObdalibObdaTurtlesyntax#Turtlesyntaxfortargetinmappings

already fixed


KAFKA-17924: Remove bufferpool-wait-time-total, io-waittime-total, and iotime-total

In the before-and-after snapshot on JMC, you can see that bufferpool-wait-time-total, io-waittime-total, and iotime-total have been removed.
Before:

After:

JIRA: https://issues.apache.org/jira/browse/KAFKA-17924
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

The change looks good to me. I am waiting for CI to succeed.

Ah! one more thing, can you please add these metrics to the upgrade documentation at https://github.com/apache/kafka/blob/trunk/docs/upgrade.html#L25

Ah! one more thing, can you please add these metrics to the upgrade documentation at https://github.com/apache/kafka/blob/trunk/docs/upgrade.html#L25

Great point. Thanks! I've updated it.
It looks like this:


Check mounted before using setState asynchronously to avoid errors.

Should fix #149

@frankmer Thanks a lot


Media controls disappear when device is turned off

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Current Behavior
I set up my TV as a media player, and had the controls such as turn on/off, volume up/down and pause/play on my dashboard with 'collapse media controls when off' turned off, and it was working fine. I could turn it on and off, control the volume and so on. But yesterday, the controls vanished and only worked when the TV was turned on. The collapse option is still not enabled, but the controls are unavailable when the device is turned off.
Expected Behavior
Expected the controls to be available always, as I never enabled the collapse option. It was working fine, until recently, Nothing to do with the recent HA update as it happened within the same version.
Steps To Reproduce
No response
Context
YAML state

Environment
- Browser: Chrome
- HA Version: 2023.5.4
- Mushroom: 2.7.1

Anything else?
No response

Hello. Which integration do you use for your TV?
Also, can you provide the full state when your media player is off and when it's on?

I use the LG WebOS Smart TV integration. Sorry, I’m relatively new to Home Assistant, by the state do you mean the one in Developer Tools?

When it’s off:
source_list:

Live TV
assumed_state: true
device_class: tv
icon: mdi:television
friendly_name: Living Room TV
supported_features: 24381

When it’s on:
source_list:

ASTRO
Amazon Alexa
Apple TV
Apps
Disney+ Hotstar
HBO GO Asia
HDMI 1
HDMI 2
HDMI 3
Home Dashboard
Live TV
Media Player
Netflix
Prime Video
Room to Room Share
Sports Alert
Twitch
Web Browser
YouTube
YuppTV
iQIYI
sooka
wetv
assumed_state: true
device_class: tv
icon: mdi:television
friendly_name: Living Room TV
supported_features: 24381
volume_level: 0.09
is_volume_muted: false
source: HDMI 1
sound_output: tv_speaker

Is it a custom integration or not?
If yes, you should open an issue on the integration repo. Otherwise, it's a ha core issue.

No, it’s an official integration


Return original time string from title attribute if it is set

After cut off time has passed, original time string should be restored.

Thanks!

v1.5.3 was just released with this features. 🍻


Fix Bugzilla 22293: opCast!bool for Nullable

The second opCast overload is necessary to allow built-in implicit conversions (e.g., mutable to const) to be performed explicitly via a cast expression. Nullable.opEquals depends on this behavior.

src/text/json/ParserMarker.d(31,29): Error: none of the overloads of template `std.typecons.Nullable!(const(JSONParserRange!(JSONLexerRange!(string, LexOptions.noTrackLocation)))).Nullable.opCast` are callable using argument types `!(immutable(Nullable!(JSONParserRange!(JSONLexerRange!(string, LexOptions.noTrackLocation)))))()`
/buildkite/builds/zaphod-3/dlang/phobos/buildkite-ci-build/distribution/bin/../imports/std/typecons.d(3558,10):        Candidates are: `opCast(T : bool)() const`
/buildkite/builds/zaphod-3/dlang/phobos/buildkite-ci-build/distribution/bin/../imports/std/typecons.d(3564,16):                        `opCast(T, this This)()`
  with `T = immutable(Nullable!(JSONParserRange!(JSONLexerRange!(string, LexOptions.noTrackLocation)))),
       This = Nullable!(const(JSONParserRange!(JSONLexerRange!(string, LexOptions.noTrackLocation))))`
  must satisfy the following constraint:
`       is(This : T)`

If I'm reading this right, the cast that's failing is Nullable!(const(T)) to immutable(Nullable!(T)), which is an unsafe type coercion.
I think maybe the right solution here is for the compiler to fall back to built-in cast behavior when no suitable opCast overload is present. Forcing every library author who overloads opCast to handle edge cases like this one is not really reasonable.

Further examination reveals that the D compiler will let you cast between more or less any two types as long as they're the same size:
struct A { ubyte[8] x; }
struct B { int* p; }

static assert(A.sizeof == B.sizeof);

void main()
{
    A a;
    auto b = cast(B) a;
}

So I guess the correct template constraint for the second opCast overload here would be is(This : T) || (This.sizeof == T.sizeof)...as crazy as that sounds.

LDC build error appears to be transient (didn't happen the first time); force-pushing to re-run.


Focus is lost when dismissing modal dialog in custom tree commands

Testing #78101

Install GitLens
Navigate with keyboard to "Compare master (working) with..."
Enter, Reveals quick open picker
ESC to cancel
Focus is lost

Compare this with Git tree:

Also occurs in the old custom tree. Moving to August.

@octref As long as https://github.com/microsoft/vscode/issues/78310 gets fixed, I've put some changes into GitLens to resolve this. Although it would be nice if focus was automatically restored to where it came from after the quickpick closed.

@chrmarti this seems to be a more general problem with all quick picks. When you open a quick pick, focus isn't returned to the last focused item when is is exited.

/duplicate #44722


feat(future): add flatMapP function

Add Future#flatMapP for continuing a Future chain by returning a Promise instead of another Future. This makes working with async functions inside of futures a little more clean.
I just ended up wanting this while working today and added it in. I'm not sure whether it fits with your vision of what you want the API to look like, but it does make Futures a bit easier to use with async functions, so user doesn't have to wrap any async functions in a flatMap with a call to Future.create.

Interesting idea, definitely worth more thought.  I'll be out of the country for a few weeks, so might not be too responsive.
I'd say try it out for a few weeks as a typescript module augmentation and see how you like it.

Sounds great! Have fun on your trip :).

Have you tried this out?  How has it worked out for you?

I think I actually think I ended up going with straight promises instead of futures, so I didn't get to test it out very much. I hope you had a nice trip!

Got it, thanks for following up.
Futures are definitely my personally least used abstraction.  Guess that means that this needs more work. 😄

Going to close this for now, please re-open if you work on this again.


spotify-rise starts Spotify but it doesn't play music

~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04 LTS
Release:	16.04
Codename:	xenial

~$ spotify-rise
Running at 23-06-2016 22:28:35...
Wakey! Wakey! Good morning :D
Cannot find 'org.freedesktop.DBus.Properties.Get' in object /org/mpris/MediaPlayer2 at org.mpris.MediaPlayer2.spotify

I am using Ubuntu 16.04 with the latest Spotify <IP_ADDRESS> and Spotify Rise without any DBus issue.
Please can you provide some more debug info...
Are you using Kubuntu or KDE desktop?
Which version of Spotify are you running (click your username > settings > scroll down > about)?
Do you have the latest Spotify Rise version?
When Spotify is playing a song, what's the output of:
qdbus | grep -i spotify

Possibly Spotify is not registering MPRIS. You may be able to fix this by modifying Spotify Rise, replacing instances of org.mpris.MediaPlayer2.spotify with something similar to what the above command outputs in your case... perhaps something like com.spotify.qt.

No, I use Canonical's Ubuntu with Unity.

I have the latest Spotify Rise version.
~$ qdbus | grep -i spotify  org.mpris.MediaPlayer2.spotify

I see the issue now.
The following warning can safely be ignored or redirected to /dev/null as the relevant code is just using metadata to check for when Spotify has finished starting up:
Cannot find 'org.freedesktop.DBus.Properties.Get' in object /org/mpris/MediaPlayer2 at org.mpris.MediaPlayer2.spotify

I'm considering a smarter way to carry out this check, so I hope to update that code soon, but feel free to submit a pull request if you like.
I use shuffle mode with Spotify <IP_ADDRESS> and it works fine when given the URI of a track within a playlist:
spotify-rise -s -u spotify:track:41Uz23jubhxB8YREUHvueV

However, it appears normal play mode (no -s) is not working in conjunction with Spotify <IP_ADDRESS> - which I suspect may be the mode you were attempting to use. In that case, downgrading to Spotify 0.9 might work better for the reasons stated at the end of the Spotify Rise blog post about the DBus changes between Spotify v0.9 and v1: https://georgecushen.com/spotify-alarm-clock-ubuntu-linux

I have just released v0.3.0 of the script. It addresses this issue by offering much improved support for Spotify v1 as well as general improvements and updated documentation at https://github.com/gcushen/spotify-rise/blob/master/README.md .
Since Spotify v1 does not support playing playlists/albums via Dbus, you must provide the URI of a track (such as within an album). With shuffle mode active, rather than playing the specified track, it will randomly play a song from the track's parent album. Thus, partially working around the limitations of the Spotify v1 Dbus implementation. Otherwise, for playlist support, downgrading to Spotify v0.9 and specifying a playlist URI should work.


Add exports field to package.json in order to support moduleResolution node12/nodenext

🚀 Feature request
Current Behavior

When using "moduleResolution": "NodeNext", in your tsconfig it expects an "exports": ... field in package.json in order to resolve the package.
Otherwise:
Cannot find module 'fp-ts/Either' or its corresponding type declarations.ts(2307)
Desired Behavior
Importing to work.
Suggested Solution
Shove this in package.json:
  "exports": {
    ".": {
      "import": {
        "types": "./es6/index.d.ts",
        "default": "./es6/index.js"
      },
      "require": {
        "types": "./lib/index.d.ts",
        "default": "./lib/index.js"
      }
    },
    "./*": {
      "import": {
        "types": "./es6/*.d.ts",
        "default": "./es6/*.js"
      },
      "require": {
        "types": "./lib/*.d.ts",
        "default": "./lib/*.js"
      }
    },
    "./es6/*": {
      "import": {
        "types": "./es6/*.d.ts",
        "default": "./es6/*.js"
      }
    },
    "./lib/*": {
      "require": {
        "types": "./lib/*.d.ts",
        "default": "./lib/*.js"
      }
    }
  },

Tested it locally by putting that above "main" like in the example as seen in the TS 4.7 link below, seems to do the job.
The "./es6/*" or "./lib/*" parts are only needed for backwards-compatibility with the old import paths.
Who does this impact? Who is this for?
People wanting to use fp-ts with the new ECMAScript Module Support added with TypeScript 4.7.
Describe alternatives you've considered
Not using the new ECMAScript Module support feature.  🤷♂
Most NPM packages aren't updated to support this yet.
Additional context
TS 4.7 link: https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#esm-nodejs
Node.js link: https://nodejs.org/api/packages.html#package-entry-points
Your environment

Software
Version(s)

fp-ts
2.12.1

TypeScript
4.7.3

The above suggestion is mostly correct, but there's a caveat with the file extensions. Depending on the the value of the type field in package.json, Node will treat .js files either as CJS or ESM, while it will always treat .cjs file as the former and .mjs files as the latter.
To make Node happy we have to either:

Rename ./es6/index.js to ./es6/index.mjs and ./es6/*.js to ./es6/*.mjs
Add type: module and rename ./lib/index.js to ./lib/index.cjs and ./lib/*.js to ./lib/*.cjs
Add a package.json inside ./es6 with type: module (and for good measure do the equivalent in ./lib)

There's also the option of dropping CJS completely, adding type: module in package.json, and living a happier life.

I don't think the suggestion by @andreavaccari is currently applicable, since fp-ts isn't building ECMAScript Modules.
My suggestion would allow a user using ESM to load the ES6 version of fp-ts without issue. fp-ts does not need to use ESM itself to be compatible.
Though, to be fair, I don't think there isn't much of a difference between ES6 and ESM files. I believe it's just the internal import statements requiring extensions. And the package.json stuff with type: module. But I feel that's another issue entirely.

Updated my test fork to 2.12.3. (viell-dev/fp-ts)
Also I saw that #1525 also talks about exports stuff.
Not sure what that means for 2.x ESM support.
Is it planned for 3.x and thus not a concern for 2.x?

@viell-dev in v3 I'm using
{
  "exports": {
    ".": {
      "require": "./lib/index.js",
      "import": "./es6/index.js"
    },
    "./*": {
      "require": "./lib/*.js",
      "import": "./es6/*.js"
    }
  },
  "types": "index.d.ts",
  "typesVersions": {
    "*": {
      "*": [
        "./types/*"
      ]
    }
  },
  "sideEffects": false
}

So for backwards-compatibility in v2 would be
{
  "exports": {
    ".": {
      "require": "./lib/index.js",
      "import": "./es6/index.js"
    },
    "./*": {
      "require": "./lib/*.js",
      "import": "./es6/*.js"
    },
    "./es6/*": {
      "import": "./es6/*.js"
    },
    "./lib/*": {
      "require": "./lib/*.js"
    }
  },
  "types": "index.d.ts",
  "typesVersions": {
    "*": {
      "*": [
        "./types/*"
      ]
    }
  },
  "sideEffects": false
}

@gcanti I tried it and I'm getting: "Could not find a declaration file for module 'fp-ts/Option'."
After testing locally I've concluded that you will need to have the types sections under exports as well.
e.g.
{
  "exports": {
    ".": {
      "require": "./lib/index.js",
      "import": "./es6/index.js",
      "types": "./types/index.d.ts"
    },
    "./*": {
      "require": "./lib/*.js",
      "import": "./es6/*.js",
      "types": "./types/*.d.ts"
    },
    "./es6/*": {
      "import": "./es6/*.js",
      "types": "./types/*.d.ts"
    },
    "./lib/*": {
      "require": "./lib/*.js",
      "types": "./types/*.d.ts"
    }
  },
}

Ok, thank you, going to release 2.13.0-rc.3 with the fix asap

going to release 2.13.0-rc.3 with the fix asap

done

Looks great. 👍🏻

Nice, thank you for your help @viell-dev

I saw that the changes got reverted in 2.13.1 due to #1799 and similar issues. So I'm using a fork for my use-cases since I have need of fp-ts in projects where the types don't work without the exports field.


Calculator demo

Hello, I have added Calculator_Demo.py to hooman/demos folder.

Calculator_Demo.py does not use hooman, so not gonna add this to hooman demos


Add make_video utility to viz_utils

Motivation and Context
Instead of duplicating the process of making a video from sensor observations with overlays we'll provide a fairly general utility.
Based on #706
How Has This Been Tested
Local in Colab.
E.g.
    overlay_dims = (int(sim_settings["width"]/5), int(sim_settings["height"]/5))
    overlay_settings = [
      {
        "obs": "color_sensor_1st_person",
        "type": "color",
        "dims": overlay_dims,
        "pos": (10,10),
        "border": 2
      },
      {
        "obs": "depth_sensor_1st_person",
        "type": "depth",
        "dims": overlay_dims,
        "pos": (10,30+overlay_dims[1]),
        "border": 2
      },
      {
        "obs": "semantic_sensor_1st_person",
        "type": "semantic",
        "dims": overlay_dims,
        "pos": (10,50+overlay_dims[1]*2),
        "border": 2
      }
    ]

    make_video(
      observations = observations,
      primary_obs = "color_sensor_3rd_person",
      primary_obs_type = "color",
      video_file= "test_new_video",
      fps= int(1.0 / time_step),
      open_vid=True,
      overlay_settings = overlay_settings,
      depth_clip=1.0
    )

Produces a video (note this is choppy due to gif conversion):

Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

If gifs are so choppy, start using webp :P Looks good though.

May want to consider a silent boolean option to avoid printing. Otherwise, looks good.


New version: Mozilla.Thunderbird.Beta version 102.0b1

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.1 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

same issue as this https://github.com/microsoft/winget-pkgs/pull/62291#issuecomment-1140673245

/AzurePipelines run


Singleton not guaranteed to exist if called from Awake

The Singleton implementation uses eager instantiation, so it gets instantiated even if it doesn't actually get called -- that's just a c# purist problem. A more practical problem is that if it gets called from another Awake method, there's no guarantee it has been instantiated. You are rolling the dice.
This can be fixed by simply doing conditional (if null) instantiation in the Static Get method instead of in Awake.

Singleton has been a hot topic throughout the history of this repo, and, in fact, a version of it exists in our dev branch that works the way you describe: https://github.com/Microsoft/MixedRealityToolkit-Unity/blob/Dev_Unity_2017.2.0/Assets/HoloToolkit/Utilities/Scripts/SingleInstance.cs. This may be a good time to revisit our implementations.

I would agree @keveleigh, since the current implementation doesn't really match what we are calling it at all...

@keveleigh Definitely prefer this implementation.
@jamesashley1 I feel it makes sense to assume a MonoBehaviour-based Singleton will be present in the scene prior to being called, even if that's impure behavior. But it might help to name it 'MonoSingleton' or something.
A Singleton that extends ScriptableObject would probably be the best of both worlds - a pure singleton, serialized data and no instantiation headaches.

A Singleton that extends ScriptableObject would probably be the best of both worlds - a pure singleton, serialized data and no instantiation headaches.

Definitely like this idea, but we would also want something that can also inherit from MonoBehavior as well.

Fixed by #1160


Support asynchronous logging

It seems one cannot log runs to a single experiment asynchronously:
using MLJModels
using MLJBase
using MLFlowClient
using MLJFlow

logger = MLFlowLogger("http://<IP_ADDRESS>:5000", experiment_name="white moon")

X, y = @load_iris

using .Threads
model = (@iload DecisionTreeClassifier pkg=DecisionTree)()
nthreads()
# 5

@sync for i in 1:5
    Threads.@spawn evaluate(model, X, y; logger)
end

    nested task error: HTTP.Exceptions.StatusError(400, "POST", "/api/2.0/mlflow/experiments/create", HTTP.Messages.Response:
    """
    HTTP/1.1 400 Bad Request
    Server: gunicorn
    Date: Sun, 24 Sep 2023 20:35:24 GMT
    Connection: close
    Content-Type: application/json
    Content-Length: 95

    {"error_code": "RESOURCE_ALREADY_EXISTS", "message": "Experiment 'white moon' already exists."}""")
     Seems to me that the first time evaluate was spawned, an experiment was created (white moon), and then the other executions try to create an experiment with the same name, which mlflow is denying:
    {"error_code": "RESOURCE_ALREADY_EXISTS", "message": "Experiment 'white moon' already exists."}""")

There is no strict limitation in MLFlowClient to explicitly disable concurrency as far as I can remember.

@deyandyankov  Could it be related with the way mlflow handles this pseudo-random names? Maybe they use the unix timestamp.

| was at least one experiment recorded?
Yes.
If we send a message to the service to create a new experiment, don t' we need to block logging until both the experiment is created and an experiment name is allocated?

Looks like mlflow does not (or at least at one point did not) support asynchronous actions: https://github.com/mlflow/mlflow/issues/1550#issuecomment-1024492066

In that case, we can generate the random names by ourselves, solving the naming problem you identified.

I'm not sure I follow. Perhaps I misunderstand the problem. Be great if you can post a PR to test your theory.

mlflow 2.8.0 was released with an experimental async logging for metrics, params and tags. Maybe we can take this again.
https://mlflow.org/news/2023/10/29/2.8.0-release/index.html

Thanks for flagging the update!
I'm guessing this won't "just work" and that we need to buy into some new messaging, or something?

This is not already fixed by mlflow. Including the response you posted, I'm getting four experiments with the same name (that must be impossible).
I suggest that we can handle something like a queue in MLFlowClient to avoid this kind of issues, or simply disallowing concurrency in our project.

Julia fully supports ansynchronous programming: https://docs.julialang.org/en/v1/manual/asynchronous-programming/

I have asked @OkonSamuel to have a look into this. He has expertise in this area (but is also quite busy),

Adding more information:
mlflow is not fully accepting async operations. I can't say this is completely true, but sometimes it reports three experiments with the same name. This must be impossible by its own documentation. This could be not something related to us, but can be solved using channels (not sure).

mlflow is not fully accepting async operations

Did you mean "`mlflow is now fully accepting async operations?


Fixed typo in setting-your-coexistence-and-upgrade-settings.md

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/7631.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@dstrome PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@dstrome Hope you are well. Wanted to follow up here to see if there is an update? Please let us know if there is anything we can do to help. Thanks.

@dstrome Hope you are well. Wanted to follow up here to see if there is an update? Please let us know if there is anything we can do to help. Thanks.


Integration tests are not running anymore properly and override local_settings.py

Bug description
At first the integration tests didn't run because they need write access to dojo/settings/local_settings.py and dojo/settings/settings.py. Because I didn't know which user I did chmod ugo+w for these files. We need a documentation what is the best way to deal with this.
Running the integration tests twice in a row doesn't work anymore, because dojo/settings/local_settings.py gets overriden with USER_PROFILE_EDITABLE=Frue. When you want to run the integration_tests again, the initializer complains with NameError: name 'Frue' is not defined
Third problem is overriding dojo/settings/local_settings.py. I had some local settings for my development environment in there, that are now gone. I don't want to copy that file all the time from another place when running different kinds of tests.
Environment information

Operating System: Ubuntu 20.04 with docker compose
DefectDojo version (see footer) or commit message: most recent dev branch

@dsever Please can you have a look at this? I think these issues have been introduced with #5275

Just seen #5401 which already addresses one of my three issues.

For your local test you can just promote dojo/settings/ to be writable to anyone on your local disk, because in other hand as is in the docker compose, it uses your local permissions.

Sorry @StefanFl  I had impression that it is already fixed by: https://github.com/DefectDojo/django-DefectDojo/pull/5397/commits/7f1f2dc9da80a72c2ef70df12a1cf3f822858b16
But looks like author decided to rollback this fix...So I can fix it right away

At first the integration tests didn't run because they need write access to dojo/settings/local_settings.py and dojo/settings/settings.py. Because I didn't know which user I did chmod ugo+w for these files. We need a documentation what is the best way to deal with this.

It's hardcoded to user 1001, but https://github.com/DefectDojo/django-DefectDojo/pull/5432 allows for a build arg to configure the desired uid (probably 1000 :-))

@dsever If you turn USER_PROFILE_EDITABLE into a System_Setting we can use a more normal testing approach.

Bug description
At first the integration tests didn't run because they need write access to dojo/settings/local_settings.py and dojo/settings/settings.py. Because I didn't know which user I did chmod ugo+w for these files. We need a documentation what is the best way to deal with this.
Running the integration tests twice in a row doesn't work anymore, because dojo/settings/local_settings.py gets overriden with USER_PROFILE_EDITABLE=Frue. When you want to run the integration_tests again, the initializer complains with NameError: name 'Frue' is not defined
Third problem is overriding dojo/settings/local_settings.py. I had some local settings for my development environment in there, that are now gone. I don't want to copy that file all the time from another place when running different kinds of tests.
Environment information

Operating System: Ubuntu 20.04 with docker compose
DefectDojo version (see footer) or commit message: most recent dev branch

Won't log I server

@dsever If you turn USER_PROFILE_EDITABLE into a System_Setting we can use a more normal testing approach.

If tests are only criteria then we can use System_Settings(Selenium)/API to change the parameters. But there should be clear a logic/rule what is in the System_Settings and what will be preserved in file, for the sake of users.
To be honest I would like to see as much as possible within System_Settings, like SMTP, IDP setup,...to be able to change the most of things without  need to respin django/celery pods.

Yeah, we had some discussions about it and I think the conclusion was that the low level sysadmin / devops settings should be in settings.dist.py and the settings for defect dojo admins / staff users should be in System_Settings. But it's not a 100% clear definition. It's possible to write a unit test instead of an integration test. The unit test can work against the view method and check if it rejects the edit when disabled. And you could check the html response to see if the fields are disabled or if there is a text on screen. With unit tests you can override settings via the @override_settings decorator.

@valentijnscholten I'm aware of that, and I wanted to use it in same way how @StefanFl  is using patches for his work on authentication, but keep in mind integration test are executed remotely, and it is not possible to patch configuration remotely (only by API).
That means, Selenium part needs to be added to unit tests as well.
I would be really happy, if user interface can be testes as part of unit test :)

For now you could just call the backend views from the unit tests and check the response code and html. I do the same in test_import_reimport.py

Ok, I will try to find some time slot to try it out.

Will be solved with #5611

Not sure whether it is related; but I was trying to run DefectDojo in my local environment with some model changes. Migrations kept failing with permission error and I had to add this line in Dockerfile.django along with other chown & chmod statements. Adding this line also helped in running unit tests
chown -R ${uid} /app/dojo/db_migrations && \