VANILLA_VERSION not working after latest Pufferfish changes

Describe the problem
I'm running a server with the container shown below, however the if statement that checks for a valid version inside deployPufferfish is getting triggered.
Container definition
services:
  server:
    # Releases: https://github.com/itzg/docker-minecraft-server/releases
    image: "itzg/minecraft-server:latest"
    ports: # port definitions here
    environment:
      TZ: "Europe/Amsterdam"
      MEMORY: "8G"
      USE_AIKAR_FLAGS: "true"
      EULA: "TRUE"
      # https://github.com/itzg/docker-minecraft-server/blob/master/scripts/start-deployPufferfish
      TYPE: "PUFFERFISH"
      VERSION: "1.18"
      # Builds at: https://ci.pufferfish.host/job/Pufferfish-1.18/
      PUFFERFISH_BUILD: "50"
      # more config here...
    volumes: # definitions here...
    tty: true
    stdin_open: true
    restart: "unless-stopped"

Container logs
minecraft_server | [init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 11 1000 1000 4096 Mar  5 17:29 /data'
minecraft_server | [init] Resolved version given 1.18 into 1.18
minecraft_server | [init] Resolving type given PUFFERFISH
minecraft_server | [init] ERROR: Pufferfish server type only supports versions 1.18 or 1.17, use PUFFERFISH_BUILD to select the the correct build 47 => 1.18.1, 50 => 1.18.2 etc

@shotah please look into this

With DEBUG enabled, the regex processing of VERSION seems to assume X.Y.Z
+ '[' 1 '!=' 1.18 ']'
+ '[' 1 '!=' 1.17 ']'

I think it's best to remove the regex processing in that script, doesn't
appear to be used anywhere else in that way.
On Sat, 5 Mar 2022, 20:39 Geoff Bourne, @.***> wrote:

With DEBUG enabled, the regex processing of VERSION seems to assume X.Y.Z

'[' 1 '!=' 1.18 ']'
'[' 1 '!=' 1.17 ']'

—
Reply to this email directly, view it on GitHub
https://github.com/itzg/docker-minecraft-server/issues/1401#issuecomment-1059820978,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADFQHIYHD6MUM5IX5FYXWB3U6OZ6ZANCNFSM5P74TDYA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I agree this is an issue with using 1.18 vs latest or 1.18.2. Would need to look at a better way to split the version and test for just "1.18"

But forcing people to select 1.17 or 1.18 will confuse people as well and cause breakage.

I had this same issue when using BUILD_FROM_SOURCE=true and everything else the same as suggested in this issue. I tried setting VERSION to "LATEST" and 1.18
minecraft_server | [init] Resolving type given PUFFERFISH
minecraft_server | [init] ERROR: Pufferfish server type only supports versions 1.18 or 1.17, use PUFFERFISH_BUILD to select the the correct build 47 => 1.18.1, 50 => 1.18.2 etc```

It was fixed by removing build from source.

@shotah feel free to PR the adjustment to your original code. I merged @bram-pkg's PR a for now since I realized there was a backward compatibility issue with those already using TYPE=PUFFERFISH

But forcing people to select 1.17 or 1.18 will confuse people as well and cause breakage.

It can be clarified in docs that this is a branch, not Minecraft version.

I think in the case of this docker image, less abstraction is good.
Modifying input too much gets confusing.
Documenting and giving a message on boot that 1.18 branch is being selected should be enough info.

I think there is enough use case to create a vanilla_major_version that can be sure to be correct for 1.18 and 1.18.2. Let me see what I can come up with.

Let me know your guys thoughts on this? https://github.com/itzg/docker-minecraft-server/pull/1405


ELD: highcharts v8.0

Type: Missing
Summary:
ELD: highcharts v8.0
Details:
Project: Platform Core
Comp: highcharts v8.0
File: /highcharts-8.0.0/samples/highcharts/studies/gpx-height-profile/demo.js
Line: 32
Missing attribution for creative commons license in reference to code
Resolution:
The code following this comment is based on sample code in a user posting on the cited stackoverflow.com webpage, as found at https://stackoverflow.com/questions/27928/calculate-distance-between-two-latitude-longitude-points-haversine-formula (see specifically https://stackoverflow.com/a/33090122).
Affected definitions:

highcharts<PHONE_NUMBER>45a074e465c34bdadf97eeb54c9ce9

@capfei Hi, can you resolve this conflict? Thanks.

@AE49 resolved

Closing #3741, #3743, and #3744 in favor of #3745 since it has all of the changes of the previous PRs.


⚠ Itaca Gallery has degraded performance

In 9e41d53, Itaca Gallery ($SITE_TCGLR) experienced degraded performance:

HTTP code: 200
Response time: 5111 ms

Resolved: Itaca Gallery performance has improved in 4c30814 after 5 minutes.


Support for expanded export statements

It'd be handy to support the expanded export syntax as proposed in https://github.com/leebyron/ecmascript-more-export-from (and implemented via babel's export-extensions plugin

For example:
export Thing from './Thing';

Indeed these are on our radar! We're tracking things over in #940 if you want to subscribe to that issue

ah, awesome!


/r/Android AppStore - Check Boxes

When you tap on the pyramis on the top right (Filter icon?), the Check Boxes that appear do not work in combination.
For example, if you check; PHONE & FREE & PAID
...logically, you would think it would mean that you'd see all apps that are for Phones, whether Free or Paid, but not for Tablets, because you did not check that box.
But what happens, is that it only cares about the last box checked and ignores the others.  So since I checked them in the order shown above, it showed me Paid apps only and it showed me apps for both Phone and Tablet.
Without these functioning properly, it just makes looking through apps too much work, since you have to do it all over again for each one, or you're stuck scrolling through every single app.
Also, I don't recall seeing APPS & GAMES Check Boxes, to further refine it.  The labels in the left slide out don't help when trying to refine searches using the Filters.

Thanks for pointing the issue with the checkboxes, will look into that!
As for a Apps and Games filter, would making the search restricted to whatever category from the left drawer the user is in a good alternative to a new filter? I.e. when in a subcategory of Games, hitting search could restrict the search to just apps in that subcategory

Thank you for asking.
In my humble opinion, it wouldn't be intuitive to have to shift between the left slide out and the right slide out to accomplish one task, so I would have those boxes as Filters on the right as well.
What you could do with the ones on the left slide out (should you leave them there as well), is to have them show "All Apps" or "All Games", which I'm sure is what they do now. :-)
I.e., the ones on the left Slide Out would ignore the Filters (right word?) on the right Slide Out.
This is also why you should add "Apps" and "Games" Check Boxes on the right Slide Out.  Because the "Apps" and "Games" ones on ghe left should ignore the Filters on the right.
In my humble opinion, I think it would be very cool to set up a separate Check Box on the right that would be labeled, "Remember".  This would make it so that if checked, the app would remember the Filters that were applied when the app was closed.  Since lots of people will apply the same Filters 9 out of 10 times, it's a nice, convenient time saver that adds that little bit of extra polish to the app. :-)
But remember, tapping "Apps" or "Games" on the left always overrides the Filters!  If you want, rename the left items to "All Apps" & "All Games".  This will let users know right in the label that they ignore any set Filters (they shouldn't uncheck the Filters though).
They (Apps & Games) are handy to leave in there (left slide out), because if someone is looking for a specific app and maybe it was accidentally misfiled as a "TABLET" app and they have "PHONE" checked, then they will have the convenience of being able to open the left side, tap "All Apps" and be able to see for sure if you have the app or not (should it come to that).
This is why it is important to keep the ones on the left separate, as an "Override" function.  Then, if they want to go back to a Filtered View, they could just open up the right side again and tap "Refresh" (that should exist too).
Btw, did I mention in my other report about how anytime a Slide Out is open, the Back Arrow should close it and not the app?
Also, you may wish to consider a "Tap Back Arrow Twice to Exit" option, to prevent accidental app exits.  Those are so darn annoying!  Hahaha!
Please feel free to ask me any questions you'd like.  I do this for a living anyway (help Android develepors with app design, bug testing, test changes, write reports, make recommendations, help problem solve, write Docs, Helps, FAQ, etc.).  I'm sure I've worked on at least a couple of apps you know.  I think I've been succesful at it, because I'm thorough and I've always had a knack for seeing needs (in whatever type of scenario) that aren't normally thought of, but will occur and so they're already taken care of in the alpha and beta stages.
I'm not saying any of this to brag.  I'm letting you know what I do and that I'm good at it, because I'm offering my time to you free, because I'd like to use the app and these are the things that I genuinely believe will make it a better, more intuitive app and if you have anything that you'd like an outside, objective opinion on, or are looking for suggestions, I just wanted you to know that I'm available (no charge) and you can contact me directly if you ever wish to at:
giantwaffle AT zoho DOT com
I'm sure you know how to put the above address together.
Thank you again for your work! :-)

@GiiantWaffle, I cannot seem to reproduce the issue you had with the filter checkboxes - PHONE & FREE & PAID cannot be simultaneously checked, because you can only choose one of either FREE or PAID. Being able to tick both would be the same as ticking neither, since an app is always either free or paid 😄

...logically, you would think it would mean that you'd see all apps that are for Phones, whether Free or Paid, but not for Tablets, because you did not check that box.

Upon further consideration I believe this is the intended functionality: ticking PHONE indicates that you want all apps that are available for phones, regardless of whether or not they are compatible with tables. I think it makes sense: if I am looking for a WEAR app, for example, I would still want wear-compatible apps to show up even if they are compatible with different devices.

But what happens, is that it only cares about the last box checked and ignores the others. So since I checked them in the order shown above, it showed me Paid apps only and it showed me apps for both Phone and Tablet.

Ticking PHONE, FREE and PAID will end up only selecting PHONE and PAID. All apps tagged PHONE and PAID will show up, including those tagged TABLET.

This is also why you should add "Apps" and "Games" Check Boxes on the right Slide Out. Because the "Apps" and "Games" ones on ghe left should ignore the Filters on the right.

Not sure what you mean here - the idea is to use the left drawer to narrow down by category, then use the filters to find apps with specific traits. They are meant to be used in tandem, not ignore the other.

In my humble opinion, I think it would be very cool to set up a separate Check Box on the right that would be labeled, "Remember". This would make it so that if checked, the app would remember the Filters that were applied when the app was closed. Since lots of people will apply the same Filters 9 out of 10 times, it's a nice, convenient time saver that adds that little bit of extra polish to the app. :-)

This would be a nice feature - I will open a new issue for it.
Also, just to reply to my own comment,

As for a Apps and Games filter, would making the search restricted to whatever category from the left drawer the user is in a good alternative to a new filter? I.e. when in a subcategory of Games, hitting search could restrict the search to just apps in that subcategory

Looks like the app already does this! Handy.
Thank you for your feedback!


Configure GitHub actions to be opt-in for contributor forks

Problem description
When a github user forks this repo in order to contribute to it, there are several github actions that are configured to run on a schedule. They will noisily fail (sending email alerts to the contributor) if they are not properly configured.
So a new (or existing) contributor will sync their fork and then get a lot of action failures until they either configure actions or turn them off.
Suggestions for a fix
Something like:
 jobs:
   sync_latest_from_upstream:
     # Only run this job for events that originate on downstream repos.
-    if: github.repository != 'pulumi/docs'
+    env:
+      github_token: ${{ secrets.GITHUB_TOKEN }}
+    if: github.repository != 'pulumi/docs' && ${{ env.github_token != '' }}
     runs-on: ubuntu-latest
     name: Sync latest commits from upstream repo

List of github actions in this repo and their on: block:
for f in *.yml *.yaml; do echo -n "$f: "; cat "$f" | yq .on | jq --compact-output; done
add-to-project.yml: {"issues":{"types":["opened","reopened"]}}
add-triage-label.yml: {"issues":{"types":["opened","reopened"]}}
automerge-workflow.yml: {"check_suite":{"types":["completed"]},"pull_request":{"types":["labeled","unlabeled","synchronize","opened","edited","ready_for_review","reopened","unlocked"]},"pull_request_review":{"types":["submitted"]},"status":{}}
bucket-cleanup-testing.yml: {"schedule":[{"cron":"0 15 * * *"}],"workflow_dispatch":null}
bucket-cleanup.yml: {"schedule":[{"cron":"0 15 * * *"}]}
build-and-deploy.yml: {"push":{"branches":["master"]}}
check-lighthouse.yml: {"schedule":[{"cron":"0 15 * * *"}],"workflow_dispatch":null}
check-links.yml: {"schedule":[{"cron":"0 15 * * *"}],"workflow_dispatch":null}
check-search-urls.yml: {"schedule":[{"cron":"0 15 * * *"}],"workflow_dispatch":null}
customer-managed-deployment-agent-cli.yml: {"repository_dispatch":{"types":["customer-managed-deployment-agent"]}}
esc-cli.yml: {"repository_dispatch":{"types":["esc-cli"]}}
generate-provider-docs.yml: {"repository_dispatch":{"types":["tfgen-provider","non-resource-provider"]}}
pr-closed.yml: {"pull_request":{"types":["closed"]}}
pull-request.yml: {"pull_request":{"branches":["master"]}}
pulumi-cli-dev-version.yml: {"repository_dispatch":{"types":["pulumi-cli-dev-version"]}}
pulumi-cli.yml: {"repository_dispatch":{"types":["pulumi-cli"]}}
scheduled-test.yml: {"schedule":[{"cron":"0 8 * * *"}],"workflow_dispatch":{}}
scheduled-upgrade-programs.yml: {"schedule":[{"cron":"0 6 * * *"}],"workflow_dispatch":{}}
testing-build-and-deploy.yml: {"push":{"branches":["testing/hugo-retirement-2"]}}
update-search-index.yml: {"schedule":[{"cron":"*/60 * * * *"}],"workflow_dispatch":null}
scheduled-upstream-sync.yaml: {"schedule":[{"cron":"0/15 * * * *"}],"workflow_dispatch":null}

@sean1588 can you pick this up where Chris left off?


Catch ios_base::failure exceptions in ReadContent

filename may be a directory (the latest Emacs lsp-mode sometimes sends a textDocument/didOpen message with an empty filename) or the file cannot be read. Note on Linux, a directory can be open(2)ed and the easiest way to catch this is to use a try catch.
There is some issue with the latest lsp-mode and it should be fixed.
The querydb thread should use a try ... catch ... because if it dies, the whole process dies. I am not familiar with the code base, but I think the check has its own merit.

If querydb thread dies the right thing to do is either kill the process or try to intelligently restart it. It owns quite a bit of state so the cquery may end up in a weird state.


Init Backend - POC

Porting over the POC code done initially here: https://github.com/HaywardMorihara/editarrr-poc
Note that I removed the *.sh in the .gitignore - is that alright? Do we need that blanket rule? I'm wondering if that's why ci/ got removed in the develop branch
I will add more documentation as I go (more about things work, how to develop, etc.)

Currently I have *.sh in the gitignore as a safety precaution to prevent me accidentally commiting scripts that shouldn't be. You currently need to run git add -f /path/to/file.sh to force add a bash script.
Might not be necessary though. Depends on how many people will be writing experimental bash scripts on this project :rofl:

Currently I have *.sh in the gitignore as a safety precaution to prevent me accidentally commiting scripts that shouldn't be. You currently need to run git add -f /path/to/file.sh to force add a bash script.
Might not be necessary though. Depends on how many people will be writing experimental bash scripts on this project 🤣

Ahh okay, so you aren't opposed to having bash scripts in the project, you just want it to be deliberate.
Would you mind if I made it so that certain directories like ci/ circumvent the rule?


A simple walkthrough of File Metadata

I'd like to see the score on PNG files in Windows Explorer. I took a look at File Metadata, and it looks quite complex. A walkthrough of how to use it to show this PNG info would be helpful. Is there a more simple 3rd party software to show this info in Explorer?

Here's a walkthrough: https://www.thewindowsclub.com/enable-tags-for-unsupported-files-windows


keeps changing my themes by itself

This theme doesn't have any code that can be related to what you're describing. See the How Do I Write a (Good) Bug Report section of the CONTRIBUTING guide for suggestions on how to submit a more actionable bug report.


Provide API to trigger save of untitled flow

Hello,
I am from the Azure ML extension team. Just for some context, we are implementing commands in the extension which opens an Untitled YAML file with a template which the user can edit.
We are looking into whether it's possible for an extension to prompt users to save their untitled file before executing a command. The desired flow in our extension would be:
User right-clicks on an untitled file in the editor and invokes the "Azure ML: Create Resource" command.
The extension prompts the user to save the file if it is Untitled and/or if it is a file with unsaved changes (dirty).
The extension proceeds to execute the command with the saved file.
Today we can mimic the file save (workbench.action.files.saveAs) but it doesn't return the URI for us to then reference in our command. We're wondering whether there are different options / APIs that we may be able to use to achieve the above flow.

I think it somewhat makes sense that workbench.action.files.saveAs would return the URI of the target the user picked, though this is a somewhat internal workbench command and we should maybe have a more official command like vscode.save or vscode.saveAs.
//cc @jrieken

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!

This landed via https://github.com/microsoft/vscode/issues/178713


Linking error for Training Tools on Windows with VS 2015

After making VS solution with next steps:
cd tesseract
cppan
mkdir build
cd build
cmake ..
I want to build text2image project, but build failed with errors:
text2image.obj : error LNK2019: unresolved external symbol "struct tesseract::ParamsVectors * __cdecl GlobalParams(void)" (?GlobalParams@@YAPAUParamsVectors@tesseract@@XZ) referenced in function "void __cdecl `dynamic initializer for 'FLAGS_bidirectional_rotation''(void)" (??__EFLAGS_bidirectional_rotation@@YAXXZ)
pango_font_info.obj : error LNK2001: unresolved external symbol "struct tesseract::ParamsVectors * __cdecl GlobalParams(void)" (?GlobalParams@@YAPAUParamsVectors@tesseract@@XZ)
tlog.obj : error LNK2001: unresolved external symbol "struct tesseract::ParamsVectors * __cdecl GlobalParams(void)" (?GlobalParams@@YAPAUParamsVectors@tesseract@@XZ)
common_training.lib(commandlineflags.obj) : error LNK2001: unresolved external symbol "struct tesseract::ParamsVectors * __cdecl GlobalParams(void)" (?GlobalParams@@YAPAUParamsVectors@tesseract@@XZ)
text2image.obj : error LNK2019: unresolved external symbol "public: __thiscall UNICHARSET::UNICHARSET(void)" (??0UNICHARSET@@QAE@XZ) referenced in function _main
...
tesseract.exe was built and work fine.
text2image project has references on tesseract project and dependencies from ..\Debug\tesseract305d.lib

This is a known issue. See https://github.com/tesseract-ocr/tesseract/pull/595#issuecomment-268362325

This issue is about Leptonica and other libs, but in my case problem seems is with resolving symbols from tesseract main library that itself built fine, Not only in text2image but also in other Training Tools, for example ambiguous_words:
ambiguous_words.obj : error LNK2019: unresolved external symbol "public: __thiscall WERD_CHOICE::WERD_CHOICE(char const *,class UNICHARSET const &)" (??0WERD_CHOICE@@QAE@PBDABVUNICHARSET@@@Z) referenced in function _main
ambiguous_words.obj : error LNK2019: unresolved external symbol "public: __thiscall WERD_CHOICE::~WERD_CHOICE(void)" (??1WERD_CHOICE@@QAE@XZ) referenced in function _main
ambiguous_words.obj : error LNK2019: unresolved external symbol "public: bool __thiscall tesseract::Dict::NoDangerousAmbig(class WERD_CHOICE *,class GenericVector *,bool,class MATRIX *)" (?NoDangerousAmbig@Dict@tesseract@@QAE_NPAVWERD_CHOICE@@PAV?$GenericVector@UDANGERR_INFO@@@@_NPAVMATRIX@@@Z) referenced in function _main

text2image cannot be built with cmake on windows.
Let me try  to build tess with your steps. (I'll report here.)

Works for me. What version of tesseract are you using?
I've already fixed issue you report on master, but not on other branches.

There is some other details. To make cmake work I download gtk+ from
https://dl.hexchat.net/gtk-win32/vc14/x86/gtk-Win32.7z
set PKG_CONFIG_PATH=D:/gtk/win32/lib/pkgconfig
after cmake I also add paths
D:\gtk\Win32\include
and
D:\gtk\Win32\lib
in text2image project

I am using last sources from github from master

Oh, you probably have old cmake.
Which cmake version do you have?
3.6 is known to not work with tess right now (your errors).

Really, I have 3.6.2, I will try 3.7.1. Thank you.

Great! It was built. Thanks again.

I'll add an error message for cmake 3.6 (on cppan side).


feat: let user choose which pipette to do the Labware Position Check with

Overview
We had some protocols where we used both a single-channel pipette for eppendorfs and a multi-channel pipette for 364-well plates.  Each pipette used a different type of tiprack, but even then the calibration for one pipette would overwrite the other. This was a problem for the multi-channel pipette, since this overwriting would cause the pipette to clash onto the well wallsof the 364-well plates.
So, the workaround we had consisted of manually choosing to calibrate with the single-channel pipette first and then overwrite/correct that by calibrating the 364-well plate position with the multi-channel pipette. This worked perfectly since, as it was used on eppendorfs, it didn't matter if the single-channel pipette had a bit of an offset.
With the recent 5.0.0 update and also the API update, the clashing problem has almost gone away. But even now, if the offset calibration is a bit off (I guess that's the reason, at least) it still happens to a minor degree. However, we cannot use our workaround because the new app forces you to do the "Labware Position Check" with the pipette and labware it chooses. So, as of now, we can't adjust the position of the multi-channel pipette directly with the 364-wll plate, as we used to.
Implementation details
As an user, I would like to be able to choose the labware I want to use for the Labware Position Check of each pipette.

I have the same problem. @silvtal implementation details seem sensible.


HibernateRecordWriter should use org.hibernate.StatelessSession

The HibernateRecordWriter currently uses the Session API. It should instead use the org.hibernate.StatelessSession (or at least allow to use it in a configurable way) as a stateless session is better designed for bulk operations.

This introduced a regression when saving entities using Hibernate. Reverted in 91ceceb4c2351416f7740f022b1e10ffadbaf4ca.


NoScript plugin don't work on FF46

On FF46 noscript plugin produces folloing error:
Sourcing file: ~/.pentadactyl/plugins/noscript.js:246: SyntaxError: missing ] after element list
I have reimplemented the get() function a little patch (http://ix.io/yVV), I stack now with following error:
Sourcing file: ~/.pentadactyl/plugins/noscript.js:1: SyntaxError: redeclaration of let groupProto
My patch isn't realy good, I just wanted it bring to work again

I seem to be having the same problem with a stylish.js plugin (https://github.com/ervandew/vimperator-plugins/tree/master/plugin).  It worked great until FF46.  I am now getting the same "missing ] after element list" sourcing error and it no longer appears as a command.

This is because the Array Comprehension syntax changed in FF 46. Where before you would do, say, [X for (Y in Z)] now you do [for (Y of Z) Y].
After swapping all of the comprehension calls around, I'm getting an error missing variable name on line 314, so I'm investigating that. It seems to be an issue with destructuring assignment in array comprehensions, but we'll find out.
For more information on comprehensions in FF47+, see Array comprehensions and Generator comprehensions


Create structure Doc for Brazilian Portuguese

Bem vindo ao Hyperledger Fabric
O Hyperledger Fabric e uma plataforma para soluções de ledger distribuidas,
por uma arquitetura modular que oferece altos níveis de confidencialidade, resiliência,
flexibilidade e escalabilidade. Ele é projetado para suportar implementações conectáveis
de diferentes componentes e acomodar a complexidade e os meandros que existem
através do ecossistema enxuto.
O Hyperledger Fabric oferece uma arquitetura flexivel e extensível exclusiva
distinguindo de solucoes alternativas de blockchain. Planejamento para o
O futuro do blockchain corporativo requer a construcao de uma
arquitetura de código aberto. Hyperledger Fabric é o seu ponto de partida.
E recomendado para usuarios iniciantes começarem a passar por
:doc:getting_started secao para ganhar familiaridade com o Hyperledger Fabric
componentes e o fluxo de transação básica.  Uma vez confortavel, continue
Explorando a biblioteca para demonstrações, especificaçoes técnicas, APIs, etc.
.. note:: Se você tiver duvidas nao abordadas por esta documentação, ou se deparar com
problemas com qualquer um dos tutoriais, visite o :doc:questions
página para algumas dicas sobre onde encontrar ajuda adicional.
Antes de mergulhar, observe como o Hyperledger Fabric está criando um Blockchain para
o seu negocio:
.. raw:: html

.. toctree::
:maxdepth: 1
:caption: Table of Contents
index
Começando
Palavras_chave
tutoriais
ops_guia
referencia_de_comandos
aquitetura
Fabric-FAQ
ordering-service-faq
CONTRIBUINDO
glossario
releases
questoes
status
.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/

Ola Everton.  Benvindo ao Fabric.  Obrigado por contribuir com a documentacao.
Nao usamos Github para enviar solicitacoes.  Usamos Gerrit e JIRA.  Olha esta [pagina].(http://hyperledger-fabric.readthedocs.io/en/release-1.1/CONTRIBUTING.html)
Hay um grupo que concentra na documentacao and tambem um canal em RocketChat.

Thanks for the contribution! this is a read-only mirror. please read the contribution guide.

@mastersingh24 @ryjones
thanks for feedback.
but unfortunately you reacted as expected.
1 - @ryjones no item you sent speaks about translate documentation.
font: https://github.com/hyperledger/fabric/edit/release-1.1/docs/source/CONTRIBUTING.rst
or if you prefer in the black JIRA box:
https://jira.hyperledger.org/secure/BrowseProjects.jspa?selectedCategory=all&selectedProjectType=all&contains=translate
return 0 itens
2 - @mastersingh24 thank you for trying to speak Portuguese.
but Jire or Gerrit, only IBM members are accept.
see it:
https://gerrit.hyperledger.org/r/#/q/translate
( 11 itens, only Members IBM start PR and Commit )
does not contain anything about translations into other languages.
RocketChat is not documentation, Sorry.
out that this goes against the license to use.

  **_"Contribution"_** shall mean any work of authorship, including
  the original version of the Work and any modifications or additions
  to that Work or Derivative Works thereof, that is intentionally
  submitted to Licensor for inclusion in the Work by the copyright owner
  or by an individual or Legal Entity authorized to submit on behalf of
  the copyright owner. For the purposes of this definition, "submitted"
  means any form of electronic, verbal, or written communication sent
  to the Licensor or its representatives, including but not limited to
  communication on electronic mailing lists, source code control systems,
  and issue tracking systems that are managed by, or on behalf of, the
  Licensor for the purpose of discussing and improving the Work, _**but
  excluding communication that is conspicuously marked or otherwise
  designated in writing by the copyright**_ owner as "Not a Contribution."

watch out for companies,
Conclusion.
The "HL Fabric" Repository have 2 years of live, there is no policy on translation, nor for suggestion, so I'm sure you do not want it right?

@EvertonMelo  - actually, you only need to a Linux Foundation ID in order to use Gerrit, JIRA or even RocketChat.  There is an active documentation working group and I was suggesting using the RocketChat channel to let the folks there know that you are interested in translating the docs to Portuguese.  Feel free to reach out to me directly with any questions.  We are definitely interested in all contributions and translation is a great place to start

@mastersingh24
I already translated a page and my work was thrown away.
"We just got that way .."
(there is no translation policy)
you can have 1000 translation groups, where are the jobs they do?
send me the link please
or expose to them what they should do.
since they are leaning on projects doing NOTHING.

We only use Github as a read-only clone of our Gerrit repository.  We actually cannot accept PRs via Github.   Change requests can only be merged if they come in via Gerrit.  Here's the link to getting setup with a Linux Foundation ID and getting started with Gerrit.


Update to v0.14.0-rc2

I cherry-picked kl0tli's commit, but resolved the merge conflicts by setting dependencies to master

I'd like to leave out the Coercible superclasses and the removal of the Newtype class's methods for now, mostly because this change will require additional compiler changes due to the compiler having knowledge of the Newtype class.

Is this due to not wanting to hold up the v0.14.0 release?

Yes

I've added back in the wrap/unwrap members and removed the Coercible super class. However, I kept @kl0tl's other coerce functions as is.

CI passes now.

Can you update psa to 0.8.0 in package.json please? It's still using an older version, which is what's causing the raw JSON output in CI.
Also, I'm less sure about this approach - it seems weird to me to use Coercible for half of the conversions, but Newtype for the rest. I'd prefer to spend a bit more time exploring the design space before updating this library to make use of Coercible. Coercible is essentially a more powerful version of Newtype, since it can do everything Newtype can and more, so maybe that raises the question of whether Newtype should continue to exist? For example, we can now write:
un :: forall t a. Coercible t a => (a -> t) -> t -> a
un = coerce

ala :: forall f t a s b. Functor f => Coercible (f t) (f a) => Coercible b s => (a -> t) -> ((b -> s) -> f t) -> f a
ala _ f = coerce (f coerce)

The only reasons I can think of that we wouldn't do this is that type inference won't be quite as good since we don't have the functional dependency that the Newtype class has, and also since it's more power than you need in cases where you only want to unwrap one layer of newtypes. Really I think this is a significant enough change that it needs its own PR.

maybe that raises the question of whether Newtype should continue to exist?

Good point. I hadn't considered that... Could these functions be ported to safe-coerce then? And should removing the Newtype class be done now or done in the next breaking changes PS release?

I think these functions should exist in a separate non-core library first, and we can consider moving them into core after they've been used for a while and we have a better idea of how useful they are.

I'm not saying we should remove the Newtype class - I think if I had to decide right now I'd actually say we shouldn't remove it. I'm just saying I don't think we've yet explored the design space well enough to make a change like this for a library that so many other libraries depend on.

Ah, ok. That makes more sense. So, keep this library as it originally was (but updated to v0.14.0) and then explore the design space of this context in a separate non-core repo. Once that gets more mature, migrate that repo into core, correct?

Yes, exactly. The point of the exploration is to decide what to do next: we won't necessarily just migrate this other separate repo into core. We might decide that it supersedes Newtype, and replace the approach we currently have here with that one. Or alternatively, we might decide that it doesn't need to be in core at all.

The only reasons I can think of that we wouldn't do this is that type inference won't be quite as good since we don't have the functional dependency that the Newtype class has, and also since it's more power than you need in cases where you only want to unwrap one layer of newtypes.

It sounds like Newtype will still need to exist, if only to add those functional dependencies.

Not necessarily - I think it's possible that in practice, the lack of the functional dependency isn't an issue. If you always supply the newtype constructor as the first argument, which I would guess most people probably do, then both types are already determined by that argument, so the functional dependency doesn't give you any additional information.

In other words, creating a function like un but updating it to use Coercible?
un :: forall t a. Coercible t a => (a -> t) -> t -> a
un _ = coerce

Closing now that #24 was merged.


Unresolved External Symbol asmjit

hey, whatsup, I tried using blackbone in my project today, and after setting it up and trying to build it, i get this error message:
1>------ Build started: Project: rs2clientHooking, Configuration: Release x64 ------ 1>pch.cpp 1>main.cpp 1>main.obj : error LNK2001: unresolved external symbol "struct asmjit::X86RegData const asmjit::x86RegData" (?x86RegData@asmjit@@3UX86RegData@1@B) 1>C:\Users\Raiqu\source\repos\rs2clientHooking\x64\Release\rs2clientHooking.dll : fatal error LNK1120: 1 unresolved externals 1>Done building project "rs2clientHooking.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
would appreciate help,  thanks!

Solved

u need to define BLACKBONE_IMPORTS


Launching code/installing container on Windows

Hi installed Docker, VSCode and the  Visual Studio Code Remote - Containers.
I have WSL2 running, Ubuntu 20.04 which is the only (default) setup.
the Quickstart documentation says code . is the right way to start, but this has to be run from within WSL, so one has to do wsl first (or lauch from within a Linux shell).
However, then I run into another issue:
[2021-07-04T15:06:00.909Z] Remote-Containers 0.183.0 in VS Code 1.57.1 (507ce72a4466fbb27b715c3722558bb15afa9f48).
[2021-07-04T15:06:00.909Z] Start: Resolving Remote
[2021-07-04T15:06:00.921Z] Setting up container for folder or workspace: d:\mdeweerd\workspace\avadyconnect
[2021-07-04T15:06:00.926Z] Start: Check Docker is running
[2021-07-04T15:06:00.926Z] Start: Run: docker version --format {{.Server.APIVersion}}
[2021-07-04T15:07:08.480Z] Stop (67554 ms): Run: docker version --format {{.Server.APIVersion}}
[2021-07-04T15:07:08.481Z] error during connect: Get "https://<IP_ADDRESS>:2376/v1.24/version": dial tcp <IP_ADDRESS>:2376: connectex: Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu.

[2021-07-04T15:07:08.482Z] Stop (67556 ms): Check Docker is running
[2021-07-04T15:07:08.484Z] Docker returned an error code 1, message: Command failed: docker version --format {{.Server.APIVersion}}

Now, <IP_ADDRESS> is listed as the VirtualBock network card, and WSL is on  WSL is on <IP_ADDRESS>
Carte Ethernet VirtualBox Host-Only Network :

   Suffixe DNS propre à la connexion. . .  :

[...]

Carte Ethernet vEthernet (WSL) :

   Suffixe DNS propre à la connexion. . .  :

As WSL2 was not active initially, I am going to fully uninstall docker and reinstall it after reboot and see what happens.
Using netstat I could not find anything listening on a port 2375 of any of the IPS.

Uninstalling Docker and the older Docker Tools, rebooting, then reinstalling Docker, reboot and then wsl followed by code . and the rest of the procedure installed the docker container properly.
So it's important to have WSL2 before installing Docker to make things easier.
I am not closing this ticket, as I think that it's important to mention that code . has to be launched after wsl or in WSL2 terminal.

Stale, closing (limiting my issue backlog).


Fix running of tests

Fixed here> https://github.com/navikt/syfomotebehov/commit/8cc7355e9af40cd8a2e59c162dde842371fed46e


Avoid registering listener for channel state change

Calling notifyWhenStateChanged() on managed channel will cause accumulation of listeners and could potentially cause EOM in massive channel create/delete scenarios.
We can safely discard making this call since we keep channel's authentication stream active. Server state changes that effect authentication will reflect in authentication stream's onError() method as well. This provides more stable accounting as earlier tracking was sensitive to unrelated connection level state changes as well.

@bradyoo You might wanna try your scenario with this fix.

Oh this looks potentially interesting!

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/7233/
Test PASSed.

alluxio-bot, merge this please.

If this were to be needed to be cherry-picked to 2.1.1 would that be fine? @calvinjia, @ggezer

Yes it should be compatible.

alluxio-bot, cherry-pick this to branch-2.1 please.


Add files via upload

To check whether a number is Armstrong or not

Infix to Postfix conversion and evaluation


Clarify missing refactor error message

I didn't know about the external tool refactor. This is the error message that currently occurs. I think it might be helpful to clarify refactor is an executable and not a command line argument, a hint that can be refactored or other internal stuff.
hlint src/Log.hs
src/Log.hs:20:35: Warning: Redundant bracket
Found:
  (minLogLevel)
Perhaps:
  minLogLevel

1 hint

hlint src/Log.hs --refactor
hlint: Could not find refactor
Tried with: refactor

CallStack (from HasCallStack):
  error, called at src/HLint.hs:251:20 in hlint-2.2.2-JJ80rphq264GBRgLnOQWMf:HLint

Good idea! Since we are improving the message, perhaps we should say how to cabal install it in the message too?

Okay, what do you think of..?
[ "Could not find 'refactor' executable"
, "Tried to find '" ++ excPath ++ "' on the PATH"
, "'refactor' is provided by the 'apply-refact' package and has to be installed"
, "<https://github.com/mpickering/apply-refact>"
]

I personally am using stack instead of cabal and this install instruction could confuse me. So I would prefer a link. But feel free to change the message.
Btw. I didn't want to mess up the projects formatting. Is there a specific tool in use?

Thanks for the patch, looks good - probably best to avoid cabal vs stack as you have done.
I don't use any specific formatting tool yet, although I might do one day!


Split strings file

Splits Strings.lua to:

SystemStrings.lua - mandatory file which contains all system strings
Strings.lua - for user stirngs, such as level names, item names, weapon names, etc.

If Strings.lua contains same entry as was previously loaded from StringsSystem.lua, it will be overwritten. This way we maintain backwards compatibility with Strings.lua files which were already modded by users (there were already complaints on that).

Tested with new strings and systemstrings file : worked as expected. Approved.


Input restoration

Was looking over this code...
export function getInputValues() {
  const inputs = document.querySelectorAll('input');
  return Array.prototype.slice.call(inputs).map(input => input.value);
}

const inputs = document.querySelectorAll('input');
  if ($inputs && inputs.length === $inputs.length) {
    $inputs.forEach((value, i) => {
      const el: any = inputs[i];
      el.value = value;
      el.dispatchEvent(new CustomEvent('input', {detail: el.value}));
    });
  }

And a couple things came to mind:

The input selector won't pick up select menus or textareas
However, it will pick up radios and checkboxes, but the value property of a checkbox or radio typically isn't as important as its checked property
checkboxes and radios I believe likewise fire a change event rather than an input event
CustomEvent IIRC is not supported without a polyfill on IE11 or earlier. Probably not a big deal for development but might be worth mentioning in the README

@mattdistefano an you make a PR to update the logic?

@gdi2290 as I had the same requirement I implemented the required code today - see my pull request https://github.com/AngularClass/angular2-hmr/pull/34


Allow reason to be passed when mod deletes user information

When a moderator deletes another user's entry, the mod should be able to append a string to the end of the command containing the reason for the deletion.

Requires fix for Issue #36

This should be taken care of now


Removed usage of deprecated v1 Bitstamp API

I had some issues with BTC withdrawals and ended up doing quite some changes including:

Removing the deprecated v1 API entirely (https://www.bitstamp.net/api-deprecated/)
Adding functionality to withdraw multiple new coins (XLM, USDC, LINK and more)

Fixes for:

Cancel all orders: expected boolean to be returned when in reality it is JSON
XRP deposit address: was returning Ripple IOU address instead of XRP. There are now two separate methods.

According to emails set out by Bitstamp the v1 API will stop working on the 1.12.2021. Can someone take a look at this PR?


chore: Remove pod security policy from foo-corp

Pod Security Policy is deprecated and removed in k8s v1.25 which will cause syncing failures on newer clusters.

/lgtm

/approve


[FLINK-12072] Change asyncio operator name without whitespaces to help capture the metrics properly

What is the purpose of the change
(For example: This pull request makes task deployment go through the blob server, rather than through RPC. That way we avoid re-transferring them on each deployment (during recovery).)
Brief change log
(for example:)

The TaskInfo is stored in the blob store on job creation time as a persistent artifact
Deployments RPC transmits only the blob storage reference
TaskManagers retrieve the TaskInfo from the blob cache

Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (100MB)
Extended integration test for recovery after master (JobManager) failure
Added test that validates that TaskInfo is transferred only once across recoveries
Manually verified the change by running a 4 node cluser with 2 JobManagers and 4 TaskManagers, a stateful streaming program, and killing one JobManager and two TaskManagers during the execution, verifying that recovery happens correctly.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Thanks Myasuka for helping me to take a deeper look, I have looked into the statsd documentation & some implementations, I didn't find any supporting document where it suggests to not use whitespaces in metric names. The only restriction statsd has is to not have colons(:) in metric names. [ https://github.com/statsd/statsd/issues/585] I believe the statsd server I am using, is not supporting metric names with whitespaces, which I will look into.

Hi, I have validated my understanding with a different statsd server & whitespaces are valid. I have raised an issue with telegraf statsd plugin, will follow it up over there. I think we can close this issue. At the same time keeping these problems in mind, will it be a good idea to prefer names without whitespaces.

@sravankorumilli Glad to know this, please feel free to close original JIRA FLINK-12072.


Test faucet patch fix

Summary
This branch was cut from origin/eng-442/malicious_load_soak_test and updates the rev tag to bring in the changes from aptos-core PR https://github.com/movementlabsxyz/aptos-core/pull/42
Changelog

Updates rev tag
Contains all changes from malicious_load_soak_test

Testing

CELESTIA_LOG_LEVEL=FATAL nix develop --extra-experimental-features nix-command --extra-experimental-features flakes --command bash  -c "just suzuka-full-node native build.setup.local --keep-tui"
In new terminal cargo build & DOT_MOVEMENT_PATH=".movement" LOADTEST_NUMBER_SCENARIO=4 LOADTEST_NUMBER_SCENARIO_PER_CLIENT=2 target/debug/basicalicebob

Outstanding issues
This error still occurs but I think it is unrelated to this test and the test patch fix is still valid:
thread '<unnamed>' panicked at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:387:13:
attempt to divide by zero
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Full output
⋊> ~/m/movement on 7b13f6a7 ⨯ DOT_MOVEMENT_PATH=".movement" LOADTEST_NUMBER_SCENARIO=4 LOADTEST_NUMBER_SCENARIO_PER_CLIENT=2 target/debug/basicalicebob                                                                                11:02:33
  2024-07-10T10:02:39.166932Z  INFO suzuka_client::load_soak_testing: Load and Soak test inited with config:ExecutionConfig { kind: Load { number_scenarios: 4 }, logfile: "log_file.txt", execfile: "test_result.txt", number_scenario_per_client: 2 }
    at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:50

  2024-07-10T10:02:39.167039Z  INFO suzuka_client::load_soak_testing: Start test scenario execution.
    at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:140

  2024-07-10T10:02:39.173426Z  INFO basicalicebob: Scenario:1
=== Addresses ===
Alice: 0x773ea5f49d4735a5b52d20d615cef5193f80437b1de6a20f2982071f7ec0b771
Bob: 0x3c4222d75d671518bb5a0a620cb4985689fc078635fd0ddae6c3bd0338babcd9
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:67

  2024-07-10T10:02:39.173426Z  INFO basicalicebob: Scenario:3
=== Addresses ===
Alice: 0x659e2d9fb3a7c35ac815f9f77f02231758c1545735320328c6c9a3b989a31db2
Bob: 0x73da5005625cb380560d64311c8da65f3e8ac865e9cd7e388cc7eae77790227a
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:67

  2024-07-10T10:02:39.173447Z  INFO basicalicebob: 1 Before alice fund
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:74

  2024-07-10T10:02:39.173450Z  INFO basicalicebob: 3 Before alice fund
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:74

  2024-07-10T10:02:39.174536Z  INFO basicalicebob: Scenario:2
=== Addresses ===
Alice: 0xc32c57e062ade673b0a86bb771ba3b7166e63293b90df947a8d4398b47c4a453
Bob: 0x95882b9af9ce61e836feecb14adfa6d4e1d7844f5d337c268a556845f5f6f7a1
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:67

  2024-07-10T10:02:39.174543Z  INFO basicalicebob: 2 Before alice fund
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:74

  2024-07-10T10:02:39.174546Z  INFO basicalicebob: Scenario:4
=== Addresses ===
Alice: 0xcbcc990b34033bcd90fd04d9a2dbb8261d07465c168806b5add308497798bb1a
Bob: 0x223ec9e28a17f482a4a0a0b2b165cb63e4f4fb192913adf8273777475f3607eb
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:67

  2024-07-10T10:02:39.174553Z  INFO basicalicebob: 4 Before alice fund
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:74

  2024-07-10T10:02:39.176744Z  WARN suzuka_client::load_soak_testing: log: "Scenario:4 execution failed because: FaucetClientError { inner: Inner { kind: HttpStatus(503), source: None } }"
    at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:256

  2024-07-10T10:02:39.176776Z  WARN suzuka_client::load_soak_testing: log: "Scenario:2 execution failed because: FaucetClientError { inner: Inner { kind: HttpStatus(503), source: None } }"
    at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:256

  2024-07-10T10:02:39.176973Z  WARN suzuka_client::load_soak_testing: log: "Scenario:1 execution failed because: FaucetClientError { inner: Inner { kind: HttpStatus(503), source: None } }"
    at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:256

thread '<unnamed>' panicked at networks/suzuka/suzuka-client/src/load_soak_testing/mod.rs:387:13:
attempt to divide by zero
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  2024-07-10T10:02:41.203310Z  INFO basicalicebob: 3 Before Bod create_account
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:79

  2024-07-10T10:02:43.227024Z  INFO basicalicebob: 3 After Bod create_account
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:82

  2024-07-10T10:02:43.234478Z  INFO basicalicebob: Scenario:3
=== Initial Balances ===
Alice: 100000000
Bob: 0
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:86

  2024-07-10T10:02:45.265277Z  INFO basicalicebob: Scenario:3
=== Intermediate Balances ===
Alice: 99998400
Bob: 1000
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:110

  2024-07-10T10:02:47.298892Z  INFO basicalicebob: Scenario:3
=== Intermediate Balances ===
 Alice: 99996800
 Bob: 2000
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:136

  2024-07-10T10:02:49.329504Z  INFO basicalicebob: Scenario:3
=== Final Balances ===
 Alice: 99995200
 Bob: 3000
    at networks/suzuka/suzuka-client/bin/basicalicebob.rs:162
    ```

A lot of accidentally committed files need to be cleaned up under ./networks/suzuka/suzuka-client/bin/malicious/move/.aptos.


Tile: focus states

Tile is currently missing a custom focus state, so it shows the default browser outline if tabindex="0" is added to div.iui-tile

The "more options" button is hidden unless hovered, so it cannot be tabbed into. This could be fixed using a "visually hidden" that keeps the content accessible to screen readers.

Adding this @include iui-focus($offset: 0px); to .iui-tile will work, but it does look dangerously close to our selected state.

I am able to tab to the more options button without hovering using focus-within.

I am able to tab to the more options button without hovering using focus-within.

How? It only works if the more options button is already visible. Try it on a tile that doesn't have any other interactable element. Or try tabbing from one tile back to the previous tile; it will focus the action icon rather than the more options button.

Ah, that is a good point.  If we include tabindex="0" on the tile itself you can use that to get focus-within to show the "more options" button.  But without that & without any interior buttons the "more options" button does appear to not be accessible.


Easter or sooner deploy

@micheal-w-wells I think we'd want to add https://github.com/bcgov/range-api/issues/157 to this, since #418 (which is already here) depends on it.

@calebissharp if you need a break from manage clients or something to do right after, I think #709 needs to get addressed prior to deploying.

This is deployed and I'd call what Oamar is working on extra features.  I'm good to close this @LisaMoore1 if you are so it kind of lines up with release day.


Stratis DB class for smoothing transition to new DB store

This concept PR introduces the IStratisDB interface and a interim StratisDB class as per https://github.com/stratisproject/StratisBitcoinFullNode/issues/3340.

Please wait with this. We are not sure if there will be a new db or that new db will be transaction based

@noescape00, please add your comments to the issue and we can discuss there.

The problem here is that we don't really have many alternatives to replace dbreeze with. Best one is leveldb which doesn't have concept of transactions.

This is an interesting read: https://stackoverflow.com/questions/9022691/what-constitutes-a-transaction-layer-when-talking-about-database-systems. In limited scenarios ACID properties can be implemented via some layer of abstraction as made possible by the suggested interfaces. If code changes are going to be required then LevelDB becomes a less attractive option.

I like the idea behind this @quantumagi !!
My main feedback would be that I think we should try and only include code like this when it's being used, i.e. the rest of the solution starts consuming IStratisDB.
Others raise fair points as well about the features of other databases - maybe we need a more general interface.

The interface as defined currently fully supports the BlockRepository feature. I have not checked the rest yet.

I vote for abstracting DBreeze with a generic interface (this is what I was talking about during the db call @dangershony )
The only thing I'd say is about the name, instead of refers to Database (DB) I'd use the Storage naming

This is too tightly coupled to dbreeze.
We should create a wrapper Commit component that can be passed around and the top level component (in this case CahedCoinview) will call commit, this component can be then passed down to the other stores (PosStore for example)

Which part of this is too tightly coupled to DBreeze?:
    public enum StratisDBTransactionMode
    {
        Read,
        ReadWrite
    }

    public interface IStratisDBTransaction : IDisposable
    {
        void Insert<TKey, TObject>(string tableName, TKey key, TObject obj);
        void InsertMultiple<TKey, TObject>(string tableName, (TKey, TObject)[] objects);
        void InsertDictionary<TKey, TObject>(string tableName, Dictionary<TKey, TObject> objects);
        bool Select<TKey, TObject>(string tableName, TKey key, out TObject obj);
        List<TObject> SelectMultiple<TKey, TObject>(string tableName, TKey[] keys);
        Dictionary<TKey, TObject> SelectDictionary<TKey, TObject>(string tableName);
        IEnumerable<(TKey, TObject)> SelectForward<TKey, TObject>(string tableName);
        void RemoveKey<TKey, TObject>(string tableName, TKey key, TObject obj);
        void RemoveAllKeys(string tableName);
        bool Exists<TKey>(string tableName, TKey key);
        bool[] ExistsMultiple<TKey>(string tableName, TKey[] keys);
        void Commit();
        void Rollback();
        string ToString();
    }

Ok I see the intention of this PR, to create a db library abstraction layer.
I think we are trying to make the too many layers of abstraction here, as long as the DBreeze engine is contained to the repo (and the repo's interface does not leak any dbreeze types in the signature) the entire repo can be replaced to support a different db.
So we have an
IBlockReposotory and two implementation DBreezeBlockRepository and say LiteDBBlockReposiroty
A Quick look in the code I see that DBreeze types are not leaked outside of repos so we already have abstraction and this PR is not needed (unless we want to make cached coinview support a muilty component commit for example flush StakeStore then DBreezeCoinView then commit both in one trx)

Closing this for now. If the need arises for us to have an abstraction we can revisit this PR.


npm install (technically tsc) fails when trying to build

I seem to have an issue building the latest. I've tried on three different developer machines - all fail in same place when tsc runs. Running tsc at cmd prompt by itself yields same issue. Any thoughts?

<EMAIL_ADDRESS>prepublish .\BotFramework-WebChat
tsc && npm run build-css && webpack --config webpack.production.config.js
src/MessagePane.tsx(53,80): error TS2339: Property 'map' does not exist on type '{ actions: CardAction[]; to?: string[]; }'.
src/MessagePane.tsx(72,42): error TS2339: Property 'length' does not exist on type '{ actions: CardAction[]; to?: string[]; }'.

npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR<EMAIL_ADDRESS>prepublish: tsc && npm run build-css && webpack --config webpack.production.config.js
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>prepublish script 'tsc && npm run build-css && webpack --config webpack.production.config.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the botframework-webchat package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     tsc && npm run build-css && webpack --config webpack.production.config.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs botframework-webchat
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls botframework-webchat
npm ERR! There is likely additional logging output above.

Hi @adamtuliper looks like you're between the builds - You've got the latest version of DirectLineJs which is a little ahead of the WebChat. Thanks for your PR!

I had the same issue with<EMAIL_ADDRESS>prepublish. npm was downloading DirectLineJs 0.9.9 because of the dependency string "botframework-directlinejs": "^0.9.8" in package.json. Fixing the version to 0.9.8 by removing "^" solved the issue for me.


Wrong/unclear explanation in IndexedMap docs

The docs for IndexedMap state
https://github.com/CosmWasm/cw-plus/blob/119032e06b943abb299d295bd2e0eebdd6c85e6a/packages/storage-plus/README.md?plain=1#L488-L489
However in the latest cw-nfts code (using cw-storage-plus v0.13.2), this is no longer the case
https://github.com/CosmWasm/cw-nfts/blob/584e01526048334b87a85a6c69f54109727efb5a/contracts/cw721-base/src/state.rs#L121-L126
It seems this change arose from @maurolacy's removing of the PK default from MultiIndex, so that "the PK type must match the encompassing IndexedMap primary key type, or its owned variant".

cw-nfts code should be modified to conform to this new format / convention, yes.


Change files in VS, NetworkSyncManager to use /bigobj

The VS solution explorer was updated to have as close as possible structure to the filesystem for where the files are located. FIles which windows does not compile are not shown.
NetworkSyncManager is a large file and will not compile in debug mode without defining it as "/bigobj." That compile flag is set in CMakeWindows.cmake.

Using Visual Studio 2017, emptying Program and build folders for each cmake rebuild and recompile:
Release compiles on x64.
Release and Debug fail to compile on x86 due to unrelated reasons (unresolved externals from MovieTexture_FFMpeg.obj)
Debug fails to compile on x64 due to missing /bigobj for NetworkSyncManager.cpp (what this change should have taken care of)

Debug still fails after the changes. RelWithDebug makes a return and still works.

Better version of this incoming.


It seems that if we have a tiny retention time we should not compact head.


The detailed documentation on the topic.

the documentation is really good on the new topic. It would be great if we have a direct way to add the service principal to the Workspace v2 as admin. At least a Powershell script could work as a quick alternative instead of doing another API call using the Client ID using Postman or other method.

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

ID: c135bb4c-618b-478d-bce7-ac8608e3caac
Version Independent ID: a297498b-afa2-575d-417c-0cb4696a90af
Content: Service principal with Power BI - Power BI
Content Source: powerbi-docs/developer/embed-service-principal.md
GitHub Login: @markingmyname
Microsoft Alias: maghan

@v-shshet Thank you for your feedback! We will investigate and review if we need to change/add the information suggested.

I was told you can add service principal if you add the service principal to a security group.  then add the security group as you can add security groups to workspaces.

You can see they mention this in some other docs as well as on the Power BI Admin portal to add to a security group as you have to enable service principals to use the Power BI API's in Power BI Admin portal anyway.

Currently service principal does not work with the admin APIs yet.  That limitation has been added to the service principal article

Thank you all for the collaboration and feedback.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue.


Without Require.js

Is there any way to use this library without Require.js

As explained in How to use section in README, you can just load the script as usual.
<script src='dist/js/perfect-scrollbar.js'></script>
<script src='dist/js/perfect-scrollbar.jquery.js'></script><!-- for jQuery -->

And every example in examples are written without any help of packaging tool. You may want to start from the basic usage, then examples/options-default.html is a good point to start.


Parse HTML comment nodes

This PR ensures that HTML <!-- comment --> nodes show up in the virtual DOM tree and are rendered to the DOM output correctly.
I've tried to match the code style based on what I saw in the rest of the library, let me know if I need to make any code style changes.
Two points I wasn't sure of:

Whether to put the vcomment.js file in a separate folder (e.g. lib/)
How to generate the bundle.js file

Let me know if there's anything else I can do to help get this merged!

Looks good at first glance.
I take it, this is compatible with the main virtual-dom system, there's no built-in support/commonly used module for HTML comments?

Yeah, I'd personally prefer it if virtual-dom supported comment nodes internally, but from digging through the source it appears they've only got two types of nodes: VNode and VText.
Presumably this is an attempt to keep it simple and implementation-agnostic. I guess you could see comment nodes as more of a luxury HTML extra (like DocumentFragments or DocumentType elements).
Looking through virtual-dom's issues page, it looks like people are recommending the same approach of creating a custom widget for comment nodes, and keeping this out of virtual-dom core functionality.

...just read in the virtual-dom docs that a widget's type must be "Widget".
I've updated the PR to reflect this.

Thank you very much! :star2:


doc(workbox-build): updated link to documentation

Description of what's changed/fixed.

Edit link to documentation for workbox-build

Fixed for v7 in #3313


Updates on Logo Design

What was wrong?
Just a copule of iterations and updates regarding different sizes of the logo's final version.
How was it fixed?
We did some fine tuning so the logo might be equally appreciated while being presented in different sizes.
To-Do
No further action as of now.

[ ] OPTIONAL: Update Spec if applicable
[ ] Clean up commit history

Thanks. There are a couple of things we need to resolve before this can be merged:

The PR needs to be rebased on latest master

The dimensions of the favicon seem to be wrong. It needs to be a square.

Reading through this I get the impression that adding it in 260 x 260 would be best (and then we can downscale on demand via https://realfavicongenerator.net/). That said, if there were no actual changes (other than downscaling) so that it is basically a downscaled version of fe_source_small_size.svg  then we don't have to duplicate it at all and just having fe_source_small_size.svg will be enough.

Remove all other images from this PR (the merchandise, the 2d variant). We try to keep binaries to a minimum here to not bloat the size of the repository too much.

So, the PR should only contain:

fe_source_small_size.svg / fe_source_small_size.png
fe_favicon.svg / fe_favicon.svg (Notice the rename, Also only add these if there are true differences to the former other than resizing)

Codecov Report

Merging #124 (f9a7bad) into master (974efcf) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #124   +/-   ##
=======================================
  Coverage   84.74%   84.74%
=======================================
  Files          40       40
  Lines        2471     2471
=======================================
  Hits         2094     2094
  Misses        377      377

Continue to review full report at Codecov.

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

1. The PR needs to be rebased on latest master.
I believe there should be no conflicts as of now. I did some clean up and just left the one commit.
2. The dimensions of the favicon seem to be wrong. It needs to be a square.
Updated the file as per your request to a 260 x 260 px.
3. Remove all other images from this PR (the merchandise, the 2d variant)...
Merchandise and 2d variant removed.
PR contains:

fe_source_small_size.svg / fe_source_small_size.png (≈ 70 x 70 px, original rectangular-shape ratio)
fe_favicon.svg / fe_favicon.png (260 x 260 px, modified square-shape ratio)

Left both files since the original logo (twitter's regular and small size logo iterations) is more of a rectangular-shape ratio, whereas the favicon shape is a perfect square-shape ratio which in turn actually changes the feel/dimensions of the logo, but since the favicon is so small it isn't perceived at all. For larger sizes turning the logo into a perfect square would totally affect the overall outcome of the design.

Sorry, this got lost in my inbox. Looks good :+1:

Sorry, this got lost in my inbox. Looks good 👍

No problem. Awesome! 👍🏻


Using PyCharm, WebStorm, etc.

It looks like the differences in the IDEs are larger than I thought (see https://github.com/Turbo87/intellij-emberjs/issues/4), so it would be great if we could also choose PyCharm, WebStorm, etc. instead of just IntelliJ to run/test the plugins.

We have no any plans about publishing small IDEs in maven.
As an option I can try to provide an option to use local IDE instance instead of downloading it from maven, in this case you can download IDE manually and use it via gradle plugin.

That might work. Would the local IDE use the sandbox folder too then?

Yes

Hi,
is there any estimation on when this feature is going to be implemented? I am working on a plugin for Android Studio and would love to let this great plugin manage dependencies to the studio jars for me and to be able to test my implementation directly into a sandboxed Android studio.

is there any estimation on when this feature is going to be implemented?

@danail-branekov as I said we have no any plans about publishing small IDEs in maven. Moreover this doesn't cover Android Studio. As for locally installed IDE, you may use intellij.alternativeIdePath property, see README for details.

Oh, this is really cool. Initially I though that alternativeIdePath would determine the IDE used when runIdea task is performed. But then I realised that I also have the version property set. Removing it made gradle build my code against Android Studio.
Thanks!

@danail-branekov it does determine the IDE used when runIdea task is performed. Plugin still requires IDEA dependency for building

Hm... how about using the alternative IDE when resolving the dependencies as well? This would help a lot into building against the product you are actually developing for instead of building against a pure IDEA distribution.
Here is a sample scenario - I am developing a plugin for the Android studio (1.5.x) which is based on IDEA 14.1. I would like to plug into new module creation wizard and therefore need to access the class com.android.tools.idea.npw.NewModuleDynamicPath. This class is not available in IDEA 14.1 but is available in IDEA EAP.

Building against EAP requires me to use Java8 otherwise I get a UnsupportedClassVersionError
Android studio requires me to build with Java6

=> Both point above contradict with each other and I get stuck
It would by simply great if the IntelliJ build plugin just picks up the jars from the specified local alternative IDE and put them into my project dependencies.

Hm... how about using the alternative IDE when resolving the dependencies as well?

And in the third time we still have no any plans about publishing small IDEs in maven.

This would help a lot into building against the product you are actually developing for instead of building against a pure IDEA distribution.

I don't really understand how it could help.
Building against small IDEs won't help you with this scenario. You still have to have different sets of sources for different IDE version (I mean 14.1 and 2016.1).

And in the third time we still have no any plans about publishing small IDEs in maven.

I got your point the first time you mentioned that. I cannot agree more with that and I am not arguing.
What I am proposing is that in case alternativeIdePath (or whatever other property) is set then org.jetbrains.intellij.IntelliJPlugin#ideaDirectory to take the property value into consideration (i.e. returning new File(the_IDE_path_property)) so that whenever org.jetbrains.intellij.IntelliJPlugin#configurePluginDependencies executes it would configure the ivy repository to reference the LOCALLY pre-installed IDE, e.g. Android Studio, instead of the one currently fetched by the build plugin
I know that this would make the build environment-specific but you can safely leave this issue to the CI engineers to handle. They could use multiple approaches here such as:

environment variables
JVM arguments
some kind of setup conventions
etc

This would give the build plugin users control on what to build against instead of hacking the build.gradle file themselves in order to manage the dependencies not available in the standard maven-hosted IDEA distributions.
I am also not underrating the approach of having maven-hosted IDEA distributions, I am convinced that they are just great for 95% of the development scenarios.

Preinstalled locally IDE is not enough to build a plugin. Using some files from locally installed IDE and some other files from fetched IDE leads to inconsistent build, there is no guarantees that all these files will be compatible to each other and gradle-intellij-plugin has no enough information to verify this, especially in case of using Android Studio. Using such configuration means that you can build the plugin that won't be compatible to any IDE.
Anyway, gradle is quite customizable so you can do it on your own risk in your own gradle-script. If it requires some changes in gradle-intellij-plugin (like making intellij-configuration public), please let me know.

There is another option how to build plugin agains Android Studio. It requires maven-repository with Android Studio binaries/sources like we have for IDEA: https://www.jetbrains.com/intellij-repository/releases. If there is one you can just define intellij.intellijRepo property in your build.gradle to use it. It's better to ask at https://code.google.com/p/android/issues/list whether Google can do such repository.

Thanks for the suggestion, here is the request: https://code.google.com/p/android/issues/detail?id=208227

@danail-branekov thanks, I'll follow the issue

＋1

Sad that there are no plans to support the "smaller ide's". However I wrote a little buildscript that downloads pycharm and sets it up with the alternativeIdePath. Appears to work fine 😄 although I might run in some dependency issue but we see about that).

Can i run against local pycharm installation?

@zolotov how? Just use alternativeIdeaPath?  When specify alternative path it still tries to download idea from jetbrains repo.

@da1z yes, just use alternativeIdeaPath. IDEA is still needed for compilation.

because it has no other way to develop a plugin

Android Studio and MPS too? Why exclude some and not others ? Surely it would not be too difficult to implement by adding PyCharm/CLion/... endpoints and downloading the binaries even if they're not published on Maven. Adding product specific plugin support would be great to have! @mikhailvink

@breandan It's more about including particular products, not excluding some of them.
I'm not aware of Android Studio plugin development, there is an issue to track this: https://code.google.com/p/android/issues/detail?id=208227. As soon as Google upload AS distribution and if it will be possible to build plugins with AS only (e.g. it's not possible to compile plugins with PhpStorm), I'll add the support for it.
This is exactly what happened with MPS. MPS team decided to upload their distributions and asked to implement support in gradle-intellij-plugin. I'm not sure why they did it and not sure when it's going to work. See https://youtrack.jetbrains.net/issue/IDEA-189818 for details.

Adding product specific plugin support would be great to have!

You can depend on that particular PHP plugin and develop plugins using it, uploading entire PhpStorm is not required.

I suppose you could add a plugin dependency, but if I understand correctly, language plugins have a different update cadence from the primary IDEs and not all IDEs are available as plugins. Wouldn't it be in your interest to directly support sandboxing on other IDEs, to make it easier for plugin developers targeting unsupported IDEs (eg. CLion) and EAP versions? Perhaps the added complexity of refactoring the DSL would be too much trouble. Developers will just need to write their own custom scripts to download and unpack the IDE, then set the appropriate alternativeIdePath.

if I understand correctly, language plugins have a different update cadence from the primary IDEs and not all IDEs are available as plugins.

All minor IDEs are released in a single week along with IDEA. Every language plugin is published within the IDEA EAP otherwise it wouldn't be possible to use them, e.g. PHP, in IDEA EAP builds. As for the absence of some plugins, like CLion one, it's on CLion team and if they decide to publish IDE distribution to the maven, I will add the support in gradle-intellij-plugin. Adding and supporting custom ways of downloading IDE distribution is not in my plan. Still, you can make a PR and I'll consider merging it.

Could You help me please to setup alternativeIdePath for mac?  /Applications/PhpStorm doesn't work for me. Thanks.

@shatilovgithub sure, how exactly you want me to help?


[BUG]: NuGet tool installer  throw error No version was found which matches the input 5.5.0

Task name
NuGet tool installer
Task version
0.221.0
Environment type (Please select at least one enviroment where you face this issue)

[ ] Self-Hosted
[X] Microsoft Hosted
[ ] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Azure DevOps Server Version (if applicable)
No response
Operation system
Windows_NT
Task log
2023-06-01T06:57:27.2987693Z ##[error]No version was found which matches the input 5.5.0
2023-06-01T06:57:27.2996023Z ERR:Tool install failed: NuGet
2023-06-01T06:57:27.2997293Z ##[error]The available versions are: 6.5.0; 6.4.0; 6.3.1; 6.3.0; 6.2.2; 6.2.1; 6.2.0; 6.1.0; 6.0.3; 6.0.2; 6.0.0; 5.11.3; 5.11.2; 5.11.0; 5.10.0; 5.9.3; 5.9.2; 5.9.1; 5.8.1; 5.8.0; 5.7.3; 5.7.2; 5.7.1; 5.7.0; 5.6.0; 5.5.1; 5.4.0; 5.3.1; 5.3.0; 5.2.1; 5.2.0; 5.1.0; 5.0.2; 4.9.6; 4.9.5; 4.9.4; 4.9.3; 4.9.2; 4.8.2; 4.8.1; 4.7.3; 4.7.2; 4.7.1; 4.7.0; 4.6.4; 4.6.3; 4.6.2; 4.5.3; 4.5.2; 4.5.1; 4.4.3; 4.4.2; 4.4.1; 4.3.1; 4.3.0; 4.1.0; 3.5.0; 3.4.4; 3.3.0; 3.2.0; 2.8.6

Relevant log output
2023-06-01T07:12:20.8174318Z ##[debug]AGENT_MACHINENAME=WIN-6PUADKU16TE
2023-06-01T07:12:20.8174580Z ##[debug]AGENT_NAME=Hosted Agent
2023-06-01T07:12:20.8174837Z ##[debug]AGENT_JOBSTATUS=Succeeded
2023-06-01T07:12:20.8175090Z ##[debug]AGENT_OS=Windows_NT
2023-06-01T07:12:20.8175334Z ##[debug]AGENT_VERSION=3.220.2
2023-06-01T07:12:20.8419400Z ##[debug]Processed: ##vso[telemetry.publish area=Packaging;feature=NuGetToolInstaller]{"SYSTEM_TASKINSTANCEID":"9d5e070b-048e-5a53-a33e-c91f3245ed69","SYSTEM_JOBID":"12f1170f-54f2-53f3-20dd-22fc7dff55f9","SYSTEM_PLANID":"b8974092-8a43-46be-9f3b-5a7c7909c1b7","SYSTEM_COLLECTIONID":"3972831a-7abd-4b67-b624-9aad9e8c807f","AGENT_ID":"8","AGENT_MACHINENAME":"WIN-6PUADKU16TE","AGENT_NAME":"Hosted Agent","AGENT_JOBSTATUS":"Succeeded","AGENT_OS":"Windows_NT","AGENT_VERSION":"3.220.2","BUILD_BUILDID":"26564","BUILD_BUILDNUMBER":"20230601.2","BUILD_BUILDURI":"vstfs:///Build/Build/26564","BUILD_CONTAINERID":"13763233","BUILD_DEFINITIONNAME":"test","BUILD_DEFINITIONVERSION":"5","BUILD_REASON":"Manual","BUILD_REPOSITORY_CLEAN":"False","BUILD_REPOSITORY_GIT_SUBMODULECHECKOUT":"False","BUILD_REPOSITORY_NAME":"TOW","BUILD_REPOSITORY_PROVIDER":"TfsGit","BUILD_SOURCEVERSION":"c5f5ea3b9ac376e66e13e8c069538015bc91140b","isCheckLatestEnabled":false,"requestedNuGetVersionSpec":"5.5.0"}

Aditional info
The task works fine before
And the version 5.5.0 should work according to https://dist.nuget.org/tools.json

I have tried to upgrade the version to 5.5.1, and it works.
Now I just want know why the version 5.5.0 can't be found?

The nuget tool installer only returns released and blessed versions. As of today, the 5.5.0 version is only released

@embetten  Thanks for your explanation, but what's the so called blessed version? Where can I find the definition?
And is there an api like https://dist.nuget.org/tools.json, which can return released and blessed versions?

@embetten  Thanks for your patience, I just noticed that there is a stage field in response of https://dist.nuget.org/tools.json.


Compile error on IOS (Undefined symbols for architecture arm64)

Hi.
I cannot compile app on ios.
I just followed the instructions on pub.dev.
plugin version:
stack_appodeal_flutter: ^1.1.0

My Podfile

# Uncomment this line to define a global platform for your project
platform :ios, '10.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

def appodeal
  pod 'APDAdColonyAdapter', '<IP_ADDRESS>'
  pod 'APDAmazonAdsAdapter', '<IP_ADDRESS>'
  pod 'APDAppLovinAdapter', '<IP_ADDRESS>'
  pod 'APDBidMachineAdapter', '<IP_ADDRESS>' # Required
  pod 'APDFacebookAudienceAdapter', '<IP_ADDRESS>'
  pod 'APDGoogleAdMobAdapter', '<IP_ADDRESS>'
  pod 'APDIronSourceAdapter', '<IP_ADDRESS>'
  pod 'APDMyTargetAdapter', '<IP_ADDRESS>'
  pod 'APDOguryAdapter', '<IP_ADDRESS>'
  pod 'APDUnityAdapter', '<IP_ADDRESS>'
  pod 'APDVungleAdapter', '<IP_ADDRESS>'
  pod 'APDYandexAdapter', '<IP_ADDRESS>'
end

target 'Runner' do
  use_frameworks!
  use_modular_headers!
  appodeal

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

After pod install i get a lot of warnings(don't know if this is important). I tried a lot of suggestions from SO, but nothing worked.

pod install warnings

[!] Can't merge user_target_xcconfig for pod targets: ["APDMyTargetAdapter", "IronSourceSDK", "OguryAds", "OMID", "YandexMobileAds", "Static"]. Singular build setting EXCLUDED_ARCHS[sdk=iphonesimulator*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["BDMAdColonyAdapter", "BDMAmazonAdapter", "BDMCriteoAdapter", "BDMFacebookAdapter", "BDMIABAdapter", "IAB", "MRAID", "NAST", "VAST", "BDMMyTargetAdapter", "BDMPangleAdapter", "BidMachine", "Core", "StackAnalytics", "Base", "Crashes", "Full", "StackConsentManager", "StackModules", "StackFoundation", "StackProductPresentation", "StackUIKit", "myTrackerSDK"]. Singular build setting VALID_ARCHS[sdk=iphoneos*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["BDMAdColonyAdapter", "BDMAmazonAdapter", "BDMCriteoAdapter", "BDMFacebookAdapter", "BDMIABAdapter", "IAB", "MRAID", "NAST", "VAST", "BDMMyTargetAdapter", "BDMPangleAdapter", "BidMachine", "Core", "StackAnalytics", "Base", "Crashes", "Full", "StackConsentManager", "StackModules", "StackFoundation", "StackProductPresentation", "StackUIKit", "myTrackerSDK"]. Singular build setting VALID_ARCHS[sdk=iphonesimulator*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["APDMyTargetAdapter", "IronSourceSDK", "OguryAds", "OMID", "YandexMobileAds", "Static"]. Singular build setting EXCLUDED_ARCHS[sdk=iphonesimulator*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["BDMAdColonyAdapter", "BDMAmazonAdapter", "BDMCriteoAdapter", "BDMFacebookAdapter", "BDMIABAdapter", "IAB", "MRAID", "NAST", "VAST", "BDMMyTargetAdapter", "BDMPangleAdapter", "BidMachine", "Core", "StackAnalytics", "Base", "Crashes", "Full", "StackConsentManager", "StackModules", "StackFoundation", "StackProductPresentation", "StackUIKit", "myTrackerSDK"]. Singular build setting VALID_ARCHS[sdk=iphoneos*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["BDMAdColonyAdapter", "BDMAmazonAdapter", "BDMCriteoAdapter", "BDMFacebookAdapter", "BDMIABAdapter", "IAB", "MRAID", "NAST", "VAST", "BDMMyTargetAdapter", "BDMPangleAdapter", "BidMachine", "Core", "StackAnalytics", "Base", "Crashes", "Full", "StackConsentManager", "StackModules", "StackFoundation", "StackProductPresentation", "StackUIKit", "myTrackerSDK"]. Singular build setting VALID_ARCHS[sdk=iphonesimulator*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["APDMyTargetAdapter", "IronSourceSDK", "OguryAds", "OMID", "YandexMobileAds", "Static"]. Singular build setting EXCLUDED_ARCHS[sdk=iphonesimulator*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["BDMAdColonyAdapter", "BDMAmazonAdapter", "BDMCriteoAdapter", "BDMFacebookAdapter", "BDMIABAdapter", "IAB", "MRAID", "NAST", "VAST", "BDMMyTargetAdapter", "BDMPangleAdapter", "BidMachine", "Core", "StackAnalytics", "Base", "Crashes", "Full", "StackConsentManager", "StackModules", "StackFoundation", "StackProductPresentation", "StackUIKit", "myTrackerSDK"]. Singular build setting VALID_ARCHS[sdk=iphoneos*] has different values.

[!] Can't merge user_target_xcconfig for pod targets: ["BDMAdColonyAdapter", "BDMAmazonAdapter", "BDMCriteoAdapter", "BDMFacebookAdapter", "BDMIABAdapter", "IAB", "MRAID", "NAST", "VAST", "BDMMyTargetAdapter", "BDMPangleAdapter", "BidMachine", "Core", "StackAnalytics", "Base", "Crashes", "Full", "StackConsentManager", "StackModules", "StackFoundation", "StackProductPresentation", "StackUIKit", "myTrackerSDK"]. Singular build setting VALID_ARCHS[sdk=iphonesimulator*] has different values.

Compiling error

  ld: warning: Could not find or use auto-linked library 'swiftFileProvider'
  ld: warning: Could not find or use auto-linked library 'swiftCompatibilityConcurrency'
  ld: warning: Could not find or use auto-linked library 'swift_Concurrency'
  ld: warning: Could not find or use auto-linked library 'swiftDataDetection'
  ld: warning: Could not find or use auto-linked framework 'AVFAudio'
  ld: warning: Could not find or use auto-linked framework 'DataDetection'
  Undefined symbols for architecture arm64:
    "__swift_FORCE_LOAD_$_swiftDataDetection", referenced from:
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyVideoAdapter.o)
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyAdNetwork.o)
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(APDAdColonyAppOptions.o)
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyApi.o)
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonNetwork.o)
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonInterstitialAdapter.o)
        __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonBannerAdapter.o)
        ...
       (maybe you meant: __swift_FORCE_LOAD_$_swiftDataDetection_$_APDIronSourceAdapter, __swift_FORCE_LOAD_$_swiftDataDetection_$_APDOguryAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAppLovinAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_StackProductPresentation , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAdColonyAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_FBAudienceNetwork , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDAmazonAdsAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDBidMachineAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDUnityAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDYandexAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDVungleAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDFacebookAudienceAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDMyTargetAdapter , __swift_FORCE_LOAD_$_swiftDataDetection_$_APDGoogleAdMobAdapter )
    "_OBJC_CLASS_$_SKAdImpression", referenced from:
        objc-class-ref in AdColony(ADCAdSession.o)
        objc-class-ref in AppLovinSDK(ALStoreKitService.o)
        objc-class-ref in FBAudienceNetwork(FBAdSKAdNetworkManager.m.o)
        objc-class-ref in MyTargetSDK(MTRGSkadParser.o)
        objc-class-ref in YandexMobileAds(YMASKAdImpressionFactory.o)
       (maybe you meant: _OBJC_CLASS_$_SKAdImpressionProxy)
    "__swift_FORCE_LOAD_$_swiftCompatibilityConcurrency", referenced from:
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyVideoAdapter.o)
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyAdNetwork.o)
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(APDAdColonyAppOptions.o)
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyApi.o)
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonNetwork.o)
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonInterstitialAdapter.o)
        __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonBannerAdapter.o)
        ...
       (maybe you meant: __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDFacebookAudienceAdapter, __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAdColonyAdapter , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAmazonAdsAdapter , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_StackProductPresentation , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDVungleAdapter , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDGoogleAdMobAdapter , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDBidMachineAdapter , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDMyTargetAdapter , __swift_FORCE_LOAD_$_swiftCompatibilityConcurrency_$_APDAppLovinAdapter )
    "__swift_FORCE_LOAD_$_swiftFileProvider", referenced from:
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyVideoAdapter.o)
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyAdNetwork.o)
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(APDAdColonyAppOptions.o)
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAdColonyAdapter in libAPDAdColonyAdapter.a(AdColonyApi.o)
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonNetwork.o)
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonInterstitialAdapter.o)
        __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAmazonAdsAdapter in libAPDAmazonAdsAdapter.a(AmazonBannerAdapter.o)
        ...
       (maybe you meant: __swift_FORCE_LOAD_$_swiftFileProvider_$_StackProductPresentation, __swift_FORCE_LOAD_$_swiftFileProvider_$_APDVungleAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_FBAudienceNetwork , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDMyTargetAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAdColonyAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDFacebookAudienceAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDYandexAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAppLovinAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDAmazonAdsAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDBidMachineAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDOguryAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDIronSourceAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDUnityAdapter , __swift_FORCE_LOAD_$_swiftFileProvider_$_APDGoogleAdMobAdapter )
  ld: symbol(s) not found for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

I also did one thing that is absent in instruction for IOS on pub.dev: i added SKAdNetworkItems in my info.plist because i found this step on instruction on your site(don't know if this is important). Did I do everything right, or should I not add it?

flutter doctor -v

[✓] Flutter (Channel stable, 2.10.3, on Mac OS X 10.15.7 19H2 darwin-x64, locale ru-RU)
    • Flutter version 2.10.3 at /Users/radomir/development/flutter/2.0
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (3 days ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/radomir/Library/Android/sdk
    • Platform android-31, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 12.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/google-chrome-unsafe.sh)
    ! /Applications/Google Chrome.app/Contents/MacOS/google-chrome-unsafe.sh is not executable.

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • 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
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.64.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.36.0

[✓] Connected device (2 available)

UPD: i found on your site that is required to use XCode 13 or later. I use 12.4. Could it be the problem?

@radomir9720
Hello!

i found on your site that is required to use XCode 13 or later. I use 12.4. Could it be the problem?

yes, it's possible


Macro reduction and general refactoring

Also removes some more unused code, and a lingering reference to the directxmath package in packages.config. No changes to functionality.

I'm going to revert the XITEMS and XSTR removals because I'd like to keep XITEMS and XSTR because they're shorter and that's something that I want to be short like that. In gettext based translation systems, the gettext function is just _ so people type _("Translatable string")

Or I could add using XSTR = Gui::LocaleGetStr. Though I still want as much of
    locale_t LocaleGet()
    {
        return __glocale_current;
    }
    const char** LocaleGetCurrentGlossary() {
        return th_glossary_str[LocaleGet()];
    }
    const char* LocaleGetStr(th_glossary_t name) {
        return LocaleGetCurrentGlossary()[name];
    }

as possible to be inlined.

Sure, I'd be happy to alias LocaleGetStr to something shorter in the files that need it most. Though I can't say I'm terribly fond of the name XSTR. Maybe LGS would be better?
As for inlining, I can move the definitions of LocaleGetCurrentGlossary and LocaleGetStr to the header, and declare them inline. But I don't think the same can be done to LocaleGet, since it needs to access a private variable. (Though reverting to the macro solution obviously wouldn't fix that.)

Hello again. Do you have any further feedback on this PR? If so, I'm willing to make more changes/revisions.

I'm not sure if I like the name LGS. I actually like XSTR better, but perhaps we should go with _ or a single letter instead?

My concern with using _ as the name is that, in many languages (not sure about C/C++), a single underscore is commonly used to "discard" a value - which linters are typically aware of, and will disable "unused variable" warnings for.
E.g. in Python:
for _ in range(10):
    # (Do something ten times)

And I'm worried that people coming from other languages (like me) might be confused by seeing a bunch of _(...) calls all over the place.
As for XSTR... I just don't like it, to be honest. 😅 It's not clear to me what exactly it's supposed to mean - "cross string", maybe? I'll admit that I don't particularly like LGS either, but that, at least, looks like it's supposed to be an acronym (imo). I do like your single-letter idea, though - maybe just S would work?
(BTW, I'm aware of the merge conflict - I'll fix it once I'm done with everything else.)

Also, while _ is in fact used in Python to mean "discard something", you also see a lot of things like from django.utils.translation import gettext as _ for example

Alright, I think that's everything. I went with S instead of T because I don't want to add comments explaining why I'm #undefining T. 😉
The commit history is kind of a mess, so feel free to squash commit / etc.


High memory usage

While running python -m sign_language_segmentation.src.train --dataset=dgs_corpus --pose=holistic --fps=25 --hidden_dim=64 --encoder_depth=1 --encoder_bidirectional=false --optical_flow=true --only_optical_flow=true --weighted_loss=false --classes=io as suggested in the README, I was getting an Out Of Memory error while loading the dataset when I had 50GB of memory available but 100GB of available memory were enough. How much memory does loading the dataset take for you? Is it expected to take this much memory?

Seems like we are using 128GB of memory (https://github.com/sign-language-processing/segmentation/blob/main/sign_language_segmentation/jobs/job_gpu.sh#L11C2-L11C22)
Which I agree is excessive. It is probably that we load the entire dataset and keep it in memory.
I believe optimizations can be made, but this will require further looking-into.