[WIP] GPT-2 example

Adds a new example that fine-tunes GPT-2 on the WikiText2 dataset.

[X] Adds the WikiText2 dataset from the LanguageModel notebook
[X] Moves Transformer code into Models/Text/GPT2
[X] Loads the OpenAI GPT-2 base model from a python checkpoint
[X] Fine-tunes the loaded model
[X] Lints
[ ] Includes tests
[ ] Reports validation accuracy properly
[ ] Shares code with BERT properly (AttentionInput, MultiHeadAttention, etc.)

The WikiText2 dataset is formatted exactly the same way as Penn Treebank (the classic language modeling dataset from early deep learning papers) and WikiText103, so your loader is probably already more generic than you might realize!

Oooh it sounds like I need some better naming and parameterization :)

Removing the BERT code-sharing bullet item. Despite overlapping names, the objects AttentionInput, MultiHeadAttentionInput, and Embedding are used in very different ways in BERT and GPT2. I don't see a straightforward way of combining them, so for now a GPT2 suffix will avoid blowing up the scope of this already large PR.

I converted WikiText2 to a generic dataset TextUnsupervised that also supports WikiText103. I included tests, but commented them out for Kokoro since the dataset is > 500MB.
Penn TB has a licensing requirement so I did not include it, but the modifications toTextUnsupervised should be minimal for adding additional sources.

Two minor changes suggested, but globally looking good to me!

This PR is already massive, so let's call it a start and make improvements in follow-up PRs.


LUIS app containing patterns creates malformed JSON utterances in generated dispatch app

Tool
Name: Dispatch
Version: 1.2.3
OS: Windows 10 build 17763
Describe the bug
Having a LUIS app containing patterns creates malformed JSON utterances in generated dispatch app (see screenshot)
To Reproduce
Steps to reproduce the behavior:

Set up LUIS app + Dispatch app in bot file
Make sure the LUIS app contains only "pattern utterances" and no "direct utterances"
Call dispatch refresh -b "somebotfile.bot" --secret "SomeSecret"
Inspect the utterances for the child LUIS app in the Dispatch app

Expected behavior
Patterns are only copied to Dispatch app as Patterns
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.
[bug]

@hansmbakker I tried going down the path of repro-ing this issue, but unfortunately 2 other issues are hindering me from getting a dispatch model created, to even get to the point of trying to dispatch refresh:

Having problems with dispatch create command not creating (issue https://github.com/Microsoft/botbuilder-tools/issues/563#issuecomment-467168661)

for this current GH issue you posted, I created my child LUIS model that has patterns only (no utterances in the intent)
added it to .dispatch file
but when I try dispatch create-ing, it doesn't create (ERROR Invalid pattern hello [unicorn])
or try dispatch create | msbot connect dispatch --stdin it gives [msbot] TypeError [ERR_INVALID_URL]: Invalid URL: [msbot] Usage: msbot connect dispatch [options]

Can't even go the round about way of using msbot clone in the 14.nlp-with-dispatch sample, because of malforming .bot files when running the command: #997

Once I can make an actual dispatch model--with or without adding patterns, I'll dig into trying to repro this issue further

@hansmbakker, do you mind sharing your LUIS app (exported as json file)? You could email it to<EMAIL_ADDRESS>I assume you have a dispatch with only 1 app?  Trying to figure out how to get a repro.  Thanks!

@tsuwandy although I tried a lot, unfortunately I cannot reproduce the “patterns JSON appearing as utterances” scenario in a blank environment ☹ however I can reproduce it in a running environment. Would sharing my screen help?

@hansmbakker , sorry for the delay.  I'm going to close this as we couldn't repro.  Please let me know if you have some time to share your screen, feel free to send invite to<EMAIL_ADDRESS>when you get a chance.  Thank you!

I have not run into the issue for some time now; I'm using a .dispatch configuration file now to refresh my Dispatch app.
Thank you for the offer, if I run into the issue again I'll let you know!


kubectl rollingupdate does not work.

I believe the problem is that kubectl rollingupdate requires a schema of v1beta3 but that 0.8.0 Kubernetes does not have the ability to handle that schema yet. I just want to confirm this is true however.
So with a schema like:
kind: ReplicationController
apiVersion: v1beta2
id: cloud-delivery-test
labels:
  name: cloud-delivery-test
  version: 0.5.0
desiredState:
  replicas: 2
  replicaSelector:
    name: cloud-delivery-test
    version: 0.5.0
  podTemplate:
    labels:
      name: cloud-delivery-test
      version: 0.5.0
    desiredState:
      manifest:
        version: v1beta1
        containers:
        - name: cloud-delivery-test
          image: quay.io/littlebits/cloud-delivery-test:latest
          ports:
          - name: cloud-delivery-test
            containerPort: 7654
          env:
          - name: PORT
            value: 7654

It fails when used like so:
⧑  kubectl rollingupdate cloud-delivery-test -f kubernetes-v1beta2/replicationController.yaml

Continuing update with existing controller cloud-delivery-test.
F0113 23:31:57.503427   57607 rollingupdate.go:99] Missing/unexpected annotations for controller cloud-delivery-test: map[]

If I try a v1beta3 schema that looks like:
kind: ReplicationController
apiVersion: v1beta3
metadata:
  name: cloud-delivery-test
  labels:
    name: cloud-delivery-test
    version: 0.5.0
spec:
  replicas: 2
  selector:
    name: cloud-delivery-test
    version: 0.5.0
  template:
    metadata:
      labels:
        name: cloud-delivery-test
        version: 0.5.0
    spec:
      containers:
      - name: cloud-delivery-test
        image: quay.io/littlebits/cloud-server-delivery-test
        ports:
        - name: cloud-delivery-test
          containerPort: 7654
        env:
        - name: PORT
          value: 7654

then the error is:
⧑ kubectl rollingupdate cloud-delivery-test -f kubernetes-v1beta3/replicationController.yaml

F0114 09:43:17.497021   58006 resource.go:302] no object named "ReplicationController" is registered

The error generation comes from: https://github.com/GoogleCloudPlatform/kubernetes/blob/6e242739378fd830a62afb1375c80ad24254a85b/pkg/kubectl/rolling_updater.go#L154-L155
Am I correct that it is impossible to use the kubectl rollingupdate command against 0.8.0?

For clarity's sake here is my version info:
⧑ kubectl version

Client Version: version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-74-ga19bb1bd2948df", GitCommit:"a19bb1bd2948df280dfc1a94cc9a049e35cfb98d", GitTreeState:"clean"}
Server Version: &version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-dirty", GitCommit:"2b47f5482ca60fa111c31c973eaa7b0349260305", GitTreeState:"dirty"}

@jasonkuhrt Rename cloud-delivery-test to cloud-delivery-test2 or something else. kubectl rollingupdate doesn't update an existing ReplicationController, it replaces it with a new one.

Doc:
Replaces named controller with new controller, updating one pod at a time to use the
new PodTemplate. The new-controller.json must specify the same namespace as the
existing controller and overwrite at least one (common) label in its replicaSelector.
Examples:
$ kubectl rollingupdate frontend-v1 -f frontend-v2.json
  <update pods of frontend-v1 using new controller data in frontend-v2.json>

Looking into this now. I am able to run kubectl rollingupdate against a 0.8.0 cluster
Client Version: version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-344-g2594a199b318d8", GitCommit:"2594a199b318d8253026a27f30e72cd95632a4bd", GitTreeState:"clean"}
Server Version: &version.Info{Major:"0", Minor:"8+", GitVersion:"v0.8.0-294-gb030413c63c1f9", GitCommit:"b030413c63c1f9729bc3197dcaaa8107fbe0cd9d", GitTreeState:"clean"}

using a v1beta1 schema. So it may just be broken for v1beta2/v1beta3.

Also, v1beta3 isn't enabled by default. Here's a message about how to enable it:
https://groups.google.com/forum/#!topic/kubernetes-dev/ZqbLnrg5--8
@jlowdermilk It's user error. I think we need a clearer error message when the 2 replication controllers have the same name.

@bgrant0607, good catch.
@jasonkuhrt, can you confirm the command works with a distinctly named controller?

I see guys, ok, thank-you. Until @jlowdermilk's patch I don't think this was made clear anywhere : )
I will try this out tomorrow and close the issue if everything works.

Thanks @jasonkuhrt. It works differently from kubecfg rollingupdate, so I'm sure other people will encounter the same issue.


Parameter cannot be found that matches parameter name 'DisableLockscrTips'

Running .\Win11Debloat.ps1 -Silent -DisableLockscrTips fails with:
A parameter cannot be found that matches parameter name 'DisableLockscrTips'

Running the script with DisableLockscreenTips works fine.

Heya,
Thanks for reporting this issue. It has been fixed as of c808af0


Amount of calls (callers) only visible if the calling file includes the header file

I've defined the C-Function SimpleCSub_Main() in the files SimpleCSub.h/c.
I've called the C-Function SimpleCSub_Main() in the file SimpleTestSub.c
I can jump (F12, show Definition) from the C-Function call to the Function implementation regardless whether the calling function includes the header file or not.

If in the calling C-Function the header of the called C-Function is included everything is fine.
The Implementation shows the number of calls.

If in the calling C-Function the header of the called C-Function isn't included the C-Function implementation doesn't show the amount

I would expect that CQuery shows the correct amount regardless whether the include file of the caller is known. Somehow the information is known because the symbol table shows the called function and F12 (Show definition) works correct and jumps to the definition.
Ok, I can make sure all paths to header files are available. Then I have the trouble with different versions which includes different sets of header files.
Thanks a lot,
Helmut
Attachment:

Function Call without including the correct header file

Function Call with including the correct header file

Implementation

.Query file

# Needed for CQuery LSP server
%clang
%c -std=gnu11
%cpp -std=gnu++14
-xc
#-std=gnu11
# possible values see in
# - project.cc
-Wno-unknown-warning-option
-Wno-portable-include-path
-Wno-missing-field-initializers
-Wno-unused-parameter
-Wno-c++11-narrowing
-Wno-covered-switch-default
-Wno-unneeded-internal-declaration
-Wno-inconsistent-missing-override
-Wno-undefined-var-template
-Wno-nonportable-include-path
-Wno-address-of-packed-member
-Wno-unused-lambda-capture
-Wno-user-defined-warnings
-Wno-enum-compare-switch
-Wno-tautological-unsigned-zero-compare
-Wno-null-pointer-arithmetic
-Wno-tautological-unsigned-enum-zero-compare

This is a reasonable behavior. If the function is not declared, you should not call it.


Set up automation for changelog comments

See https://github.com/coreruleset/coreruleset/wiki/DevRetreat23DiscussionChangelogUpdates

What we could think about is working via a label. So the moment we merge, the PR has to carry a label. The label could be "Changelog approved". That means somebody does a proposal and somebody approves that. We can then search for the label as a nice side-effect.


Sign in – Blank page opens when login via magic link and click on Just sign in here

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.18-1
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4834115
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Go to https://staging.new.expensify.com/
In Sign in page enter new Expensify email
Open email and copy Magic link
In Incognito tab navigate via Magic link changed to staging
Click on Just sign in here link

Expected Result:
User is logged in
Actual Result:
Blank page opens
Workaround:
Anknown
Platforms:

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/09859e5b-a53e-4622-98f4-078de4bf7e63

View all open jobs on GitHub

We think that this bug might be related to #vip-vsb

@iwiznia and I were not able to simulate this error.
@IuliiaHerets can you please retest this and rewrite the reproduction steps if you can still see it happening?
Thanks

if this turns out to be a bug it might be due to https://github.com/Expensify/App/pull/46623 since seems related?

Closing this. We were not able to simulate, and this flow is being worked on another issues already.


Address naught write detection

Adds detection for writing to address 0 (not always an error) and flags to control it.:
# Address Naught

Often writing to address naught is a mistake, it indicates that some target address is unset,
especially in larger modes.  `address_naught` mode detects all writes to this address and gives a
new (to VM) error in that case - `AMX_ERR_ADDRESS_0`.  Note that this isn't always an error, it is a
valid address and real data can be stored there, so if this detection is enabled the mode must
ensure that nothing important will be written there (fixes.inc does this by defining and not using
the anonymous automata).

## Functions

There are several functions in the include to use these tests:

* `DisableCrashDetectAddr0();` - Disable address naught write detection in this mode.
* `EnableCrashDetectAddr0();` - Enable address naught write detection in this mode.
* `bool:IsCrashDetectAddr0Enabled();` - Is the error currently enabled?
* `bool:HasCrashDetectAddr0();` - Does the current version of crashdetect support this feature?

This also cleaned up some other register uses.

Made a new PR as I pushed some new irrelevant commits to the old one (which was from master).

Thanks Y_Less, this is surely a useful feature to have. And thanks for the comprehensive documentation, appreciate it. I've merged this locally with some minor formatting corrections in README (I hope you don't mind) and with a fix to enable the address_naught test in order to make it run together with the other tests when using make test.
On a side note, I noticed today that the long call detection test (long_call_ok) sometimes fails on my machine (Intel i5-7500) with the default setting of 5000, but 10000 works pretty stable. I wonder if this might be the case for other users and if it might be necessary to increase the default. What do you think?


Table components

Current coverage is 100% (diff: 100%)

Merging #56 into master will not change coverage

@@           master    #56   diff @@
====================================
  Files          42     74    +32
  Lines         911   1436   +525
  Methods       226    328   +102
  Messages        0      0
  Branches      162    286   +124
====================================
+ Hits          911   1436   +525
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 6f6924a...9d8d6d8


Will mongodb be supported ?

it should work with mongodb out of the box, please post here if you get any issue.
adding mangodb unittest to validate mangodb replication could be good change to implement, similar to mysql one.


[CSL-335] Apply and drop received blocks as soon as possible

@gromak
Currently all requested blocks are collected and then applied together. It's not always possible to apply block right after receiving it (if it's from fork), but usually it is. In this cases we should apply block and drop it from memory.

@gromak
Is it necessary to do by 15-th? With current code it's only an optimization. But maybe it will be necessary after TW is merged, because there alternative solution to blocks exchange is used.

@volhovm
Currently we don't have problems with block bloat because the size of queue is constant/limited and number of headers in one message is limited as well. But it might be useful to implement in future.

@georgeee
There are commits marked with [CSL-335] in master, but that's a mistake


Service notice of renaming branch main-nuxt to main

@kkukelka @roiLeo @vikiival

@yangwao do existing pull requests need to be updated in any way or are they now being merged into main automatically?

@yangwao do existing pull requests need to be updated in any way or are they now being merged into main automatically?

that's automatically.
Actually found that best is to clone repository as new as github toast did not expect there was previous branch at main :D

and i've upgraded https://github.com/kodadot/nft-gallery/blob/main/FIRST_TIME.md#quick-setup--

how to sync your fork https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

Added to FIRST_TIME
https://github.com/kodadot/nft-gallery/blob/main/FIRST_TIME.md#notice-for-contributors-before-15012022-


Seg Fault when running example

Hello, I was trying to use these binding to use Tree-sitter to parse USD files using this parser but calling parse_string would seg fault. So I tried to run the example program that is in the repo and it too seg faulted.
I've tried stepping through in gdb to see if I can figure out where the problem is but once it gets inside of tree-sitter itself I get lost trying to follow its parsing loop. Have I missed something simple that I'm overlooking?

Debug Output of example/main.odin
[DEBUG] --- [helpers.odin:165] Parse - new_parse
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:1, row:0, col:0
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:2, row:0, column:0
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:85, row:0, column:0
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'c'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'k'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'g'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'c'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'k'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'g'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:package, size:7
[DEBUG] --- [helpers.odin:165] Parse - shift state:9285
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:9285, row:0, col:7
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:7, row:0, column:7
[DEBUG] --- [helpers.odin:165] Lex - skip character:' '
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:0, row:0, column:7
[DEBUG] --- [helpers.odin:165] Lex - skip character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:identifier, size:5
[DEBUG] --- [helpers.odin:165] Parse - shift state:7787
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:7787, row:0, col:12
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:5, row:0, column:12
[DEBUG] --- [helpers.odin:165] Lex - consume character:10
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:_newline, size:1
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:package_declaration, child_count:2
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:declaration, child_count:1
[DEBUG] --- [helpers.odin:165] Parse - shift state:5913
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:5913, row:1, col:0
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:2, row:1, column:0
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:85, row:1, column:0
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'G'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'h'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'g'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'h'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'`'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'b'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'l'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'l'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'l'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'`'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:comment, size:49
[DEBUG] --- [helpers.odin:165] Parse - shift_extra
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:5913, row:2, col:48
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:2, row:2, column:48
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:85, row:2, column:48
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:import, size:7
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:source_file_repeat1, child_count:2
[DEBUG] --- [helpers.odin:165] Parse - shift state:6929
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:6929, row:3, col:6
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:10, row:3, column:6
[DEBUG] --- [helpers.odin:165] Lex - skip character:' '
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:0, row:3, column:6
[DEBUG] --- [helpers.odin:165] Lex - skip character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:identifier, size:3
[DEBUG] --- [helpers.odin:165] Parse - shift state:7038
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:7038, row:3, col:9
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:10, row:3, column:9
[DEBUG] --- [helpers.odin:165] Lex - skip character:' '
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:0, row:3, column:9
[DEBUG] --- [helpers.odin:165] Lex - skip character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'"'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:", size:2
[DEBUG] --- [helpers.odin:165] Parse - shift state:7443
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:7443, row:3, col:11
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:11, row:3, column:11
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:2, row:3, column:11
[DEBUG] --- [helpers.odin:165] Lex - consume character:'.'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'.'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:string_content, size:14
[DEBUG] --- [helpers.odin:165] Parse - shift state:7516
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:7516, row:3, col:25
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:11, row:3, column:25
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:2, row:3, column:25
[DEBUG] --- [helpers.odin:165] Lex - consume character:'"'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:", size:1
[DEBUG] --- [helpers.odin:165] Parse - shift state:4161
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:4161, row:3, col:26
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:5, row:3, column:26
[DEBUG] --- [helpers.odin:165] Lex - consume character:10
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:_newline, size:1
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:_string_literal, child_count:3
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:string, child_count:1
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:import_declaration, child_count:3
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:declaration, child_count:1
[DEBUG] --- [helpers.odin:165] Parse - shift state:5913
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:5913, row:4, col:0
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:2, row:4, column:0
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:85, row:4, column:0
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'G'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'h'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'g'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'h'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'`'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'b'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'l'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'l'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'l'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:' '
[DEBUG] --- [helpers.odin:165] Lex - consume character:'h'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:':'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'g'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'h'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'u'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'b'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'.'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'c'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'a'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'q'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'/'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'s'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'e'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'-'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'d'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'n'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'`'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:comment, size:99
[DEBUG] --- [helpers.odin:165] Parse - shift_extra
[DEBUG] --- [helpers.odin:165] Parse - process version:0, version_count:1, state:5913, row:5, col:98
[DEBUG] --- [helpers.odin:165] Parse - lex_external state:2, row:5, column:98
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Parse - lex_internal state:85, row:5, column:98
[DEBUG] --- [helpers.odin:165] Lex - skip character:10
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'i'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'m'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'p'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'o'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'r'
[DEBUG] --- [helpers.odin:165] Lex - consume character:'t'
[DEBUG] --- [helpers.odin:165] Parse - lexed_lookahead sym:import, size:7
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:source_file_repeat1, child_count:2
[DEBUG] --- [helpers.odin:165] Parse - reduce sym:source_file_repeat1, child_count:2

gdb backtrace
(gdb) bt
#0  0x00007ffff7e1474c in ?? () from /usr/lib/libc.so.6
#1  0x000000000040a4ea in runtime.mem_copy_non_overlapping (dst=0x69d770 "", src=0x69d6f0 "\200\304i", len=9223372036854775807) at /home/leto/Git/Odin/base/runtime/internal.odin:113
#2  0x000000000044200c in runtime.heap_allocator_proc.aligned_alloc-0 (size=104, alignment=16, old_ptr=0x69d6f0 "\200\304i", old_size=9223372036854775807, zero_memory=true)
    at /home/leto/Git/Odin/base/runtime/heap_allocator.odin:51
#3  0x0000000000442243 in runtime.heap_allocator_proc.aligned_resize-2 (p=0x69d6f0 "\200\304i", old_size=9223372036854775807, new_size=104, new_alignment=16, zero_memory=true)
    at /home/leto/Git/Odin/base/runtime/heap_allocator.odin:69
#4  0x00000000004027ee in runtime.heap_allocator_proc (allocator_data=0x0, mode=Resize, size=104, alignment=16, old_memory=0x69d6f0 "\200\304i", old_size=9223372036854775807)
    at /home/leto/Git/Odin/base/runtime/heap_allocator.odin:90
#5  0x00000000004096cc in mem.tracking_allocator_proc (allocator_data=0x7fffffffdae0 "0&@", mode=Resize, size=104, alignment=16, old_memory=0x69d6f0 "\200\304i", old_size=9223372036854775807, loc=...)
    at /home/leto/Git/Odin/core/mem/tracking_allocator.odin:122
#6  0x00000000004144e9 in runtime._mem_resize (ptr=0x69d6f0 "\200\304i", old_size=9223372036854775807, new_size=104, alignment=16, allocator=..., should_zero=true, loc=...)
    at /home/leto/Git/Odin/base/runtime/internal.odin:198
#7  0x0000000000417d0c in runtime.mem_resize (ptr=0x69d6f0 "\200\304i", old_size=9223372036854775807, new_size=104, alignment=16, allocator=..., loc=...) at /home/leto/Git/Odin/base/runtime/internal.odin:218
#8  0x0000000000442b0d in ts.set_odin_allocator.odin_realloc-2 (ptr=0x69d6f0 "\200\304i", size=104) at /home/leto/Programming/Odin/odin_treesitter/tree-sitter/helpers.odin:48
#9  0x000000000046619a in ts_subtree_new_node ()
#10 0x0000000000451766 in ts_parser_parse ()
#11 0x000000000045389f in ts_parser_parse_string_encoding ()
#12 0x00000000004073d6 in ts.parser_parse_string (self=0x69b2e0 " ", string=..., old_tree=0x0) at /home/leto/Programming/Odin/odin_treesitter/tree-sitter/wrappers.odin:44
#13 0x00000000004033f7 in main.main () at main.odin:54
#14 0x000000000040776c in main (argc=1, argv=0x7fffffffde98) at /home/leto/Git/Odin/base/runtime/entry_unix.odin:57
(gdb)

Hello! I looked into this and https://github.com/odin-lang/Odin/commit/bed18a17e6fbad407ac0304e5ca0b3058e1d9276 basically broke the use of the default allocator with the package directly. I made this commit: https://github.com/laytan/odin-tree-sitter/commit/1f6bafd4d95eaf996a693904c24cff988bea5025 to indicate you basically always need the compat allocator (or just not set an Odin allocator at all).
Thanks for letting me know!


SOLR-16931: ReRankScaler explain only works when debugQuery=true, sho…

…uld also work with debug=true
https://issues.apache.org/jira/browse/SOLR-16931

Description
Please provide a short description of the changes you're making with this pull request.
Solution
Please provide a short description of the approach taken to implement your solution.
Tests
Please describe the tests you've developed or run to confirm this patch implements the feature or solves the problem.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[x] I have added documentation for the Reference Guide

This PR is not building due to conflicts that occurred in CHANGES.txt. I'm going to create a new clean branch as it seems messy to get this branch past this problem.


GHCR docker container?

Have you read the Important information text above

[X] Yes i did

Current behavior
Container is only shared on docker hub.
Desired behavior
GitHub Container Registry is also a place to get the containers from
Links to screenshots
No response
To Reproduce
N/A
Software setup
N/A
Hardware setup
N/A
Additional context
GHCR has a lot more permissive rate limiting.

Hello @aaomidi
IF i understand you correctly, you want me to NOT host on Docker-Hub or to ALSO host on Github Container Registry?
Could you please clarify what you need and want me to do? This issue is little sparse.
Could you please clarify what you mean by "GHCR has a lot more permissive rate limiting."? Not sure i understand.
My motherlanguage is German, sorry if my english isnt good enough to undertand this slim-describen issue.

Could you please clarify what you mean by "GHCR has a lot more permissive rate limiting."? Not sure i understand.

Dockerhub has rate limiting in place: https://docs.docker.com/docker-hub/download-rate-limit/
I dont believe its something you, as the person creating the image should worry about.  Host wherever you feel appropriate

Hey @jseiser - Oh he means the Docker Image Pull Limit, now i understand.
Hey @aaomidi - Well if you hit your limit by pulling 200 images with an user account, im not sure what i can do about that 😄 but if you ask me if i could add GHCR as a 2nd source repo, i would have to look into that.

Oh yeah I was asking for GHCR in addition to docker hub. I can even make the PR for this, it's pretty simple since you just add another tag to the image and push it to GHCR.

Sure do a PR and i will look into that

Hey @aaomidi that PR looked good to me so i merged it, the documentation didnt really mention to setup permissions before hand so i had to figure out that the hard way. Ive dont that and now its on GHCR also.
But its weird,it looks like its 2 architectures somehow?!

Would this be compatible with #23 also?

Hey @aaomidi that PR looked good to me so i merged it, the documentation didnt really mention to setup permissions before hand so i had to figure out that the hard way. Ive dont that and now its on GHCR also.
But its weird,it looks like its 2 architectures somehow?!
Would this be compatible with #23 also?

I made it now compatible with #23
@aaomidi But my question remains un-answered, why are there no 2 architectures with is one of them unknown??!?

Thank you so much for figuring out the few things there.
I believe what's happening is provenance attestations: https://docs.docker.com/build/attestations/slsa-provenance/
I remember running into this problem before. Seems like it is a known issue with GHCR: https://github.com/orgs/community/discussions/45969
I remember just working around it by switching to docker/build-push-action@v3

Thank you so much for figuring out the few things there.

No problem, happy to help

I believe what's happening is provenance attestations: https://docs.docker.com/build/attestations/slsa-provenance/
I remember running into this problem before. Seems like it is a known issue with GHCR: https://github.com/orgs/community/discussions/45969
I remember just working around it by switching to docker/build-push-action@v3

ehh yeah .... 😕

Oh, some potentially good news: https://github.com/docker/build-push-action/issues/900

Very nice!

Can this issue be closed?
If you like this project, please give this repo and the docker-hub-repo a Star.


Make sure that anchor links in generated PDF work correctly

I am not sure whether this is even possible using pdfkit (might be a bug in pdfkit, plus I'm not sure if anyone even uses the PDF feature at the moment (let me know if you do!)

Turns out this is an issue with the version of wkhtmltopdf. One needs to use the static version that includes a patched QT, rather than the one from the package manager, from https://wkhtmltopdf.org/downloads.html.
I should clarify this in the specification, and maybe add a check for the version to PDF conversion.

I added a check (it tells the user what they have to do to get it to work, what version they need etc, as long as their file contains internal links), plus instructions in the README on how to install wkhtmltopdf properly (with a link to their download page rather than apt-instructions that won't work correctly).
Update to 1.10.0 to get this.


Add allowedGroups to UserConfig in IdZ configuration

https://github.com/cloudfoundry/uaa/issues/2505 -> Proposal 3.

@klaus-sap here you can see the smells from sonar
https://sonarcloud.io/summary/new_code?id=cloudfoundry-identity-parent&pullRequest=2606

Open a) combine default and allowed groups. So from understanding, if you have default groups defined, then these entries are automatically part of allowedGroups. So this behaviour should be implemented. b) Check if the limitation should be really done always or only in Identity Zone NOT EQUAL to 'uaa'

a) commit 6e6ab18
b) I would prefer to handle the IdZ configuration of all zones in the same way. If you don't want allowedGroups in the "uaa" zone, simply don't configure them

@klaus-sap Please add some scenario tests into
https://github.com/cloudfoundry/uaa/blob/develop/uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/ScimGroupEndpointsIntegrationTests.java
you can create an extra zone or stay in default , btw. zone creation https://github.com/cloudfoundry/uaa/blob/develop/uaa/src/test/java/org/cloudfoundry/identity/uaa/integration/util/IntegrationTestUtils.java#L671
Scenario I see
a) Add allowedGroups to zone and perform positive and negative test , means create the group
b) Update or deleted one entry in defaultGroups (because this has influence to allowedGroups) and then do the same create the groups and verify result

@bruce-ricard & I agreed that I would take over this PR review from our side as he will be unavailable for a couple of weeks. I am approving this PR.


case is not implemented

It'd be handy and probably not too difficult.

Any update on this? It would be really useful addition to the language.


Update of docs in advance of 0.2

As discussed, here's a few initial updates to the READMEs and other documentation in advance of the 0.2 release. I'm not sure about keeping "The Big Picture" in each of the sub-crates' readmes, and I think I'm missing some information for kernel and trees, so any help there would be appreciated. I'll dig into each of them a little bit more and try to improve those areas soon.
Any and all suggestions for improvements are welcome :)

Thank you for this @quietlychris - I've been out for a few days, I'll take a deeper look tonight.


MySQLContainer unable to run MySQL 8

I'm having trouble getting MySQL 8 (namely mysql:8.0.11 image) to run with Testcontainers. Container startup fails due to timeout, with the following output:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
log4j:WARN No appenders could be found for logger (org.testcontainers.shaded.io.netty.util.internal.logging.InternalLoggerFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
        ℹ Checking the system...
        ✔ Docker version should be at least 1.6.0
        ✔ Docker environment should have more than 2GB free disk space
        ✔ File should be mountable
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

org.testcontainers.containers.ContainerLaunchException: Container startup failed

	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:214)
	at org.testcontainers.containers.GenericContainer.starting(GenericContainer.java:638)
	at org.testcontainers.containers.FailureDetectingExternalResource$1.evaluate(FailureDetectingExternalResource.java:29)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: org.rnorth.ducttape.RetryCountExceededException: Retry limit hit with exception
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:83)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:207)
	... 9 more
Caused by: org.testcontainers.containers.ContainerLaunchException: Could not create/start container
	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:279)
	at org.testcontainers.containers.GenericContainer.lambda$start$0(GenericContainer.java:209)
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:76)
	... 10 more
Caused by: org.rnorth.ducttape.TimeoutException: org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:53)
	at org.testcontainers.containers.JdbcDatabaseContainer.waitUntilContainerStarted(JdbcDatabaseContainer.java:94)
	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:258)
	... 12 more
Caused by: org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException
	at org.rnorth.ducttape.timeouts.Timeouts.callFuture(Timeouts.java:70)
	at org.rnorth.ducttape.timeouts.Timeouts.getWithTimeout(Timeouts.java:43)
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:38)
	... 14 more
Caused by: java.util.concurrent.TimeoutException
	at java.util.concurrent.FutureTask.get(FutureTask.java:205)
	at org.rnorth.ducttape.timeouts.Timeouts.callFuture(Timeouts.java:65)
	... 16 more

Test ignored.

Process finished with exit code 255

Note:
I've tried overriding MySQLContainer#getDriverClassName to address the JDBC driver warning, but that didn't affect anything.
This can be reproduced with a very simple project using:
plugins {
	id 'java'
}

sourceCompatibility = 1.8

repositories {
	mavenCentral()
}

dependencies {
	testCompile 'junit:junit:4.12'
	testCompile 'mysql:mysql-connector-java:8.0.11'
	testCompile 'org.testcontainers:mysql:1.7.3'
}

public class DemoTests {

	@ClassRule
	public static MySQLContainer container = new MySQLContainer("mysql:8.0.11");

	private DataSource dataSource;

	@Before
	public void setUp() {
		MysqlDataSource dataSource = new MysqlDataSource();
		dataSource.setUrl(container.getJdbcUrl());
		dataSource.setUser(container.getUsername());
		dataSource.setPassword(container.getPassword());
		this.dataSource = dataSource;
	}

	@Test
	public void someTest() throws Exception {
		try (Connection con = this.dataSource.getConnection();
				PreparedStatement ps = con.prepareStatement("select 1");
				ResultSet rs = ps.executeQuery()) {
			while (rs.next()) {
				System.out.println(rs.getInt(0));
			}
		}
	}

}

Environment details:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

$ uname -srvmpio
Linux 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ java -version
openjdk version "1.8.0_172"
OpenJDK Runtime Environment (Zulu <IP_ADDRESS>-linux64) (build 1.8.0_172-b01)
OpenJDK 64-Bit Server VM (Zulu <IP_ADDRESS>-linux64) (build 25.172-b01, mixed mode)

$ docker version
Client:
 Version:      18.05.0-ce
 API version:  1.37
 Go version:   go1.9.5
 Git commit:   f150324
 Built:        Wed May  9 22:16:13 2018
 OS/Arch:      linux/amd64
 Experimental: false
 Orchestrator: swarm

Server:
 Engine:
  Version:      18.05.0-ce
  API version:  1.37 (minimum version 1.12)
  Go version:   go1.9.5
  Git commit:   f150324
  Built:        Wed May  9 22:14:23 2018
  OS/Arch:      linux/amd64
  Experimental: false

When you simply run it with
docker run -it --rm -e MYSQL_ROOT_PASSWORD=blablubb -p 3306:3306 mysql:latest
you can't connect to the database plain with normal connection. Even with not the latest MySQL Workbench this is an issue, see screenshot.

We could use a workaround for this:
docker run -it --rm -e MYSQL_ROOT_PASSWORD=blablubb -p 3306:3306 mysql:latest --default-authentication-plugin=mysql_native_password
This does even work for the 5.7, 5.6 mysql docker image but it does not work for the 5.5 one.
So the workaround should only applied to mysql docker images with version >= 5.6. But we can't decide by using docker tags since the docker tags are free to change for everyone.
We need a check for the version of given docker image before starting it. We could simply launch one container before and parse the version but this might be a big performance issue then.
If you want to use mysql:8 as docker image or mysql:latest I would suggest to add the command --default-authentication-plugin=mysql_native_password to your MySqlContainer instance.

Thanks @StefanHufschmidt - I originally tried to start the container manually and connect to it using mysql CLI client and was under impression that it worked, but I must've messed something up (like starting the wrong container :roll_eyes:) as now I do get the same ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded like you.
Hopefully this ticket can still be used to provide the solution within Testcontainers that would make it work out-of-the-box.

I read in https://dev.mysql.com/doc/connectors/en/connector-j-reference-configuration-properties.html that you could set the defaultAuthenticationPlugin property on the jdbc url. I tried to set it to com.mysql.cj.protocol.a.authentication.MysqlNativePasswordPlugin (even though the doc (erroneously?) says it's the default) but it does not work. Has anyone explored this option already?

Cool thanks @rnorth ! Will tests as soon as the next TC version is released!

FWIW I've tried to add the allowPublicKeyRetrieval=true to the jdbc url (which I think is what the PR does) but it doesn't help. Still timeouts at the Waiting for database connection to become available at jdbc:mysql://localhost:32836/test using query 'SELECT 1'
Logs
2019-06-17 16:02:22 ERROR 🐳 [mysql:8.0.16]:264 - Could not start container
org.rnorth.ducttape.TimeoutException: org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:53)
	at org.testcontainers.containers.JdbcDatabaseContainer.waitUntilContainerStarted(JdbcDatabaseContainer.java:129)
	at org.testcontainers.containers.GenericContainer.tryStart(GenericContainer.java:259)
	at org.testcontainers.containers.GenericContainer.lambda$doStart$0(GenericContainer.java:212)
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:76)
	at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:210)
	at org.testcontainers.containers.GenericContainer.start(GenericContainer.java:199)
	at org.testcontainers.jdbc.ContainerDatabaseDriver.connect(ContainerDatabaseDriver.java:117)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:208)
	at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:193)
	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:242)
	at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:117)
	at org.hibernate.service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:75)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:159)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:77)
	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2287)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2283)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1752)
	at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
	at sk.gov.csru.test.BaseServiceTest.beforeClass(BaseServiceTest.java:58)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37)
	at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: org.rnorth.ducttape.TimeoutException: java.util.concurrent.TimeoutException
	at org.rnorth.ducttape.timeouts.Timeouts.callFuture(Timeouts.java:70)
	at org.rnorth.ducttape.timeouts.Timeouts.getWithTimeout(Timeouts.java:43)
	at org.rnorth.ducttape.unreliables.Unreliables.retryUntilSuccess(Unreliables.java:38)
	... 43 more
Caused by: java.util.concurrent.TimeoutException
	at java.util.concurrent.FutureTask.get(FutureTask.java:205)
	at org.rnorth.ducttape.timeouts.Timeouts.callFuture(Timeouts.java:65)
	... 45 more
2019-06-17 16:02:22 ERROR 🐳 [mysql:8.0.16]:271 - Log output from the failed container:
Initializing database

2019-06-17T14:00:22.738715Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

2019-06-17T14:00:22.738885Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.16) initializing of server in progress as process 29

2019-06-17T14:00:29.809996Z 5 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

2019-06-17T14:00:34.477009Z 0 [System] [MY-013170] [Server] /usr/sbin/mysqld (mysqld 8.0.16) initializing of server has completed

Database initialized

MySQL init process in progress...

MySQL init process in progress...

2019-06-17T14:00:36.661374Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

2019-06-17T14:00:36.661502Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.16) starting as process 80

2019-06-17T14:00:37.491733Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.

2019-06-17T14:00:37.498641Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.

2019-06-17T14:00:37.550914Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.16'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server - GPL.

2019-06-17T14:00:37.709439Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/var/run/mysqld/mysqlx.sock'

Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.

Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.

Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.

Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.

mysql: [Warning] Using a password on the command line interface can be insecure.

mysql: [Warning] Using a password on the command line interface can be insecure.

mysql: [Warning] Using a password on the command line interface can be insecure.

mysql: [Warning] Using a password on the command line interface can be insecure.

2019-06-17T14:00:44.546199Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.16)  MySQL Community Server - GPL.

MySQL init process done. Ready for start up.

Mysql connector 8.0.16
Mysql 8.0.16
Docker:
Server Version: 18.09.5
API Version: 1.39
Operating System: Linux Mint 19.1
This should be reopened.


[C001038] Rep. Joseph Crowley

Rep. Joseph Crowley:
http://crowley.house.gov
Likely contact form URL to start with:
http://crowley.house.gov/contact-me/email-me

YMAL file not found. I am working on it.


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix many bugs

verify chain checksum
add more check during booting up
add more help and delete unused configure

Codecov Report

Merging #311 into release-rc4 will increase coverage by 0.96%.
The diff coverage is 31.46%.


docs: exoscale terraform v0.48

What this PR does / why we need it:
The migration script for the new exoscale terraform.
There are still som issues that needs to be addressed in exoscales terrafrom module.
I just added it to the next release, but it may change before this is done.
Which issue this PR fixes: fixes #270
Public facing documentation PR (if applicable)

Special notes for reviewer:
Checklist:

[ ] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[ ] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] requires draining and/or replacing nodes.
[ ] will break the cluster.
I.e. full cluster migration is required.

Shall this be closed until we decide to pick up Exoscale again?

Yes, I think we should close this. :cry:


Update FE dependencies

User Story: Update FE dependencies
Description
As a developer, I want to update the dependencies in our frontend codebase to ensure we are using the most current and secure versions.
Related Issues and/or PRs

Feature: https://github.com/oslabs-beta/ghost/issues/62

Acceptance Criteria

All outdated dependencies in the package.json file are identified.
Dependencies are updated to the latest stable versions.
The application is tested to ensure that no functionality is broken as a result of the updates.
Any issues arising from the update are resolved.
The codebase is free from vulnerabilities associated with outdated packages.

Definition of Done

All acceptance criteria are met.
The application builds successfully and passes all existing tests.
Manual testing is performed to verify that all major functionalities are working as expected.
Any new issues created as a result of the dependency updates are linked to this user story.
Documentation is updated if necessary (e.g., if major version updates require changes in how dependencies are used).

Dependencies and Assumptions

Assumes that all major functionalities are covered by tests.
Assumes that any breaking changes introduced by dependency updates can be resolved within the scope of this story.

can probably address this with @dependabot


build,stage1/init: fix x86 builds

This PR fixes some minor issues which lead to x86 builds failing.
The GOARCH environment variable should be 386 instead of i386, and the interpBin constant was missing for the x86 architecture.

ok to test

This looks OK for now, but the value of interpBin is really dependent on the source files used to create the stage1 image, and in general could be different for the different stage1 flavors. I'm thinking now that having these init_linux files could be problematic, and that maybe the solution is to have interpBin set by the build at configure or make.

The configure.ac fix is definitely a good catch, but I'm not sure I understand the other commit. interpBin is only used by stage1-coreos flavor and CoreOS (the distro) doesn't have x86 images. Why is it being added here?
Other than that, I agree with @glevand remark that interpBin constant should be coming from somewhere like usr_from_coreos.mk

I added the iterpBin constant here because the x86 build fails otherwise. Moving this constant out of init_*.go sounds like a good idea though. This was more of a quick fix.
Should I then just remove the second commit, and fix it in another PR?

Should I then just remove the second commit, and fix it in another PR?

Yes, please. It doesn't make much sense to keep multiplying files for architectures that don't even need it. amd64 & arm64 should be set via specific built-time constants, passing a default placeholder for the rest.

I have removed the 2nd commit.

LGTM


Fix SDK build under Windows OS environment

Description
Resolves linker issues when building under Windows OS environments.
Related Issues

Closes #3

LGTM! Confirmed on my machine using the following commands:
rem get repo
git clone --recursive https://github.com/hashgraph/hedera-protobufs-cpp.git

rem get dependencies
cd vcpkg
.\bootstrap-vcpkg
.\vcpkg integrate install
.\vcpkg install
cd ..

rem for VS2022 build system:
cmake -S . -B build -G"Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=R:/hedera/hedera-protobufs-cpp/vcpkg/scripts/buildsystems/vcpkg.cmake
rem or for Ninja build system:
rem     cmake -S . -B build -G"Ninja" -DCMAKE_TOOLCHAIN_FILE=R:/hedera/hedera-protobufs-cpp/vcpkg/scripts/buildsystems/vcpkg.cmake

rem do the build:
cmake --build build

rem artifacts in `.build\src\proto` (generated protobuf headers and sources)

(which I suggest be placed in the README.md or in some additional README-Windows-build.md or something.)

LGTM! Confirmed on my machine using the following commands:
rem get repo
git clone --recursive https://github.com/hashgraph/hedera-protobufs-cpp.git

rem get dependencies
cd vcpkg
.\bootstrap-vcpkg
.\vcpkg integrate install
.\vcpkg install
cd ..

rem for VS2022 build system:
cmake -S . -B build -G"Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE=R:/hedera/hedera-protobufs-cpp/vcpkg/scripts/buildsystems/vcpkg.cmake
rem or for Ninja build system:
rem     cmake -S . -B build -G"Ninja" -DCMAKE_TOOLCHAIN_FILE=R:/hedera/hedera-protobufs-cpp/vcpkg/scripts/buildsystems/vcpkg.cmake

rem do the build:
cmake --build build

rem artifacts in `.build\src\proto` (generated protobuf headers and sources)

(which I suggest be placed in the README.md or in some additional README-Windows-build.md or something.)

Actually, it's better to use the provided CMake presets which simply the build steps greatly:
# Windows
cmake --preset windows-x64-release
cmake --build --preset windows-x64-release

# Linux
cmake --preset linux-x64-release
cmake --build --preset linux-x64-release

# MacOS (Intel x64)
cmake --preset macos-x64-release
cmake --build --preset macos-x64-release

# MacOS (Aarch64)
cmake --preset macos-arm64-release
cmake --build --preset macos-arm64-release

Actually, it's better to use the provided CMake presets which simply the build steps greatly (these will also setup vcpkg and install deps):
# Windows
cmake --preset windows-x64-release
cmake --build --preset windows-x64-release

Didn't know that worked with vcpkg automatically, thanks.


v4.7 changelog

We should include a note that Zoom plugin now supports an on-premise Zoom server..

Otherwise looks good, removing assignment,

@AndersonWebStudio I'm going to merge this. If there are any API or Webhook changes that aren't included in the changelog, you can submit a separate PR for them.


How to use FatSecret4J for getting food calorie data

Hi,
I'm a newbie right here and I'm currently on an important project right now. I am planning for using FatSecret4J for my application. Can someone please help me and tell me how to use FatSecret4J for getting food calorie data?
Thank you

The example given in #7 seems to answer your question


Git repository details in window.title

When one has a folder open in VS Code, it always seems to be aware it's in a git repo, even if the folder you opened isn't the root of the repo.
It would be useful to be able to have the name of that repo available as a variable in the window.title setting.  And perhaps also, the folder path relative to the root of the repo.
My use case is: on Windows, with labels on taskbar buttons, say I have the following folder structure:
source
└─ git
   └─ someProject
      ├─ .git
      ├─ doc
      └─ src
         ├─ Api
         ├─ Data
         └─ Web
   └─ otherProject
      ├─ .git
      ├─ doc
      └─ src
         ├─ Api
         ├─ Data
         └─ Web

I may open a VS Code window for each Web folder and switch between them.
If I use ${folderName} or ${rootName}, I just see
[Web   ] [Web   ]
in my taskbar and I can't tell them apart.
If I use ${folderPath} or ${rootPath}, depending on what else I have open I just see
[C:\source\git\...] [C:\source\git\...]
same problem.
What I would like to see is
[someProject - Web] [otherProject - Web], or
[someProject/src/Web] [otherProject/src/Web],
something like that.
Repo name would be one way to accomplish that, in my case.
(Another possibility would be to allow some sort of syntax for a simple string replace, so I could get rid of "C:\source\git\ when using ${rootPath}.)

Why don't you simply open the someProject and otherProject folders?

Ah, perhaps I oversimplified the example a little too much for anyone to actually see the point! Sorry.
These are large multi-project .NET solutions actually, and in each solution, one project hosts a react&redux SPA.
When I'm working in VS Code, it's because I'm working in the client-side code and want a lean and fast experience editing it, and am not interested in any of the server-side stuff.  I don't want to load any of the C# code at all.
I'm typically opening source/git/someSolution/src/Web/ClientApp/, which is just TS code, and if I were to open source/git/someSolution/ instead just for the sake of the title bar, I would be involving not only the server-side parts of the Web project but also a half dozen other .NET projects that I'm not interested in at that time either.
Here's a more representative example of what these look like on-disk, including some of the myriad projects I'm not looking at.
This could be usefull if you are working with different worktrees of the same git repo in different windows and want to see which one is which on first sight without checking the absolute path of the file.
"window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${worktree}",


Update comment to reflect changes for wave condition usage

Update comment to reflect changes in #397

@Rosejoycrocker I am bypassing review requirement as this PR only adjusts a comment missed in #397


feat/stable-channel

Adds a target to manage a new stable channel:

Channel alpha will be used for development, in the dev cluster
Channel stable will be used for stg and pro cluster.

Makefile has been reworked to automatically install all the required binaries
The saas-operator catalog upgrade strategy has been changed to semver-skippatch so operator releases are automatically managed by OLM by just following the semver upgrade path for each channel.

Agreed in slack that we will document the process once the new release pipeline is in place.


Gcp nodes

This PR will add the node chaos scenarios for GCP clusters

Can one of the admins verify this patch?


onActivityResult is not getting called after a successful scan of credit card.

onActivityResult is not getting called after a successful scan of credit card.
using version 5.5.1
General information

SDK/Library version:
Android Version and Device:

Issue description

same issue I am also facing


lon/lat minutes are malformed when there's less than 4 decimals

I used a NMEA simulator ( https://chrome.google.com/webstore/detail/nmea-simulator/dfhcgoinjchfcfnnkecjpjcnknlipcll ) to test my setup, but it outputs minutes with 3 decimals instead of the expected 4.
This messed up my coordinates so I dug into the library and found that it always expects at least 4 decimals (on line 77, 106, 190 and 219).
Also, more precise coordinates (5 or more decimals) will be truncated.
I tried comming up with a solution but I need some sleep first. Hopefully I'll get back to this.

Ah thanks for raising the issue and digging in to find the cause.  Yeah it's a bit of a trade-off in the parsing logic--to keep it simple it just expects the 4 digits that the ultimate GPS modules send (for example a string like $GPGGA,064951.000,2307.1256,N,12016.4438,E,1,8,0.95,39.9,M,17.8,M,,*65 ).  It's a good future to-do to make it more general and see if it can be done so without a significant hit to the code size.  For now it's a low priority so I'll close this, thanks for investigating though!


Fix images affinity for local registry and digest

To fix issue 1676.
Use function parseRepositoryTag to support.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "1676-fiximageaffinity" git@github.com:yanchanghai/swarm.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@yanchanghai can you please add an integration test ?
also parseRepositoryAndTag is already in cluster/images.go it would be nice to have the function only in one place

Sure. Will update.

Signed-off-by: 易嘉<EMAIL_ADDRESS>@yanchanghai Is it possible for you to also re-sign your name in plain ASCII?

Thanks @yanchanghai we want to include this in our next RC, so I went away and carried your PR to merge it faster.
See https://github.com/docker/swarm/pull/1715

hi,
have we checked registry on swarm with compose..


feat: use from scratch in Dockerfile

After removing external helm cli and tar dependencies in #84 and #85 we can simply use a scratch container

Do not land, maybe this doesn't work after all 😢

Do not land, maybe this doesn't work after all 😢

First I got an issue when downloading the index because of missing certs:
Error: reloading "https://charts.bitnami.com/bitnami" chart repo: fetching index.yaml: Get "https://charts.bitnami.com/bitnami/index.yaml": x509: certificate signed by unknown authority

I see that other scratch container uses a multistage build and copy the certs from the builder image. After doing that however, the next issue appeared:
Error: reloading "https://charts.bitnami.com/bitnami" chart repo: open /tmp/index.797316597.yaml: no such file or directory

First I got an issue when downloading the index because of missing certs:
Error: reloading "https://charts.bitnami.com/bitnami" chart repo: fetching index.yaml: Get "https://charts.bitnami.com/bitnami/index.yaml": x509: certificate signed by unknown authority

I see that other scratch container uses a multistage build and copy the certs from the builder image. After doing that however, the next issue appeared:
Error: reloading "https://charts.bitnami.com/bitnami" chart repo: open /tmp/index.797316597.yaml: no such file or directory

In the end, I was able to solve the non-existent /tmp folder by creating an empty folder in the build image and copying it to its final location as a multistage step.

In the end, I was able to solve the non-existent /tmp folder by creating an empty folder in the build image and copying it to its final location as a multistage step.


Add libsetunbuf LD_PRELOAD-able helper

Adds a tiny LD_PRELOAD-able "libsetunbuf.so" library which
turns off the buffering of stdout on the process running under DMon.
This is useful for viewing the output of your process through DLog
in real time.


Deal with failed message

How do you handle failed messages? I can not see a feature to send nack

Liftbridge does not have a notion of acking (or nacking) since it's not a message queue but rather an append-only log. There is, however, an API that allows consumers to store cursors so that they can checkpoint positions in the log and resume consumption. In the future, consumer groups will extend this to make checkpointing more transparent to users.
In the case of a failed message, the consumer would need to update its position in the log to account for the message.

Thanks @tylertreat, Right
I think we have multiple options in case of a failed message (let's say due to a source code bug DB error... ):

update cursor's position: so we should process messages idempotent to skip next processed messages.
Dead Letters queue: send message to dead letters queue after multiple retries(change offset to retry the process).

I need to know what should we do in production in case of error, so what do you think? this is what you do in your apps?

Thanks @tylertreat


removed additional instance tests.

Signed-off-by: Mike Lloyd<EMAIL_ADDRESS>

Somehow I just noticed this.
What's the rationale here?

The additional instance functionality was not only duplicating supported functionality covered by CAPI, but it was causing blocking problems in the CI tests. Since it was duplicate functionality and broken, removing it seemed the most reasonable choice.

good enough for me. Fewer flaky tests is better :)


add is_simulator for iOS & Android device

hello, any response to pr?

This looks good, I will look at adding it to windows+wp8
Please change the new property to isSimulator instead of is_simulator.

a new pr is created for isSimulator.

https://github.com/apache/cordova-plugin-device/pull/35


feat: recordsFiltered Limit (Hard Limit in Config)

This will insert lengthMenu parameter according to max_record_per_page in config file. This will not affect manual lengthMenu insertion in "builder parameters". PSR2 CS Fix.
Part 2 / Part 1 (laravel-datatables https://github.com/yajra/laravel-datatables/pull/2565)

Hi, when will this feature be implemented? This is rather high security risk for the server, where end user can arbitrarily set the "length" parameter to very large number upon request and lead to high load of the server.

Updated PR and targeted to master. Please fix the conflicts or send a new PR. Thanks!


Find a way to make the line smoother

pygame.draw.aaline() doesn't seem to work well with colored lines. The blending makes them dark. But maybe with black it's ok? Also anti alias the circle line and the circles themselves if possible. Try pygame.gfxdraw. See which is faster and use the fastest version for lines and circles smaller than a threshold.

Try pygame 1.9.5. There seem to be some relevant fixes. Also see 559: Allow clean silencing of support prompt.

New idea: keep a list of points but use draw.aaline instead of aalines. This way I can do nice effects like fading out the line after some time (one orbit) or changing the color. In the simplest case I wouldn't have to redraw all lines every frame.

There are gaps between the lines drawn by pg.draw.aaline(). Looks like the team is working on it. Or maybe I should submit a bug report.
Regarding the fading out: Just draw it normally and blit a semitransparent layer on top. So the older the line the more layers are on top and the less visible is it.


Register table and column comments with engine

I know this might be asking a lot, so happy to talk about it, but I think it would be great if there were tests in the test_integration.py that would test creating an object with comments and then describe that table to verify they are actually there. If I'm reading this PR correctly, it would test creating comments on tables and views (if supported) for each engine.

I know this might be asking a lot, so happy to talk about it, but I think it would be great if there were tests in the test_integration.py that would test creating an object with comments and then describe that table to verify they are actually there. If I'm reading this PR correctly, it would test creating comments on tables and views (if supported) for each engine.
Also might want to verify on the test_sushi test that the comments defined on models are actually created on the target engine.

@eakmanrq I have most of the necessary components written from my own testing, so shouldn't be too big a lift.


Friday 19-01-2024 roll call

Roll Call!


On-demand and scheduled promotions

Problem Statement
Some environments might have strict regulations on when can changes be made, something like a release window.
Let's say we have multiple customers and to some of them we release updates automatically, but there is a client with an agreement to only release on Mondays working hours.
The current work-around is to use telefonistka for all other environments, but omit that specific one entirely, and on Monday morning an engineer checks out the repository, copies the contents from another prod environment into this environment and starts a PR.
Proposed Solution
There can be multiple solutions for schedules:

External scheduler: a scheduled pipeline, or a kubernetes CronJob would trigger telefonistka in either cli-mode, or send a http request towards the running instance of telefonistka, and then telefonistka would find the changes and start a new PR.
Internal scheduler: a promotion in the configuration (telefonistka.yaml) would have an additional field that could describe when to trigger itself.

But for on-demand promotions this gets trickier. Internal scheduler would not help here, so only cli-mode or http request looks like a valid solution.
There can be another solution altogether: long-lived branches and PRs:
Instead of tracking each change in each promotion path as a separate PR, telefonistka could scan the whole repository once the main branch get updated and have a long lived branch for each promotion - which would include all the changes from the source into target. Whenever the promotion PR would be merged, telefonistka could open a new one and accumulate all the drift there.
In that case scheduling would no longer be needed, as there would always be PRs with all the drift between environments, and an engineer could just merge it whenever it can be merged.
Alternatives Considered
Telefonistka can already receive webhooks from GitHub, it should be possible to "fake" the GitHub's webhook request and pass it to telefonistka to trigger this promotion, but it is only a work-around, that we haven't tested.
Another alternative is just doing it manually, which we are already doing.
@Oded-B what are your thoughts?
I'll be happy to work on this issue once we have an agreement.

My instinct is to go for the smallest, safest change:  "External scheduler" cli-mode, and rely on the features completeness of external scheduling systems like k8s cronjobs and CI/CD SAASs.
This will also be easier to test (if and when I'll add e2e tests :) )


feat: added international number support

I also thought about this, I can try to find formatter only without UI libs. or it could be simplified our custom solution. So open question

I agree with @zhelezkov on this one. Feels way to large of a package for something not that impactful.
And it feels like we can utilize regexp and replace here, as shown in a example here: https://stackoverflow.com/questions/8358084/regular-expression-to-reformat-a-us-phone-number-in-javascript
This solution looks tiny and relies on a proper regexp, we just need to write one and that would save us a lot of bundle size.
Ideally we can cover with a couple of small unit tests, but that's optional.
I would personally insist on keeping the bundle size as small as possible, and it seems that this is one of the examples where we should not use a library to do this for us.
Happy to discuss further.

If we don't want to waste too much time on this, there is another package that seems much smaller, and simple as a stick (but might require React plugin to be installed as well<EMAIL_ADDRESS>But again, if we can do it on our own, I would try to do it.

@fsher unfortunately regexp and imask is not enough to match phone number. Phone numbers with international code are much trickier than it seems, this solution 100% might result in incorrect formatting
just thinking: maybe we can omit formatting at all? 😂

what if we do 2 inputs? first - pick country code, second the actual phone number?

@fsher

what if we do 2 inputs? first - pick country code, second the actual phone number?
This is exactly what https://catamphetamine.gitlab.io/react-phone-number-input/ is doing. I don't think we want to re-write the whole logic by ourselfs.

@zhelezkov

just thinking: maybe we can omit formatting at all? 😂
I'm with you on this. It's better to unblock this pretty requested feature right away.

cc @AlekseiPetrovDev

if it adds 44kb mgziped and I have a requirement that bundle size should be small, I'd rewrite it.
My main point, there should be a way that doesn't add more to the bundle, since it's clearly an issue for people integrating Dialect, that doesn't add that much to a product and that we cannot live without it. We can always as @zhelezkov suggested do a simple validation, like +/d{1,3}/d{6,7} or something like that.

So I think it that case let's omit this at all.
Because any library will add some size to bundle. From scratch this feature looks like not couple of hours work, because there is could be really tricky cases.
Validation for numbers and special symbol like (+) should be enough then
Wdyt @fsher @zhelezkov @Kiryous ?

I'm happy, agreed!

agree!


[sival] Mark i2c_target_test_fpga_cw310_sival as broken

I've seen this test failing in multiple PRs now that don't touch any of I2C. I think it's most likely broken.
Examples of where it failed CI:

https://github.com/lowRISC/opentitan/pull/22599
https://github.com/lowRISC/opentitan/pull/22588
https://github.com/lowRISC/opentitan/pull/22621

It looks like this is going to be fixed by #22698 - thanks @engdoreis!


[BUG] Themed Clock icon not working in Android 11 - Lineage OS 18.1

About this discussion
Lawnchair: 12.1 Alpha 4
Lawnicons: 2.1.0
Icon: Clock (com.android.deskclock)
I also checked with Simple Clock (com.simplemobiletools.clock) and and same behavior.
Clock icon works as a normal icon:

But when Themed icons in home and app drawer is selected, it doesn't work:

Still not working in 2.2.0 @SuperDragonXD

Have the same issue, it looks very bad when one app icon shows different colour.
Always need to force stop the Lawnchair and change the icon pack and choose lawnicon again to fix this, bit annoying to do this every single time after changing wallpaper.

I suggest installing Lawnchair 14 Beta 2, the latest version of Lawnicons, and let us know if the problem still occurs.

I suggest installing Lawnchair 14 Beta 2, the latest version of Lawnicons, and let us know if the problem still occurs.

Yes, the Beta2 version fixed this issue for me.


[✨](styled kit): make-it-yours font customization

We'll need a different landing page to get this presentable.

Dependent on #891


Building cross-platform

I want to integrate h2spec into my tests. But it's a pain because I can't seem to build the binary using go get. I want a really simple way (single command) to build this binary for the current platform (either Mac or Linux, but also nice to support Windows in the future). Otherwise, I have to bundle multiple binaries into the test suite which seems like a hack.

Okay, I studied the go documentation and found out how to do it.
https://github.com/socketry/async-http/commit/a96e8c94986ae53e342455a064434cf1ed20df1d


Address issues found in the audit of the compile flags

This resolves #1238 (and makes it easier to maintain these lists of flags).

bors try

bors r+


fix(datasets): Fix secret scan entropy error

Description
https://github.com/kedro-org/kedro-plugins/pull/361 introduced a link to github which causes the secret scan to fail.
Development notes
Fixed it by updating the link to point to the master branch of the linked repo.
Checklist

[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added a description of this change in the relevant RELEASE.md file
[ ] Added tests to cover my changes

Just wondering if the raw link is preferred https://raw.githubusercontent.com/cloudpipe/cloudpickle/master/tests/cloudpickle_test.py but only because I've seen that used elsewhere.

Just wondering if the raw link is preferred https://raw.githubusercontent.com/cloudpipe/cloudpickle/master/tests/cloudpickle_test.py but only because I've seen that used elsewhere.

Hmm good question. I don't see any usage of the raw github links in our repo. I'll leave it like this for now, but might be something to update for the whole repo if the raw link is actually better.


v0.8.0 does not have SpriteStage included despite what docs say.

Hi there,
i've used bower to get the v0.8.0 of easelJS.. and tried to use SpriteStage, but it doesn't seem to be included in our package... is this a problem? why are there different versions of the same version?

SpriteStage and SpriteContainer are part of the Version 0.8.0 release on GitHub, but are not included in the minified version, since it is not an often-used feature. You have to include them manually from GitHub.
Cheers.

I'm not using the minified version, I'm using the unminified version 0.8.0 from a bower install

The unminified (combined) version still represents the "core" library (it is the same as the minified lib, except the source is readable, and it contains comments). The SpriteStage/Container is not part of the core library, and not included.
It might make sense to modify the bower install to include the 2 WebGL classes. We will evaluate.

Sure, thanks.. in the meantime we can get them like this:
"EaselJS": "CreateJS/EaselJS#master",
"SpriteStage": "https://raw.githubusercontent.com/CreateJS/EaselJS/master/src/easeljs/display/SpriteStage.js",
"SpriteContainer": "https://raw.githubusercontent.com/CreateJS/EaselJS/master/src/easeljs/display/SpriteContainer.js"
The docs should probably explain the core library concept, and explain they aren't core files

I guess it could be more obvious. At the bottom of the main description it says "Note: SpriteStage is not included in the minified version of EaselJS."
We are considering adding an "easeljs-webgl" min file to the /lib folder, which contains the tagged version of the 2 classes.
Cheers.

There is a webgl minified version now, which should come down with a bower install. We are considering including this file on the next CDN release.


Make certificates validity configurable via EtcdStorage Spec and define default values

Closes #52
This PR adds three new fields to the EtcdStorage Spec for defining etcd-proxy certificate validity:

signingCertificateValidity - duration for how long the self-signed singing certificate is valid. Takes duration in form of a string as defined here (GoDoc).
servingCertificateValidity - duration for how long the serving certificate/key pair is valid. Takes duration in form of a string as defined here (GoDoc)..
clientCertificateValidity - duration for how long the client certificate/key pair is valid. Takes duration in form of a string as defined here (GoDoc).

As there is no CRD Defaulting in place for now, the operator must provide those three fields when creating EtcdStroage resource.

feel free to merge on green.


Reprocess older raw data in new ROS driver updates via gsdb files instead of data_recorded

A new feature  allows for the usage of ADMA PP (GeneSys Post processing software), enabling raw ADMA data (.gsdb) logging via ADMA ROS driver. To save disk space and prevent recursive data saving, the ROS driver should reprocess raw data with the .gsdb file instead of using the bag files filled with data_recorded.
As a result, the "record" mode in the config.yaml file would no longer be necessary. Raw data will be logged with the gsdb node in the launchfile going forward.
A minor benefit of this change is that ADMA data logged with the Windows Ethernet Logger or with the ADMA Data Logger CLI can now be processed in the ADMA ROS driver.

Implemented and tested successfully. Will be integrated in the next release v2.2.x.


feat: change subscription_alias_name to optional

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
Is your feature request related to an issue?
Currently, subscription_alias_name is a required variable when subscription_alias_enabled is enabled. In cases where you might want to rename the alias, you can change subscription_display_name, but subscription_alias_name cannot be changes with a destroy/create. The native azurerm_subscription makes the alias parameter optional, and instead generates its own UUID.
Describe the solution you'd like
Change subscription_alias_name to an optional variable when subscription_alias_enabled is true.
Additional context

Yes, I could, but then the alias_name has a readable name that may conflict with the display name as opposed to a generic UUID.

I see. In that case it would be possible to supply a UUID for the alias name in the first instance, correct?


Debug > Restart = Ctrl+Shift+F5

This page says:
Then restart the app (Debug > Restart, Ctrl+F5,

and it should be:
Then restart the app (Debug > Restart, Ctrl+Shift+F5,

:-)

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

ID: 7542d51c-4ba4-db5d-cd34-4517779684a8
Version Independent ID: ef7b3a39-814e-9c56-c2e1-6611464aa650
Content: Learn Flask tutorial in Visual Studio step 1, Flask basics
Content Source: docs/python/learn-flask-visual-studio-step-01-project-solution.md
Product: visual-studio-windows
Technology: vs-python
GitHub Login: @JoshuaPartlow
Microsoft Alias: joshuapa

Thank you for your feedback.  I have updated the documentation and it should be live by tomorrow.


Allow opening a single RowGroup

The OpenFile function parses the page index of all row groups, which for large files (100GB+) can already take a couple of seconds. It would be great to have an API which allows the user to open a set of row groups instead opening all of them.

Hello @fpetkovski, thanks for opening this discussion!
I agree this improvement would be useful; maybe an alternative would be to figure out how to lazily parse the page index when it is first accessed instead of on open, so the application only pays for what it uses. What do you think?

That would work great as well 👍
In addition to the lazy processing, most queries can easily be easily parallelized between row groups. So by using multiple cores we would make the overhead of opening a file go away.


⚠ Bofrost.ch has degraded performance

In f143245, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 5034 ms

Resolved: Bofrost.ch performance has improved in ee7f8c0 after 6 minutes.


Code not in sync with puppet Forge?

It looks like the forge.puppet.com module is the code from 1.1.1 but with a 1.2.0 version string. Something doesn't add up.
puppet module install --modulepath /usr/local/etc/puppet/code/site_modules zleslie-pkgng
If I look at the first few lines of manifests/init.pp from the Forge module:
class pkgng (
  Pattern[/^\/.*/] $pkg_dbdir     = $pkgng::params::pkg_dbdir,
  Pattern[/^\/.*/] $pkg_cachedir  = $pkgng::params::pkg_cachedir,
  Pattern[/^\/.*/] $portsdir      = $pkgng::params::portsdir,
  Array            $options       = [],
  Boolean          $purge_repos_d = true,
  Hash             $repos         = {},
) inherits pkgng::params {

Whereas the Github code shows:
class pkgng (
  Stdlib::Absolutepath $pkg_dbdir     = $pkgng::params::pkg_dbdir,
  Stdlib::Absolutepath $pkg_cachedir  = $pkgng::params::pkg_cachedir,
  Stdlib::Absolutepath $portsdir      = $pkgng::params::portsdir,
  Array[String]        $options       = [],
  Boolean              $purge_repos_d = true,
  Hash                 $repos         = {},
) inherits pkgng::params {

I noticed this difference because my Puppet installation kept adding WITH_PKGNG=YES to make.conf over and over again. Which is the behavior of 1.1.1.

Oh, my dyslexia... Version on Github is 2.1.0, Puppet Forge version is 1.2.0.
Any chance the version on Forge will be update soon? I now have the Github 2.1.0 version running and it looks to be working correctly.

The forge has been updated for this module.