Increased number of npm ERR! cb() never called! failures

On the WordPress/Gutenberg repository, we've been experiencing an increased number of workflows failing due to the following error:
npm ERR! prepareGitDep npm ERR! cb() never called!
npm ERR! prepareGitDep
npm ERR! prepareGitDep npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! prepareGitDep npm ERR!     <https://npm.community>
npm ERR! prepareGitDep
npm ERR! prepareGitDep npm ERR!  A complete log of this run can be found in:
npm ERR!     /home/runner/.npm/_logs/2021-06-10T14_22_37_959Z-debug.log

It has happened on almost all of the workflows in the repository running npm install or npm ci. It is seemingly random, but has only happened on:

Jobs using NodeJS 14.
Jobs using ubuntu-latest.

We have not encountered the issue on MacOS jobs, or any job that uses NodeJS 12. In most cases, re-running the workflow will succeed, but occasionally a third run is required.
Some examples of this happening:

https://github.com/WordPress/gutenberg/runs/2772750162?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2796371763?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2792357958?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2794893452?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2796376926?check_suite_focus=true

From what I've been able to find on this error, there are three ways people usually resolve this issue:

Running npm cache clean --force.
Uninstalling and reinstalling NodeJS.
Changing the ulimit for NodeJS.

We've ruled out that any cache being restored from https://github.com/actions/cache is causing the problem (unless there is some type of cache at the system level), as the error has happened when there was no cache restored. Some workflows where that is the case:

https://github.com/WordPress/gutenberg/pull/32588/checks?check_run_id=2794349657
https://github.com/WordPress/gutenberg/runs/2795420302?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2804309744

I don't think we have the ability to try the other two ways to resolve.

Just to add a few more jobs showing this error since creating the initial ticket:

https://github.com/WordPress/gutenberg/runs/2821787867?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2820196534?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2820180799?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2820180683?check_suite_focus=true
https://github.com/WordPress/gutenberg/runs/2820173098?check_suite_focus=true

Looks like this error is also happening in other repos. Just had an instance in WordPress/wordpress-develo: https://github.com/WordPress/wordpress-develop/runs/2824875313?check_suite_focus=true.

+1, also getting this randomly for our private dev builds using npm ci

Same here using npm ci --also=dev on actions/setup-node@v2

I am also experiencing this her is an example https://github.com/SkyCryptWebsite/SkyCrypt/runs/2956889763

this is probably related to https://github.com/npm/cli/issues/417

Experiencing the same issue. Has anyone found any workarounds for this yet?

We use azure pipelines and this sometimes happens on our pipelines when using ubuntu 20.04. It also happened once on my own ubuntu. The funny thing is that running npm install a second time after this error happens does not raise the error again, it just works.


"Recent change" information appears in the middle of the file in addition to above the source code.

For some reason in one of my files GitLens shows the last file modification information not only above the source code but also right in the middle of it between line 5 and 6
https://i.imgur.com/XEDfujw.png

GitLens Version: 9.9.3

VSCode Version: 1,38,1
OS Version: Windows NT x64 10.0.18362

Steps to Reproduce:

I don't know
It's only this one file that's affected
I was able to reproduce it on a different computer by simply opening the repository and the file

I think the class definition is what causes this issue. But only if the closing curly brace isn't on the same line as the opening one. This is really strange.

Might be related to https://github.com/eamodio/vscode-gitlens/issues/371

@KerimG That is as-designed. GitLens adds git code lens to the top of the file and on code blocks.
You can easily configure where these show up via, GitLens: Open Settings from the command palette:

Oho! I've never noticed it before so I thought that it's a rendering bug.
Thank you and I'm sorry for the pointless issue post!

No worries at all! Glad to help.


made the code more prettier

Nice! If you have time to re format the new index page that would be great 😃


Bad certificate - issue in firefox

Not sure how to fix it. Thought I'd let you know.

I thought this was no longer an issue. I'll need to know if this is also a problem for other people. First time I encountered this issue, I simply "accepted" the risk!

2 notes here:

I'm using firefox and chrome on my debian machine and I've tries with chrome on another computer with MacOS installed and it works;
Can you try to delete the cache of your firefox (just in case).


Provide compatibility/transitional modules for old package hierarchy

The goal would be to provide the old package hierarchy with all classes deprecated, and marked as (empty) subclasses of their equivalent.

Followup of #13

Received a tip that Groovy might be a good tool for this job. It has extensive metaprogramming capabilities.

If we can't figure this out (it sounds like quite a challenge), we may end up doing what e.g. Jena also did, and just say "rename your imports" in the upgrade documentation. Or we can go one step further and provide a script that automatically replaces import statements in Java code.

I think that we should just provide a tool to find and replace the package imports. Creating dummy classes in the old packages will be a big bag to carry on with releases.

@nikolavp upon reflection I think you are right. There's no doubt that the transition will be a pain for some of our users, but it's probably best to just make it a clean break and provide some basic support. In any case, the package rename is not very difficult:
s/org.openrdf/org.eclipse.rdf4j
s/info.aduna/org.eclipse.rdf4j.common

@nikolavp , we would only support a migration package for one or two releases, but it would be a burden in general as you say. The main reason for it would be to enable a small changeover period for transitions for third-party libraries, as it is simple to change ones own code with find-replace but more difficult to get upstream libraries to either change or rerelease.

Third-party libraries is a good point.
Most of the time if a library is moving to a major new version for one of it's dependencies, it should probably also increase it's major version. Maybe this should be pointed out in the upgrade guide?
Sadly this won't prevent the problem where the user is upgrading rdf4j(sesame) but forgets to upgrade a library that depends on sesame or even worse the library doesn't have a new release. I see no way to prevent that from happening.


feature: Automatic updates

Did you check the docs?

[X] I have read all the lazy.nvim docs

Is your feature request related to a problem? Please describe.
There is no real problem, but it would be cool to be able to start lazy update everytime we launch vim and there is updates pending.
Describe the solution you'd like
A new settings like config.checker.auto_updates defaulted to false but when true automatically start lazy update if pending updates detected at vim start.
Describe alternatives you've considered
Writing it my self (but I don't know how to do it)
Additional context
No response

vim.api.nvim_create_autocmd("VimEnter",{callback=function()require"lazy".update()end})
I see no reason why something so simple should be added as an option

Add this to ~/. config/nvim/lua/config/autocomds.lua
local function augroup(name)
  return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
end

vim.api.nvim_create_autocmd("VimEnter", {
  group = augroup("autoupdate"),
  callback = function()
    require("lazy").update({
      show = false,
    })
  end,
})

I don't want to update packages every start, so I use the variation
local function augroup(name)
  return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
end

vim.api.nvim_create_autocmd("VimEnter", {
    group = augroup("autoupdate"),
    callback = function()
        if require("lazy.status").has_updates then
            require("lazy").update({ show = false, })
        end
    end,
})

@Weltolk @ibotty , whats the use of having this function?
local function augroup(name)
  return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
end

since it is already defined in https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
do we need to re-declare it in ~/. config/nvim/lua/config/autocomds.lua ?
Also, what does it do haha cant figure it out

@alan-barzilay

since it is already defined in https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua do we need to re-declare it in ~/. config/nvim/lua/config/autocomds.lua ?

At a glance you can see that this function is declared local, and is not at any point attached as a member to an object that is returned by the script. Thus, it is not "visible" outside of it and therefore not usable outside of it either.
Also, not everyone who uses Lazy.nvim uses LazyVim, so even if it wasn't local, it could still be a useful bit of information.
That said, I'd personally just slap that group = vim.api.nvim_create_augroup('lazyvim_autoupdate') directly into the call to vim.api.nvim_create_autocmd('VimEnter', { ... }). It's mostly a matter of preference.

Also, what does it do haha cant figure it out

It creates an AuGroup, auto-command group. This is a way to organise them, (kinda like namespacing), enables some extra nice features for the aut-commands it contains, and is also just generally highly recommended that you set a group or any auto-command that you create.
It this case it prefixes lazyvim_ to the group name to reduce risk of it clashing with the names of other AuGroups.
The { clear = true } option—which is the default anyway—clears existing commands if the group already exists.
Check out the official VimScript docs for AuCmds and AuGroups and Folke's glorious Lua docstrings

Adding this to autocmds.lua didn't work for me, needed to go in options.lua as the VimEnter event had already occurred by the time autocmds.lua loaded.
https://github.com/LazyVim/LazyVim/issues/2592#issuecomment-2015093693


Atari env

Did you test this in Atari environments? Can you share some of the results?

No, we did not test in Atari envs. It should be possible to extend PEG to Atari though, but goal generation would need to be done in some latent space, like Director.


App crash sign in production

Hello
During the development everything went fine, but when in the production got an error while login
It say DEVELOPER ERROR
react native: 0.47
platform: Android

Facing same issue in production any solution for this?

read the android guide https://github.com/devfd/react-native-google-signin/blob/master/android-guide.md

@g33ktony I've read the documentation and follow all the instructions given. But still doesn't work.
Meanwhile I do realize that this only happen after I upload in Google Play Store. I did try install manually the release apk in my phone and it worked flawlessly
This really give me a headache

Me too !

@irsyadmhdilham I solved it by following this answer https://stackoverflow.com/a/46150573/8511248
You problem may be caused by the feature called Google Play App Signing. By this feature, Google will resign your app with its own key before publishing. There are two ways to solve this problem.

Disable this feature
Add Google's signing key to your firebase console

@haxxpop is the correct one. You can add as many fingerprints as you need one of them is bound to fix the issue.

In an effort to clean the issues up, this is being closed. Please open a new issue with a reproduction if you're still experiencing a problem.


Change sidebar from fixed to relative possible?

Hello,
thank you for your great example! I would like to change the fixed navigation to relative. So that the menu will be in place when scroll down the page. Do you have an approach idea for me how I can make that?

Should be able to do this sort of thing now with the new flexbox update.


Remove the parameter: ResourceQuota

when I run the Powershell which includes Resource Quota parameter, the warning message: the parameter resourcequota is obsolete, so please remove it in the article.

Docs Build status updates of commit 9da1f78:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/New-SPOSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@dariomws @tseward @get-itips

@Byronliu123 Gentle reminder.

@Byronliu123 Please implement the suggested feedback so that merge can be initiated. Thanks

@tiburd Please help.

Closing this PR based on reviewers' comments.


Add a Lazy type that compiles to delay/force

Describe the feature you'd like
See this comment from Roman: https://github.com/IntersectMBO/plutus/pull/5901/files#r1563932610
Describe alternatives you've considered
No response

I think this can be done with some simple library code:
newtype Lazy a = Lazy (forall b . a)

force :: Lazy a -> a
force (Lazy a) = a @()

And I'd prefer if we called it Delay rather than Lazy, since it's not lazy in the sense of Haskell since it's not memoized.

Probably the type instantiation should be at a builtin type, so we don't hold on to the unit type definition if we don't need it.


scores/…/all should show the language

For example, see https://code-golf.io/scores/π/all. The table is OK and you can filter by the language, but if you're looking at “All Langs” you can't see what language was used.

Not entirely sure if it is resolved. See https://code-golf.io/scores/quine
There are perl 6 solutions but none of them are listed. This reminds me of https://github.com/JRaspass/code-golf/issues/14


Possibility to jam dual band WiFi (2,4G/5G)

Hi! I used this jammer and it works nicely with HackRF One, but when I am trying to jam a access point with both bands 2,4GHz and 5GHz, it does not work, maybe because when I am trying to connect with my phone for instance, the 5G signal is inhibited but not the 2.4G so the phone quickly changes. It is possible make adjustments to emit noise with only one device for both bands?

U need write all bands in config
Not like 2.5 5.0
U need write each channel on wifi because hackrf use 20mhz bandwidth its to small...

Also if u need jam all bands 5-4-3g
Use modmobjam for this


Flatten properties for RedisCache

@alfantp - Make sure you regenerate node sdk using the latest version of Atuorest, and make corresponding changes in the cli.


Create assert dependency

What do you think of adding an assert dependency to allow for testable assertions?
If you like the idea I can flesh out the documentation and add assertionFailure

@stephencelis @mbrandonw What do you think of this addition?

@john-flanagan Thanks for the PR, this is fun! I think we'll be a little conservative adding too many core dependencies to the library for now. Ideally we figure out an internal modularization strategy that makes it a bit easier to do so.
We definitely think it's worth sharing this on the GitHub discussions, though, and if you ship a library that contains this dependency and/or more, we'll definitely link to it in the README. You may also chat with @tgrapperon to see if he thinks it could belong in his Dependencies Additions extension library.

Hey @john-flanagan! I'm indeed totally open to include this extension in "Dependencies Additions". I'm setting up the Discussions page of the repo, so feel free to open a discussion there or to PR if you want. There are safety precaution to take though, as this dependency could easily be exploited to bypass internal checks. But there are ways to harden them, so we can discuss!

@tgrapperon I opened a discussion on your repo! https://github.com/tgrapperon/swift-dependencies-additions/discussions/17
Looks like you already have a lot of great additions.


[CP] Replace removed deprecated Ruby method in tool helper script

issue_link
https://github.com/flutter/flutter/issues/109385
Commit Hash
dce82f7
Target
beta
pr_link
https://github.com/flutter/flutter/pull/109475
Impacted Users
Devs who upgrade to Ruby 3.2 and develop an iOS or macOS app with plugins (most apps)
Impact Description
Ruby 3.2 is still in preview (beta), but has removed a deprecated method used in a Flutter script that runs when users build iOS or macOS apps that contain plugins.  When Ruby 3.2 is released (not sure the schedule, could be before the next Flutter stable) if users upgrade they will not be able to build or release their iOS or macOS apps.
Note for why test coverage confidence is low (no selected): I am confident we have good automated test coverage for the current stable version of Ruby where the deprecated and replacing method is present, so coverage that the method replacing the deprecation will work on stable Ruby.  However, we have no automated testing covering the preview version of Ruby.  However, I am confident via manual testing that the replacing method will work on both the current stable as well as the preview version.
Workaround
Users can downgrade to current stable Ruby 3.1.2.  Users could also manually edit the Ruby script in the SDK.
Risk
low
Test Coverage
no
Validation Steps
Install and use Ruby 3.2 (preview for now). RVM or other package manager is an install option.
On a Mac already set up for Flutter iOS development (Xcode, CocoaPods, etc):
$ cd /path/to/flutter-sdk/dev/integration_tests/flutter_gallery
$ flutter clean
$ flutter build ios

If build succeeds, fix is validated.

Marking this as approved.
CC: @CaseyHillers


default branch rename: master -> main

Tracking issue for the branch rename, it can be closed when the branch has been renamed and notification sent to steering public list.

branch has been renamed, email sent to public list. Going to go ahead and close.
/close


High resource consumption

The python completer is using a full core. This happened after waking my laptop in the morning.

dtruss shows the syscall count as:
CALL                                        COUNT
munmap                                         86
mmap                                          131

I recorded a trace via Instruments, but didn't get anything new out of it.
Any ideas what could have caused this? During normal operation, this does not happen.

Similar issue #62
I believe this is upstream issue. // cc @davidhalter
That's why only jedi source is running as a standalone process.
Maybe we need more workarounds. Like auto restarting the process when there's no edit activity for a while.

// cc @theFool32

There might still be issues in jedi 0.11.0, I'm not sure. If you can reproduce it, please open an issue. This was definitely an issue in 0.10.2, so if your jedi version is that old, please upgrade.

Can't repro. Will update if that becomes the case.


[Issue]: Fails to compile: Hardcoded path to hsa.

Problem Description
Try to compile this with hsa headers located in /opt/rocm/include/hsa.
It will not compile, failing to find said headers. This is due to clr/hipamd/src/hip_embed_pch.sh, which forces a bunch of hard-coded compiles instead of using a cmakelists file. It ignores -DCMAKE_CXX_FLAGS, forgetting to pass them on.
It's missing options to set where ROCM headers are or ignores it entirely when called via cmake. Either way, does not compile out of the box. Variables are forgotten and the thing just assumes the defaults are defined and work (which they aren't, paths to libraries can vary!)

 Got output;
09_hip/hip/include/hip/hcc_detail/hip_runtime_api.h:48:10: error: 'hsa/hsa.h' file not found with <angled> include; use "quotes" instead

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

Note: This can be solved by hard-copying the headers (or linking them in) like so;
mkdir -p "$BASEDIR/09_hip/hip/hsa";
rsync -av "/opt/rocm/include/hsa/hsa.h" "$BASEDIR/09_hip/hip/hsa/hsa.h";
mkdir -p "$BASEDIR/09_hip/hip/include/hip/hcc_detail/hsa/"
rsync -av "/opt/rocm/include/hsa/hsa.h" "$BASEDIR/09_hip/hip/include/hip/hcc_detail/hsa/hsa.h";
mkdir -p "$BASEDIR/09_hip/clr/hipamd/include/hsa/"
rsync -av "/opt/rocm/include/hsa/hsa.h" "$BASEDIR/09_hip/clr/hipamd/include/hsa/hsa.h";
rsync -av "/opt/rocm/include/hsa/amd_hsa_kernel_code.h" "$BASEDIR/09_hip/clr/hipamd/include/hsa/amd_hsa_kernel_code.h";
rsync -av "/opt/rocm/include/hsa/amd_hsa_common.h" "$BASEDIR/09_hip/clr/hipamd/include/hsa/amd_hsa_common.h";
rsync -av "/opt/rocm/include/hsa/hsa_ext_amd.h" "$BASEDIR/09_hip/clr/hipamd/include/hsa/hsa_ext_amd.h";
rsync -av "/opt/rocm/include/hsa/hsa_ext_image.h" "$BASEDIR/09_hip/clr/hipamd/include/hsa/hsa_ext_image.h";
rsync -av "/opt/rocm/include/hsa/hsa_ven_amd_loader.h" "$BASEDIR/09_hip/clr/hipamd/include/hsa/hsa_ven_amd_loader.h";

Hi @AphidGit, internal ticket has been created to investigate your issue. Thanks!

Hi @AphidGit,
It looks like there is an issue with the compiler looking inside of the wrong directory for the hsa related header files. It may be related to the compiler trying to look for hsa/hsa.h within HSA_PATH so it may be trying to include hsa/hsa/hsa.h instead of hsa/hsa.h.
I was however able to build HIP from source instead by following the instructions available here: Build HIP From Source. One thing to mention is that it is missing the dependency for llvm so run: sudo apt install rocm-llvm-dev. Could you give these instructions a try and let me know if you run into any issues? Thanks!


How activate in app?

How to activate a tweak for any application? is there a tweak in cydia?

Use FLEXing


[Security Tooling] Digital Product Pass Trivy always failing because of False Positive

Security Tooling Support Request

[ ] KICS
[ ] Invicti / OWASP ZAP
[ ] GitGuardian
[x] Trivy
[ ] Veracode (initial setup, GitHub integration)

Issue Description
We are getting always our workflow falling because of a false positive:
https://github.com/eclipse-tractusx/digital-product-pass/security/code-scanning/698
We need to pass the next quality gates so all the workflows must be running smoothly
It is detecting the "semanticId" of catena-x as a secret and we need it in the configuration so we can find the models for searching in the Digital Twin Registry.
We want to stop it to fail because of this false positive, or at least that you can support us with that...

Hi, There are no more high security vulnerabilities existed, even that it is getting failed. You could find the recent workflow run here: https://github.com/eclipse-tractusx/digital-product-pass/actions/runs/7604764938
Thank you!

The workflow is always failing.... @RoKrish14 I think you misunderstood it.

Please tag me under this link for me to look over:
https://github.com/eclipse-tractusx/digital-product-pass/security/code-scanning/698

How do you mean tag me under this link?

Hi @RoKrish14,
Thank you, we have applied your proposed solution and it worked for us if we include all HIGH and MEDIUM vulnerabilities to the .trivyignore file. Adding only HIGHLY ones doesn't work.

Issue has been resolved.

.trivyignore file has been created to mark False Positives,
Failure of the workflow with High findings has been adderssed with a trade-off


[Breadcrumb] Fix focus visual margin

Updates Focus visuals to match the figma design
Description
Updates the focus visual margins to match the figma design:

Stretch margin to allow 2 pixels to the sides and 3 for vertical spacing
Reduces the margin by 1 pixel to contain the dropdown item

Motivation and Context
Figma matching
How Has This Been Tested?
The implementation was reviewed through design meetings (need ok)
Screenshots (if appropriate):
Expected:

First item margin

Current item margin

Drop Down item margin

/azp run


Serialization of Attention Layer

This might be a Keras problem but have you tried serializing some of the layers? I tried the following to save a model that contains SoftAttention:
    from keras.engine import Input, Model
    from keras.layers import Embedding, SimpleRNN
    from keras.models import model_from_json, model_from_yaml

    embedding_matrix = np.random.randn(100).reshape((10, 10))
    num_vocab, embedding_size = embedding_matrix.shape

    input_layer = Input(shape=(10, ), dtype='int32', name="data_padded")
    embedding_layer = Embedding(num_vocab, embedding_size, input_length=10, mask_zero=True)(input_layer)
    rnn_layer = SimpleRNN(5, return_sequences=True)(embedding_layer)
    attention_layer = SoftAttention()(rnn_layer)
    loss_layer = Dense(1, activation='sigmoid')(attention_layer)

    model = Model(input_layer, loss_layer)
    model.summary()
    model.compile('adam', loss='binary_crossentropy', metrics=['accuracy'])

    x = np.random.randint(0, 10, 10).reshape(1, -1)
    y = np.random.randint(0, 2, 1)
    model.fit(x, y, nb_epoch=1)

    path = ""

    # -- save
    config_text = model.to_json()
    with open(path + '_config', 'w') as f:
        f.write(config_text)

    model.save_weights(path + '_model', overwrite=True)

    # -- load
    m = model_from_json(open(path + '_config', 'r').read(), custom_objects={
        'SoftAttention': SoftAttention
    })
    m.load_weights(path + '_model')

And I get this error:
Traceback (most recent call last):
  File "~/src/deep_learning/layers/attention.py", line 329, in <module>
    'SoftAttention': SoftAttention
  File "~/lib/python2.7/site-packages/keras/models.py", line 209, in model_from_json
    return layer_from_config(config, custom_objects=custom_objects)
  File "~/lib/python2.7/site-packages/keras/utils/layer_utils.py", line 34, in layer_from_config
    return layer_class.from_config(config['config'])
  File "~/lib/python2.7/site-packages/keras/engine/topology.py", line 2395, in from_config
    process_layer(layer_data)
  File "~/lib/python2.7/site-packages/keras/engine/topology.py", line 2390, in process_layer
    layer(input_tensors[0])
  File "~/lib/python2.7/site-packages/keras/engine/topology.py", line 517, in __call__
    self.add_inbound_node(inbound_layers, node_indices, tensor_indices)
  File "~/lib/python2.7/site-packages/keras/engine/topology.py", line 571, in add_inbound_node
    Node.create_node(self, inbound_layers, node_indices, tensor_indices)
  File "~/lib/python2.7/site-packages/keras/engine/topology.py", line 174, in create_node
    str(output_shapes))
Exception: The `get_output_shape_for` method of layer "softattention_1"" should return one shape tuple per output tensor of the layer. Found: [(None, 5)]

I think it's related to JSON not serializing optional arguments.
Thanks

Hi @tokestermw
I haven't usually save my models to json.  Most of these are for research purposes. I do load checkpoint weights, but I don't build the model from the json:
https://github.com/braingineer/neural_tree_grammar/blob/master/fergus/models/fergus_recurrent/model.py#L73
Sorry if that's an inconvenience.  If you ever want to help bring up to speed, I'd be more than happy to look over any PRs.  I just don't have to bandwidth to make this happen right now.
Best,
Brian


How to avoid Friendly Reminder page and directly take to tunneled page ?

Please suggest to avoid the below message page which is annoying.
Friendly Reminder
This website is served via a localtunnel. This is just a reminder to always check the website address you're giving personal, financial, or login details to is actually the real/official website.
Phishing pages often look similar to pages of known banks, social networks, email portals or other trusted institutions in order to acquire personal information such as usernames, passwords or credit card details.

Unfortunately you can't avoid it at the moment.
You only see it once per tunneled subdomain per IP per 7 days.
The page will only show up for requests coming from browsers. You can change your user-agent (via browser extensions or dev tools) to something non-standard like "localtunnel" to bypass the page for your own browser.
I've implemented this due to people abusing the publicly hosted service and use these free subdomain tunnels to host phishing portals, which then causes the entire *.loca.lt domain to get flagged for phishing...ruining it for everyone else.
I know it's annoying but it's a must have. Feel free to self-host your own localtunnel server on your own domain to avoid seeing this notice.

Thank you so much for your prompt reply with explanation.

Feel free to self-host your own localtunnel server on your own domain to avoid seeing this notice.
Since I am new to these concepts, if I get step by step tutorial to make my own sever at DigitalOcean
that would be highly appreciated.

All you need is nodejs on your server and follow the instructions here: https://github.com/localtunnel/server
That should set you up with http, https is going to be a bit more involved and depends on your setup

Thanks again...
let me learn more...

I am getting this message frequent times a day, although my IP never changes. This is very annoying, because it breaks some integration scenarios (like OAuth). I would really appreciate if there would be a way to disable it.

Hey @derwaldgeist,
Do you have the tunnel subdomain/url change frequently during the day?
Remember this page shows up per subdomain/ip combination per 7 days.
This is to stop an evil person sending their victims a harmless cutecat.loca.lt url, followed by a facebook-security-check.loca.lt link days later after the victim already acknowledged the tunneled page.
If you want to disable it, change your browser useragent to something non-standard like localtunnel instead of the standard user agent like Chrome: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36.
I only show this page to requests coming from real looking browser user agents.

Hi @TheBoroer Thanks for the fast reply. No, my domain doesn't change at all.

@derwaldgeist
I think I''ve spotted the issue. Can you please let me know if it's still happening for you?
I'll keep checking my own subdomain randomly throughout the day too

I got DigitalOcean and tried to setup localtunnel like server with below steps.
I don't know how to proceed next.
Could you please help me ?
For our own server what is the client and how to setup in local system ?

In DigtalOcean I have created a Ubuntu Droplet
logged in via Putty from Window PC and done these commands

apt update -y
apt upgrade -y
apt install nodejs -y
apt install npm -y
git clone git://github.com/defunctzombie/localtunnel-server.git
cd localtunnel-server
npm install
apt install golang-golang-x-tools -y
bin/server --port 1234

I got this message from my droplet:

Setting up golang-golang-x-tools (1:0.0~git20191118.07fc4c7+ds-1) ...
Processing triggers for man-db (2.9.1-1) ...
root@ga:~/localtunnel-server/bin# server --port 1234
Defaulting to port 8080Listening on port 8080
Can I understand my server is ready for localtunnel ?
Now what to do in my local system (raspberry pi) ?
Please help me...
please recommend if some one has done step by step tutorial for freshers like me.

@derwaldgeist
I think I've spotted the issue & pushed a fix. Can you please let me know if it's still happening for you?
I'll keep checking my own subdomain randomly throughout the day too

Thanks for the info. I'll keep an eye on it. Could it be that this also fixed the problem that subdomains can't be reclaimed if the tunnel has been stopped? Because it seems as I now reliably get the subdomain again, which is awesome.

@TheBoroer Unfortunately, the "Friendly reminder page" is still a problem. But the tunnel subdomain is now available much more reliably.

I also noticed that the "Friendly Reminder" page does not work if you use the app inside a web view on a mobile device.  I have to open the same page on my desktop browser before, otherwise the app would be "broken".

But the tunnel subdomain is now available much more reliably.

Unfortunately, this did not last long. Today, even after many hours of sleeping I was not even able to re-establish the subdomain on first try.

If some linux and server logic experts spend little time, one can easily make their own localtunnel server with $5/month at DO.  Also if any expert succeeded please teach me too. I am on the middle of it and keep trying...

I trying to use this to while developing a Shopify app that runs on a on Meteor. This warning screen is sent every single time I refresh the embedded app as well as when the SockJS connection is established and so my web sockets never connect due to malformed JSON. I understand the reasoning behind the page and that it should only appear every 7 days, but for some reason this is not the case.

Hi @copleykj Good to see you here. :-) My app is actually a Meteor app as well, but I don't think this is related to Meteor in particular. This tunnel page - together with the other problem that domains cannot be re-established - renders localtunnel pretty useless for my use-case. I would really love to use it, though. So I hope there's a chance to resolve this somehow. Happy to help if I can.

BTW: I am also getting a 404 message or an nginx error quite often recently. The tunnel tends to break down after a while.

@derwaldgeist I've only experienced the subdomain issue once and I just ended up changing the subdomain to make it work. For the most part I'm finding it more useful than ngrok which I had to pay for to get anything other than a random subdomain. Resolving the minor issues would be fantastic though.
As far as errors, I seem to be getting frequent 502 errors from nginx as well.

@copleykj I agree, it would be awesome if it worked reliably. Regarding the subdomain issue: I am experiencing it with all subdomains I tried.

BTW: I am also getting a 404 message or an nginx error quite often recently. The tunnel tends to break down after a while.

I don't know why but some websocket tunnels end up throwing piping errors, crashing the localtunnel guard which sometimes could cause other clients to disconnect...smh. I'll have to dig deeper, sorry for the inconvenience everyone!
@derwaldgeist @copleykj
I also use an in-memory db (I know, shame on me...but it was quick and easy at the time) for keeping track of the subdomain/ip/timestamp consent combo...so if it crashes the previous consents get wiped out. I'll switch to a persistent db so in case the services ever crash again the consent will still stay hidden for a full 7 days. my apologies

I also noticed that the "Friendly Reminder" page does not work if you use the app inside a web view on a mobile device.  I have to open the same page on my desktop browser before, otherwise the app would be "broken" and has to be restarted. Tbh, I am not sure if this page is a good thing in the first place. I understand the reasoning about it, but effectively it's causing more "harm" than helping anybody.

Interesting! i will take a look at this webview issue this weekend. I'll send an update then

Thanks for sharing your insights, highly appreciated!

If some linux and server logic experts spend little time, one can easily make their own localtunnel server with $5/month at DO. Also if any expert succeeded please teach me too. I am on the middle of it and keep trying...

Try using docker and the docker instructions in these repos:
https://github.com/localtunnel/nginx
https://github.com/localtunnel/server

Interesting! i will take a look at this webview issue this weekend. I'll send an update then

To be honest, for these type of scenarios, it would be better if that page was disabled in the first place. The thing is: if a web app is embedded in a native app, there's quite often some kind of glue logic that ties the two pieces together. And if the glue logic is missing (because of the info page), strange things might happen. Ok, the app should be able to deal with it, but still...

To be honest, for these type of scenarios, it would be better if that page was disabled in the first place. The thing is: if a web app is embedded in a native app, there's quite often some kind of glue logic that ties the two pieces together (for sending messages between native and web). And if the glue logic is missing (because of the info page), strange things might happen. Ok, the app should be able to deal with it, but still...

Is javascript blocked/limited in your webview by any chance? That would explain why the continue button won't work (it does an ajax request back to my server to save the consent before letting you continue).
If it's your own webview app, aren't you able to set a custom user-agent or headers to tag onto all webview requests in order to  bypass the consent screen like that?

My guess @derwaldgeist is that CORS is getting in the way of the XHR used to consent to the localtunnel connection.

@TheBoroer

sorry for making everyone's lives harder, the bad guys made me do it lol

Haha, we understand that certain measures must be taken to stop potential abuse.

Is javascript blocked/limited in your webview by any chance?

No, I need full JavaScript support, so it is enabled

custom user-agent or headers to tag

Setting a custom user-agent might break certain other functionalities, like YouTube integration and such. But I could add a header, if that makes sense. Which header would I need?

No, I need full JavaScript support, so it is enabled
In that case, I'm not sure why the continue button wouldn't be working for you. I'll try to reproduce this issue sometime.

Setting a custom user-agent might break certain other functionalities, like YouTube integration and such. But I could add a header, if that makes sense. Which header would I need?

I've added the header Bypass-Tunnel-Reminder (you can set its value to be anything, e.g. true) which should let you bypass the reminder page within your app's webview :)   lmk if that works for you!  I'll add that tip/documentation to the tunnel reminder page when I get a chance.

Sounds good! So I guess I'll have to add this as an HTTP header? I thought it would be in the HTML header. I'll have to figure out if Meteor allows to set the default HTTP header somehow.

Sounds good! So I guess I'll have to add this as an HTTP header? I thought it would be in the HTML header. I'll have to figure out if Meteor allows to set the default HTTP header somehow.

Yeah sorry I should have clarified. It has to be an HTTP header or something the client side would have to set (e.g. changing the client's user-agent works too). It would kind of defeat the purpose of the tunnel reminder page if you could bypass it by doing something server-side including adding something to the html header tag because the phishing guys would just do that to bypass and lure in their victims.
Were you talking about webview as in a mobile app with an in-app browser that loads your tunnelled site? Do you control the app too? If yes to both of thess, I saw some things on stackoverflow that show you can change your mobile app's webview code to intercept each request (i only saw it for ios and android)

Ok, thanks for the clarification. Yes, we have control over the app, but it's embedded in Unity and we're using a native plugin here, so we don't have full control over the integration. In case you're curious, you can find our app at https://marblear.com (or in the app stores as "Marble Moments").

Hey @derwaldgeist @copleykj
I just had some free time to push an update to my localtunnel-guard service. I ditched the in-memory db and it'll now persist the 7day ip/subdomain combo. You'll only see the tunnel reminder page once per 7 days, per subdomain, per public IP. I hope that helps you guys out a bit.
By the way, cool app idea @derwaldgeist! Can you let me know what user-agent your unity native plugin sets?

After several days of learning I could see the localtunnel is working on my cloud server now.
But some thing still missing.
I wanted to show some static html home page on my main Eg: domain.com
And I need the localtunnel only on my sub domain Eg:  lt.domain.com
Is it possible to do both task in one droplet with single domain ?
Can some one help me to configure /etc/nginx/nginx.conf and /etc/nginx/conf.d for this ?
Btw, I use localtunnel suggested nginx conf files.

Having this issue too. I'm running Snipcart, which needs to crawl a public page to verify products/prices, but it's hitting this URL instead. Any idea how to bypass this url?

Snipcart

If you have control over the snipcart crawling options, just add a HTTP header Bypass-Tunnel-Reminder with any value (e.g. true) and you'll be good to go!
If you can't control the crawler's HTTP request header options then I'm sorry, you're out of luck here. Try the other open alternative servers listed in the issues or ngrok.

@TheBoroer : Cloudflare and Firewall for security.
You advice to secure the own localtunnel server would be highly appreciated.

I couldn't succeed enabling ufw (Even cloud firewall).
Since localtunnel randomly using the tcp ports for each clients, what are the ports we could block ?

Thought of using Cloudflare as a middleman, and in that case also the tunneling is not working.

@gaamaaresosa You won't be able to use cloudflare's security or cdn or any other services (except plain dns control) with this server.

For security, you'll have to depend on the software and firewall installed on your linux server. I think the main port you need to worry about is the SSH port. Instead of blocking, you could install something like fail2ban and setting up 2FA logins so your server wont get brute forced. I wouldn't block any specific ports on your localtunnel installation since like you said, localtunnel uses random tcp ports for each client.

The reason for not being able to use cloudflare as a middleman with a localtunnel server out of the box is because localtunnel uses random tcp ports but Cloudflare only proxies through a handful of standard ports unless you're paying for their enterprise plan.

@gaamaaresosa You won't be able to use cloudflare's security or cdn or any other services (except plain dns control) with this server.

For security, you'll have to depend on the software and firewall installed on your linux server. I think the main port you need to worry about is the SSH port. Instead of blocking, you could install something like fail2ban and setting up 2FA logins so your server wont get brute forced. I wouldn't block any specific ports on your localtunnel installation since like you said, localtunnel uses random tcp ports for each client.
The reason for not being able to use cloudflare as a middleman with a localtunnel server out of the box is because localtunnel uses random tcp ports but Cloudflare only proxies through a handful of standard ports unless you're paying for their enterprise plan.

Excellent thanks TheBoroer !
Since how many days I was wandering without any clue.
I will explore fail2ban to know what is that and how to handle...

fail2ban

Just now

fail2ban and setting up google 2FA logins.
These 2 steps successfully down a while ago.
Experts like you helping us a lot and teaching many new things.
Thanks again TheBoroer !

@TheBoroer:

fail2ban and setting up google 2FA logins.
These 2 steps successfully down a while ago.
Experts like you helping us a lot and teaching many new things.
Thanks again TheBoroer !

@TheBoroer : Could you please help me to make a log file on localtunnel server ?
I spend several hours and I couldn't find at which point I could write a simple log file.
I mean when a client device contacting this server with few options, like --port = 5000, --subdomain = xyz, --host = https://myhost.com
I need to trap these information and write a log file.
Please tell be which js file and which function we could get these information ?

"host phishing portals" Remind me how are used freewebhostings and CDN services like netlify. Unfortunately, everyone gets worse experience due to those people.

If those using localtunnel to expose the api url are getting this page, it's easy to bypass it in the background.

@fuadsayef Can you please tell how to do it?

https://stackoverflow.com/a/77764864

Does the page still load when the service is only used for receiving webhooks and callbacks?

Does the page still load when the service is only used for receiving webhooks and callbacks?

If the service making the callback/webhook sends the request using a user-agent header value that looks like a legitimate web browser's user agent then yep you'll still get the reminder page. Most services that send callbacks/webhooks use a non standard user agent though so those requests should pass by fine


Pure-CSS line numbering

Something worth exploring, is the possibility of rendering line numbers with pure CSS. This is an idea that has been detailed at: https://sylvaindurand.org/using-css-to-add-line-numbering/
If a prototype is doable and validates the general idea, maybe we can get rid of complex HTML code generation and styling.

Might be related to: https://github.com/pygments/pygments/issues/1395

CSS counters are supported in all major browsers: https://caniuse.com/css-counters
:before and :after as well: https://caniuse.com/css-gencontent

This is a great idea :)


[Merge v3.0.1] into Master

HOTFIX Release Overview
This is an urgent hotfix to revert the code to v2.9.0 functionality

Closing this to branch from Master

Closing this to branch from Master


Build at least one variant of the fuchsia engine on mac

Now that we have some more machines this should be doable.  Would have helped avoid https://github.com/flutter/engine/pull/21248
@godofredoc @digiter @cbracken

Even just building a single variant is probably enough to start if we're concerned about capacity.

Obsolete


The image in PDF cannot be displayed

test.pdf
The file has been uploaded on page 5

There's too little information for me to go on.


Icons/images are distorted when starting Atom from the command line

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Seems like some images/icons are distorted when starting Atom via command line. This started happening after update to v1.19. I'm currently at v1.20 and it's still happening.
Atom started from command line using atom . command:

Atom started from Spotlight:

(Markdown preview at the top, find and replace panel at the bottom.)
Steps to Reproduce

Start Atom from command line.

Expected behavior: Icons to look 👌
Actual behavior: Icons look like 💩
Reproduces how often: 100%
Versions
> atom --version
Atom    : 1.20.0
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0

> apm --version
apm  1.18.4
npm  3.10.10
node 6.9.5 x64
python 2.7.10
git 2.14.1

macOS Sierra 10.12.6
Additional Information
This issue from VSCode repo might be relevant: https://github.com/Microsoft/vscode/issues/28345

This is no longer happening in v1.20.1. 🤔
cc @50Wliu

Never mind, still happening.

@scholtzm: Are you still able to reproduce this issue? If so, can you point to a specific file I can open to see the problematic icons?

Seems like this is not an issue anymore.


Add shield of the pastalord and stuff

seems fine. i will state for posterity that i think it is a little silly that we are refusing to oust crown. one instance of beaten up is like 20 turns of random marginal equipment in the hat slot. bjorn is "good" but this is not a profitable script, until we do libram stuff with the new accessory. then maybe it will be profitable.


[RFC] Asynchronous Offline Batch Inference and Ingestion to OpenSearch

Problem Statement
Nowadays remote model servers like AWS SageMaker, BedRock, or OpenAI, Cohere, etc all support batch predict APIs, which allow users to send large amount of synchronous requests in a file like S3 and produce the results asynchronously into a file as the output. Different platform use different terminology, e.g. SageMaker uses "batch transform" and bedrock uses "batch inference", but they are all the same in the sense of accepting the requests in the batch mode and process them asynchronously. While some uses require to send synchronous requests, but there are many cases where requests do not need an immediate response or certain rate limits prevent you from executing a large number of queries quickly. For example, in this case, the customer experiences throttling issues by the remote model and the data ingestion cannot finish.
In this RFC, "batch inference" is used as the terminology to represent the "batch" operations in all remote servers. The benefits of utilizing batch inference can be summaries but not limited to 1) Better cost efficiency: 50% cost discount compared to synchronous APIs (number may vary for different servers) and 2) Higher rate limits compared to the synchronous APIs.
For OpenSearch users, the most common use case of batch inference is to ingest embedding data into the K-NN index for vector search. However, the entire Ingest API in OpenSearch was designed for stream data processing. So all of the data processing capabilities supported by our ingestion processors aren’t optimized for batch ingestion and they do not accept files as inputs for ingestion.
This RFC focus on the these two improvements:

Enhance our AI connector framework in order to support these batch APIs
Provide a new ingest API to ingest data into the OpenSearch from files like S3, openAI files, etc which are the output of these batch APIs.

Proposed Solution

Phase 1 : Add new “batch_predict” action type in AI Connector framework (released in OpenSearch 2.16)
Add a new action type “batch_predict” in the connector blueprint. This action type is to run batch prediction using the connector in ML-Commons. An example of the connector for sageMaker is given below. Different model frameworks have different configuration of the connector, and we will define multiple ConnectorExecutors to easily extend batch prediction for other new AI models.
# Example API requestPOST /_plugins/_ml/connectors/_create
POST /_plugins/_ml/connectors/_create
{
  "name": "DJL Sagemaker Connector: all-MiniLM-L6-v2",
  "version": "1",
  "description": "The connector to sagemaker embedding model all-MiniLM-L6-v2",
  "protocol": "aws_sigv4",
  "credential": {
    "access_key": "<your access key>",
    "secret_key": "<your secret key>",
    "session_token": "<your session token>"
  },
  "parameters": {
    "region": "us-east-1",
    "service_name": "sagemaker",
    "DataProcessing": {
        "InputFilter": "$.content",
        "JoinSource": "Input",
        "OutputFilter": "$"
    },
    "ModelName": "DJL-Text-Embedding-Model-imageforjsonlines",
    "TransformInput": {
      "ContentType": "application/json",
      "DataSource": {
         "S3DataSource": {
            "S3DataType": "S3Prefix",
            "S3Uri": "s3://offlinebatch/sagemaker_djl_batch_input.json"
         }
      },
      "SplitType": "Line"
    },
    "TransformJobName": "SM-offline-batch-transform-07-12-13-30",
    "TransformOutput": {
      "AssembleWith": "Line",
      "Accept": "application/json",
      "S3OutputPath": "s3://offlinebatch/output"
   },
   "TransformResources": {
      "InstanceCount": 1,
      "InstanceType": "ml.c5.xlarge"
   },
   "BatchStrategy": "SingleRecord"
  },
  "actions": [
    {
      "action_type": "predict",
      "method": "POST",
      "headers": {
        "content-type": "application/json"
      },
      "url": "https://runtime.sagemaker.us-east-1.amazonaws.com/endpoints/OpenSearch-sagemaker-060124023703/invocations",
      "request_body": "${parameters.input}",
      "pre_process_function": "connector.pre_process.default.embedding",
      "post_process_function": "connector.post_process.default.embedding"
    },
    {
        "action_type": "batch_predict",
        "method": "POST",
        "headers": {
            "content-type": "application/json"
        },
        "url": "https://api.sagemaker.us-east-1.amazonaws.com/CreateTransformJob",
        "request_body": "{ \"BatchStrategy\": \"${parameters.BatchStrategy}\", \"ModelName\": \"${parameters.ModelName}\", \"DataProcessing\" : ${parameters.DataProcessing}, \"TransformInput\": ${parameters.TransformInput}, \"TransformJobName\" : \"${parameters.TransformJobName}\", \"TransformOutput\" : ${parameters.TransformOutput}, \"TransformResources\" : ${parameters.TransformResources}}"
    }
  ]
}

After the connector new action type is added, add a new API for batch inference jobs. To be consistent with the current “Predict” API in ML-Commons, the new API is named batch-prediction-job. This API maps to the “create_transform_job” API in SageMaker and “model-invocation-job” API in Bedrock. Example request of the new batch inference API.
POST /_plugins/_ml/models/dBK3t5ABrxVhHgFYhg7Q/_batch_predict
{
  "parameters": {
    "TransformJobName": "SM-offline-batch-transform-07-15-11-30"
  }
}
# Response
{
   "job_arn": "arn:aws:sagemaker:us-east-1:802041417063:transform-job/SM-offline-batch-transform"
}
{
    'task_id': 'xxxxxxxx',
    "state": "[InProgress]
}

Phase 2 : Add offline batch inference task management and new batch ingestion API.
Add the task management for the batch transform jobs which maps to the “list-prediction-jobs”, “describe-prediction-job” and “ cancel-prediction-job” etc APIs from remote model servers.
Add a new API for offline batch ingestion jobs. This API reads the batch inference results in the phase 1 and other input files, and bulk ingest the vectors into KNN index. This API reads the vector data from the S3 file, and organize the bulk ingestion request based on the field mapping. We will call the bulk ingestion to the KNN index asynchronously so a task id will be returned.
POST /_plugins/_ml/_batch_ingestion
{
  "index_name": "my-nlp-index",
  "field_map": {
    "chapter": "$.content[0]",
    "title": "$.content[1]",
    "chapter_embedding": "$.SageMakerOutput[0]"
     "title_embedding": "$.SageMakerOutput[1]",
    "ingest_fields": ["$.id"]
  },
  "credential": {
    "region": "us-east-1",
    "access_key": "<your access key>",
    "secret_key": "<your secret key>",
    "session_token": "<your session token>"
  },
  "data_source": {
    "type": "s3",
    "source": ["s3://offlinebatch/output/sagemaker_djl_batch_input.json.out"]
  }
}

# expected response
{
  "task_id": "cbsPlpEBMHcagzGbOQOx",
  "task_type": "BATCH_INGEST",
  "status": "CREATED"
}

Phase 3: Integrate the offline batch inference and ingestion engine in the data prepper
Data Prepper is a server-side data collector capable of filtering, enriching, transforming, normalizing, and aggregating data for downstream analytics and visualization. Data Prepper lets users build custom pipelines to improve the operational view of applications. We can integrate the AI connector in the data prepper for customer to setup custom pipelines to run offline batch ingestion.
A sample data Prepper config is presented below. Integration with data prepper can be implemented after phase 1 and 2. That usually means users have the option to use data Prepper to setup offline batch ingestion without directly calling any Plugins.
sample-pipeline:
  workers: 4 #Number of workers
  delay: 100 # in milliseconds, how often the workers should run
  source:
    file:
        path: <path/to/input-file> -> input file S3
  buffer:
    bounded_blocking:
      buffer_size: 1024 # max number of events the buffer will accept
      batch_size: 256 # max number of events the buffer will drain for each read
  processor:
    - string_converter:
       upper_case: true
    - text_embedding:
       model_id: <xxxxx> -> the model in ml-commons for batch inference
  sink:
    - file:
       path: <path/to/output-file> -> ourput file S3

In Scope

Offline Batch Inference is released in OpenSearch 2.16
Offline Batch Ingestion is scheduled to be released in OpenSearch 2.17
Offline Batch Inference and Ingestion Task/Job management is scheduled to be released in OpenSearch 2.17
The Integration of Offline Batch Inference with OSI is in the planning

Out of Scope

Integrate the offline batch engine into the OpenSearch Ingest processor and pipeline - Not in planning
Integrate the offline batch engine with other remote ingestion engine like Apache Airflow, Apache Spark (Flint). These external engines can be used for offline batch. This will be discussed in a separate RFC if prioritized.

Real Case Example using a public ML Model Service
Given an input file for batch inference using the OpenAI embedding model "text-embedding-ada-002":
{"custom_id": "request-1", "method": "POST", "url": "/v1/embeddings", "body": {"model": "text-embedding-ada-002", "input": [ "What is the meaning of life?", "The food was delicious and the waiter..."]}}
{"custom_id": "request-2", "method": "POST", "url": "/v1/embeddings", "body": {"model": "text-embedding-ada-002", "input": [ "What is the meaning of work?", "The travel was fantastic and the view..."]}}
{"custom_id": "request-3", "method": "POST", "url": "/v1/embeddings", "body": {"model": "text-embedding-ada-002", "input": [ "What is the meaning of friend?", "The old friend was far away and the time..."]}}
... ...

Use the connector below to kick off the batch inference through OpenAI batch API
POST /_plugins/_ml/connectors/_create
{
  "name": "OpenAI Embedding model",
  "description": "OpenAI embedding model for offline batch",
  "version": "1",
  "protocol": "http",
  "parameters": {
    "model": "text-embedding-ada-002",
    "input_file_id": "<your input file id in OpenAI>",
    "endpoint": "/v1/embeddings"
  },
  "credential": {
    "openAI_key": "<your key>"
  },
  "actions": [
    {
         ...
    },
    {
      "action_type": "batch_predict",
      "method": "POST",
      "url": "https://api.openai.com/v1/batches",
      "headers": {"Authorization": "Bearer ${credential.openAI_key}"},
      "request_body": "{ \"input_file_id\": \"${parameters.input_file_id}\", \"endpoint\": \"${parameters.endpoint}\", \"completion_window\": \"24h\" }"
    },
    {
      "action_type": "batch_predict_status",
      "method": "GET",
      "url": "https://api.openai.com/v1/batches/${parameters.id}",
      "headers": {
        "Authorization": "Bearer ${credential.openAI_key}"
      }
    }
  ]
}

# Invoke the model with "batch_predict" action type
POST /_plugins/_ml/models/<your model associated with the connector>/_batch_predict
{
  "parameters": {
    "input_file_id": "<your file id>"
  }
}

# Response
{
 "task_id": "KYZSv5EBqL2d0mFvs80C",
 "status": "CREATED"
}

Once you receive the task_id, you can check the task through the Task API to check the remote job status in OpenAI.
// Get batch job status using get task API
GET /_plugins/_ml/tasks/KYZSv5EBqL2d0mFvs80C

// Response
{
 "model_id": "JYZRv5EBqL2d0mFvKs1E",
 "task_type": "BATCH_PREDICTION",
 "function_name": "REMOTE",
 "state": "COMPLETED",
 "input_type": "REMOTE",
 "worker_node": [
 "Ee5OCIq0RAy05hqQsNI1rg"
 ],
 "create_time":<PHONE_NUMBER>455,
 "last_update_time":<PHONE_NUMBER>455,
 "is_async": false,
 "remote_job": {
 "cancelled_at": null,
 "metadata": null,
 "request_counts": {
 "total": 3.0,
 "completed": 3.0,
 "failed": 0.0
 },
 "input_file_id": "file-5gXEtbKjHnYrKrdtv69IeRN2",
 "output_file_id": "file-Wux0Pk80dhkxi98Z5iKNjB4n",
 "error_file_id": null,
 "created_at": 1.725491753E9,
 "in_progress_at": 1.725491753E9,
 "expired_at": null,
 "finalizing_at": 1.725491757E9,
 "completed_at": 1.725491758E9,
 "endpoint": "/v1/embeddings",
 "expires_at": 1.725578153E9,
 "cancelling_at": null,
 "completion_window": "24h",
 "id": "batch_yz4YzfPfajDgcWFk4CqfxYox",
 "failed_at": null,
 "errors": null,
 "object": "batch",
 "status": "completed"
 }
}

After the job status is showing "completed", you can double check your output in the file id "file-Wux0Pk80dhkxi98Z5iKNjB4n" in this example. It's a file in the jsonl format that each line in the file represents a single inference result for a request in the input file.
The output file content is:
{"id": "batch_req_ITKQn29igorXCAGp6wzYs5IS", "custom_id": "request-1", "response": {"status_code": 200, "request_id": "10845755592510080d13054c3776aef4", "body": {"object": "list", "data": [{"object": "embedding", "index": 0, "embedding": [0.0044326545, ... ...]}, {"object": "embedding", "index": 1, "embedding": [0.002297497, ... ... ]}], "model": "text-embedding-ada-002", "usage": {"prompt_tokens": 15, "total_tokens": 15}}}, "error": null}
...
...

To ingest your embedding data and your other fields into OpenSearch, you can use the batch ingestion API given below. The field map is the actual fields you want to ingest in your KNN cluster. In the field map, the key is the field name, and the value is the JsonPath to find your data in the sources files. For example, source[1].$.body.input[1] means you want to use the JsonPath $.body.input[1] to fetch the element body.input[1] in the second file in the "source" array of the batch request.
POST /_plugins/_ml/_batch_ingestion
{
  "index_name": "my-nlp-index-openai",
  "field_map": {
    "question": "source[1].$.body.input[0]",
    "answer": "source[1].$.body.input[1]",
    "question_embedding":"source[0].$.response.body.data[0].embedding",
    "answer_embedding":"source[0].$.response.body.data[1].embedding",
    "_id": ["source[0].$.custom_id", "source[1].$.custom_id"],
  },
  "ingest_fields": ["source[2].$.custom_field1", "source[2].$.custom_field2", "source[2].$.custom_field3" ],
  "credential": {
    "openAI_key": "<your openAI key>"
  },
  "data_source": {
    "type": "openAI",
    "source": ["<your batch inference output file id>", "<your batch inference input file id>", "<your file id that contains other fields data>"]
  }
}

# expected response
{
  "task_id": "b5Yym5EBdxfqV0JWKrT6",
  "task_type": "BATCH_INGEST",
  "status": "CREATED"
}

# Once you obtain the task_id, use it to check the job status
GET /_plugins/_ml/tasks/cbsPlpEBMHcagzGbOQOx

# expected response, "state": "COMPLETED" means this task is successful
{
  "task_type": "BATCH_INGEST",
  "state": "COMPLETED",
  "create_time":<PHONE_NUMBER>978,
  "last_update_time":<PHONE_NUMBER>658,
  "is_async": true
}

Request for Comments
This Offline batch engine is implemented in the machine learning space. It's designed to incorporate with the remote Model Batch APIs to facilitate the batch inference of the LLM models and ingest ML model output data into the OpenSearch KNN index for vector search. However, the batch ingestion API can also be used for general ingestion purpose when the inputs are in a file system. So please not limit your thoughts only in the machine learning when you review this feature.
Please leave your suggestions and concerns in this RFC and your valuable inputs are appreciated.

@Zhangxunmt, I think it's important for us to continue supporting Ingest API compatibility. It's been in use since 2016, and we have major feature sets like neural search that are dependent on it.
Today, users can use the Ingest API to define an ingest pipeline.
PUT /_ingest/pipeline/my_pipeline
{
"description": "pipeline with inference processing",
"processors": [
{
{
"ml_inference": {
"model_id": "<model_id>",
"function_name": "<function_name>",
"full_response_path": "<full_response_path>",
"model_config":{
"<model_config_field>": "<config_value>"
},
"model_input": "<model_input>",
"input_map": [
{
"<model_input_field>": "<document_field>"
}
],
"output_map": [
{
"<new_document_field>": "<model_output_field>"
}
],
"override": ""
}
}
They can run a bulk streaming ingestion job like my-index/_bulk?pipeline=my-pipeline .
The user should be able to execute this pipeline in batch mode using a command like my-index/_batch?pipeline=my-pipeline source="s3://..."
Batch processing support for each ingestion processor can be incrementally added.


Partial correction issue with nbody example in subscreenSpec5.xml;

Hi,
this solves partly the issue:

typing is now apparently satisfactory
added yield() in signal update loop
I do not like the syntax I used in doPlanet to retype;wondering whether I ought to hide this
in  visualizeConduit
*this example is now in test/subscreenSpec5.xml

However, mouse only works in this case for zoom (with the roller), no rotations nor translations.
(Probably the mouse signal got lost in my code....)
I still need to make planet lines appear... but this will wait for tomorrow or Monday. So don't worry about these issues, I will try to solve them later

This update to my previous pull requests solves the streamline issue in the subscreen5.xml. I needed to consider the case of nested iterables of RenderObjects.
I'll next look into the issues with mouse signals (I will first reread places in my code for other cases where iterables of RenderObjects appear).

Cool!
Hm, I had already some issues with the mouse signal... I think it happens if there is an exception somewhere in the mouse code, but it gets caught somewhere else without handling it. So it just silently fails and consequently you don't have mouse signals anymore.
I had this two times and I'm not sure anymore, what the concrete problem was.

Hi,
this solves the mouse issue, adds tests with synchronised subscreens advancing based on
a timer signal (from Reactive).
Best
Alain


Wrong markdown spacing for sublists

Git version: 1.2.0+rc3
Operating system: Ubuntu 16.04

[x] MySQL

Description
When inserting text into the wiki the bullet list adds a white a white line above a sub point and none below before the next parent point.
however subpoints of subpoints seem to behave as expected
- all our automations, configuration pushes and processes used here will be open, transparent and agreed upon

- automated ansible transaction logs from us will be on both department's endpoint and our anisible servers central log system
    - clients will be able to verify our actions

- auth intrusion detection compliance
    - immediately fail2ban and system login intrusion detection for login & sshd shell enabled accounts
    - cetral log system will be able to engage perimeter firewall rules
        - login banner for shell access enabled account warning for private property

- system login alogrythm compliance
    - require pam, sshd.conf, sshd.conf, sssd.conf/LDAP, faile2ban(conf.d), etc.

Screenshots

is there a good document for the markdown that gitea's wiki uses?

Are you sure this isn't just a CSS/HTML issue? If you have a working example on try.gitea.io I could take a look.

It seems fine now. There were some PRs about the markdown layout fixes.


Add deployment spec for production.

Codecov Report

Merging #56 (5ea3fee) into main (ae1e183) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #56   +/-   ##
=======================================
  Coverage   95.43%   95.43%
=======================================
  Files           5        5
  Lines         285      285
=======================================
  Hits          272      272
  Misses         13       13

Continue to review full report at Codecov.

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


fix(versions): update Activiti/example-cloud-connector versions

UpdateBot pushed helm dependency: common to: 1.1.26

UpdateBot commands:
updatebot push-version --kind helm common 1.1.26


Do not install created certs and keys into '/Common'

The _import_certificate and _import_key both install the certificates and keys to the /Common partition. These objects belong in the managed partition to prevent any conflicts with pre-existing common objects.
uploader = mgmt.shared.file_transfer.uploads
uploader.upload_bytes(crt, 'test-file.crt')
cert_registrar = mgmt.tm.sys.crypto.certs
param_set = {}
param_set['name'] = '/k8s/my-test-works'
param_set['from-local-file'] = os.path.join('/var/config/rest/downloads', 'test-file.crt')
cert_registrar.exec_cmd('install', **param_set)

Assuming you have a valid cert as data in the crt variable and you have a partition named k8s you'll see the object my-test-works in the k8s partition. CCCL needs to keep objects contained within its allocated space.
Tested on v11.6.

Be sure to validate both client and server custom profiles to verify objects are created in the proper managed partition.


Migrate (update) database view query

i have an issue with adding a new column to the databaseview and updating the query in a databaseview.Whenever i add a new column or update the databaseview query,the change does not take place until i uninstall the app.This is after even running the build_runner.

Yeah, new changes to entities and views are not automatically migrated. Although views could be migrated automatically with no downsides this wasn't implemented yet. You'll either have to write a migration or delete the app data between version updates of your app.

Thank you for the response.....anyway i have found a way to solve this.
create a migration that will drop the view and recreate it a fresh.
1.await database.execute('DROP VIEW IF EXISTS view_name');
2.await database.execute('CREATE VIEW IF NOT EXISTS viewname........`

thank @Keithwachira !

mark


api: error handling improvements

Improves error handling during bulk indexing to prevent broken
JSONRefs and similar issues to stop bulk indexing.

Signed-off-by: Lars Holm Nielsen<EMAIL_ADDRESS>

Coverage increased (+0.006%) to 99.541% when pulling aa43f6f919edc9f928e0a1d7d183fce0334c098b on lnielsen:errorhandling into 2273036edcb53dc7d70a010c40bfb1dbc9b860fd on inveniosoftware:master.


[BUG] Cannot filter on Timestamp using Azure.Data.Tables

Library name and version
Azure.Data.Tables
Describe the bug
The Azure.Data.Tables package seems to block the ability to filter my queries using the Timestamp property. I am migrating from Microsoft.Azure.Cosmos.Table to Azure.Data.Tables, I need to query my Cosmos DB using the Timestamp in the following way...
_tableClient.Query(TableClient.CreateQueryFilter(e => e.Timestamp >= datetimeValue));
However after implementing the Azure.Data.Tables package, I no longer get any results back. I have read this is a known issue and it looks like its been closed for some reason, but its still not resolved https://github.com/Azure/azure-sdk-for-net/issues/32468. Are there any updates on a fix for this? Thanks.
Expected behavior
My query should be filtered by the Timestamp property and return results from my Cosmos DB which match the condition above.
Actual behavior
An empty collection is returned. No exception is thrown.
There are elements that should satisfy the query and by using the deprecated Cosmos package or Azure Portal I am able to retrieve these expected results back.
Reproduction Steps
var dateFilter = TableClient.CreateQueryFilter(e => e.Timestamp >= date);
Console.WriteLine(_tableClient.Query(dateFilter).Count());
Environment
Microsoft.NET.Sdk.Web
net8.0
Console App

Hi @DanClifford00
This is a known limitation of the Cosmos backend for Tables and is documented here. The service team is aware of it, but I don't think there are any plans to change this behavior currently.
( duplicate of #32468)

@christothes Thanks for the reply. Hopefully it will be something that is resolved in the near future as its not feasible using the workaround in my situation.


Your API..

Hi, i want to try and use your bible API..
i often have to text many different ways before I settle on one.
I would like you to know that ahead of time in case you receive a "more than common"
amount of 'hits' on your API.. it is probably just me. :)
my IP is <IP_ADDRESS>
I mention this not only as a courtesy, but also because since last night i cannot get it to respond.
(thinking maybe I was Banned?)  anyways, much appreciate your work on this.. I am very new to 'programming', so that is a reason why it may appear i am 'over using' your API.. lol
Thanks again.
Garrett.
<EMAIL_ADDRESS>

@x1705 thanks for the heads up. I have not banned your IP and have not banned any IPs recently for that matter. Can you tell me what response you get from the API currently?

Hi Tim, nice to meet you.. fortunatley it was a typo on my part.  It seems
to be functioning just fine, (at least your end).
I'm still learning how to do this. lol :)
I hope my "pings" don't intrude.. nonetheless, feel free to let me know..
I am working on a Facebook BibleBot.  I have a very nice working one that
is currently (still) waiting a review from them.
it takes forever it seems.. but i really like your API better than the one
i am using now, for various possible reasons.
i am trying to get the JSON to display correctly on My end at the moment..
its a challenge.. lol  for me at least.
but as all things are.. a good work in progress.
Will let you know further if i encounter any errors from your side.. (which
i doubt).
Thanks for making this available!
All the best Tim.
-Garrett.
On Tue, Mar 26, 2019 at 9:30 PM Tim Morgan<EMAIL_ADDRESS>wrote:

@x1705 https://github.com/x1705 thanks for the heads up. I have not
banned your IP and have not banned any IPs recently for that matter. Can
you tell me what response you get from the API currently?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/seven1m/bible_api/issues/28#issuecomment-476941012,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAlGTYYYa3JaYMLSDf8AnnpzjHhdAocCks5vatfJgaJpZM4cMG0o
.

Great, glad it's working for you again. I love hearing that people are finding good use of the service. Best of luck and God bless!


Module collision betweeen 1.2.0 and 1.2.1 result in tests and possibly all programs failing to execute

I'm not sure if this belongs here but Gavin suggested I file it here.  It's also possible this is a known issue elsewhere.
There seems to be a collision between 1.2.0 production modules and 1.2.1 modules compiled during the ceylon-dist/sdk/IDE build.
This illustrates the problem:
1) Build IDE from source
2) Then:
$ ceylon test test.herd.chayote/0.0.11
======================== TESTS STARTED =======================
======================== TEST RESULTS ========================
There were no tests!
ceylon test: Tests failed
$ find ~/.ceylon -name 1.2.1 -exec rm -r {} \;
$ ceylon test test.herd.chayote/0.0.11
======================== TESTS STARTED =======================
running: test.herd.chayote.bytes::testIntegerToBytes
running: test.herd.chayote.bytes::testIntegerToBytesNoLeadingZeros
running: test.herd.chayote.format::testFormatAndPadHex
running: test.herd.chayote.format::testFormatBits
running: test.herd.chayote.object_helpers::testEqualsWith
running: test.herd.chayote.object_helpers::testEqualsWithMultiple
running: test.herd.chayote.object_helpers::testHashes
running: test.herd.chayote.object_helpers::testHelpString
running: test.herd.chayote.type_classes::testDisplayNameForType
running: test.herd.chayote.type_classes::testTypedClass
running: test.herd.chayote.type_classes::testTypedClassComprable
running: test.herd.chayote.type_classes::testTypedInteger
running: test.herd.chayote.type_classes::testTypedString
======================== TEST RESULTS ========================
run:     13
success: 13
failure: 0
error:   0
ignored: 0
time:    0s

======================== TESTS SUCCESS =======================
$ which ceylon
/usr/local/bin/ceylon

Moved to: https://github.com/ceylon/ceylon-compiler/issues/2425


adds bands, albums, and genres to music

Pull Request Test Coverage Report for Build 2031

3 of 6 (50.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 33.945%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

test/test_faker_music.rb
3
6
50.0%

Totals

Change from base Build 2024:
0.02%

Covered Lines:
1479

Relevant Lines:
4357

💛  - Coveralls

Pull Request Test Coverage Report for Build 2031

3 of 6 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 33.945%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

test/test_faker_music.rb
3
6
50.0%

Totals

Change from base Build 2024:
0.02%

Covered Lines:
1479

Relevant Lines:
4357

💛  - Coveralls

Pull Request Test Coverage Report for Build 2031

3 of 6 (50.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 33.945%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

test/test_faker_music.rb
3
6
50.0%

Totals

Change from base Build 2024:
0.02%

Covered Lines:
1479

Relevant Lines:
4357

💛  - Coveralls

@vbrazo updated Changelog and rebased.

Pull Request Test Coverage Report for Build 2138

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.001%) to 99.641%

Totals

Change from base Build 2137:
0.001%

Covered Lines:
2220

Relevant Lines:
2228

💛  - Coveralls

Hey Jennifer. What do you think about adding a method to return songs? @jmkoni


uv build command?

I've searched through issues in this repository but I couldn't find anything concrete.
What's the progress/roadmap for this command? The only time I've seen it mentioned is in the blog.

Semi-related: #3957

I've searched through issues in this repository but I couldn't find anything concrete. What's the progress/roadmap for this command? The only time I've seen it mentioned is in the blog.

Interested as well to switch from Rye to uv, we need build publish command. Any news ?

Re-publish, see https://github.com/astral-sh/uv/issues/6278

I think this is a duplicate of #1510 — and yes we intend to do it.

It's here now! I switched all our workflows to uv build from 0.4.5. Works like a charm.

Amazing!


CONFIG_LOGIWHEELS_FF is not set in Jetson orin

I'm using  seeedstudio reComputer J4012-Edge AI Device with Jetson Orin NX 16GB module and trying g29 with ros noetic.
when I try to run os_g29_force_feedback it is giving an error like below

Then I try  zcat /proc/config.gz | grep CONFIG_LOGIWHEELS_FF
Result

If anyone fix this issue please help me to solve this.

It means your OS or Jetson doesn't support force feedback.
It seems nice to try installing Linux device drivers.
https://forums.developer.nvidia.com/t/logitech-g29-wheel-pedal-not-working/82078/3


Hyperlinks in City of Secrets don't work

The help menu and conversation hyperlinks in City of Secrets don't work in Chrome, Firefox, or Edge. It is the same for Lectrote. Other files, such as windowtest.ulx, do work.

It seems like City of Secrets actually has its own custom hyperlink code that uses mouse events, probably in order to support interpreters without hyperlink functionality.
It creates "real" hyperlinks in the grid window, but this seems to be just for the visuals. It never requests any hyperlink events, only mouse events. I guess the hyperlinks somehow cause Quixe to never fire the mouse events?

Yeah, the DOM event probably stops on the link element.
You could say this is an implementation bug, but it's in the category of "why would you do that"... no offense to Emily...


Singletons

Does this implementation support singletons declarations? (Like yii2 di)

It supports singletons only.

I've never noticed this before. I don't think it's corrent

Why?

Because

:) Will explain a bit later

The main goal of container is to provide object built by the defined rules. When we talk about the DIC as a Service Locator, then it makes sense to have only singletons, because services must be stateless. However, there are also stateful classes, that cannot be reused and therefore created instances should not be saved.
A good comparison will be two classes from Yii: Connection (DB) and a Widget. While the first one should always act as a singleton, the second one depends. Here are two widgets:
class LatestPostsWidget
{
    public function __construct(PostFormatter $postFormatter, Cache $cache)
    {
        // assign
    }

    public function render()
    {
        // find posts, render, cache
    }
}

class UserTopPosts
{
    public function (User $user, PostFormatter $postFormatter, Cache $cache)
    {
        // assign
    }

    public function run()
    {
        // get posts of $this->user, format, cache
    }
}

It makes perfect sense to store object the first widget class, but it's absolutely useless for the second one.
Partially I do agree, that the second case can be redone with a factory of widgets, but I think there is a lot of existing code that will be broken when every object registered in DI will become a singleton

The issue with using container as a factory is that you need to pass parameters for objects created. Means that you'll have to access container methods directly. Thus, you'll explicitly reference container making your classes dependent on it.

Truth.

@samdark I disagree with your reasoning.
Yes the DI container should never be referenced directly, but making the assumption that all services are stateless is too strict.
If anything in the dependency graph of an object created by the DI container contains any configuration is it reasonable to assume that all those configuration settings cannot be changed?
For example the database component has a charset property, a username property and so on...
If I am passed an instance via DI, I have a pretty good idea of how to change it, since it implements some interface.
However using that interface to change the object would result in any code after to get injected with my altered version; which seems very intuitive.
If things created by the DI container have no state, then in my opinion that is a reason NOT to make them singletons, they have no state anyway.
The reason to create a singleton is if they actually DO have state and I want to reuse it (consider things like the PDO connection to the database).

@SamMousa I didn't get your idea. Can you please explain a bit more what's the problem.
You are talking about state but singletons are not about state.
In this context "singletons" means only that container creates object once and always returns same objects with every $container->get().

It is perfectly fine for it to be mutable. For example, it could hold DB connection instance. Of course, there are bad cases to count against.

But why make singletons by default?

Because intended usage of DI container is to hold/inject services. Using it as a factory isn't its primary use case. See PSR meta document about it.

I read the documents; but there's also still ongoing discussion about the upside and downside of requiring singletons. The PSR11 spec is not strict about it and uses also mentions that users must not depend on getting the same value for every call even though implementations should do this.
This is basically the same discussion:
https://github.com/container-interop/container-interop/issues/69


Updated Lab 15 to fix a few issues

Related Issue
Link related Github Issue 🢂 Fixing #397 and #396
Checklist
Mark completed with "x" between brackets, "[x]", or checking the box once the PR is created:

[x] Has related GitHub Issue 💥 Create Issue 📝
[x] Tested it
[x] Read the PR collaboration guide 👓 Collaboration Guide 📝

Changes proposed in this pull request:

Added the steps to create the resource group
Added the name of the storage account parameter to the bicep module

Looks good for me, but not the MTT Lead anymore :) @petender @fimdim @lauraAlvEl I think this PR is ready for merge ;)

@unaihuete93 same here. Thanks @yashints !

someone need to review it so I can complete it...

I should have time tomorrow to close/check on some PRs and issues
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Yas @.>
Sent: Thursday, March 16, 2023 6:20:44 PM
To: MicrosoftLearning/AZ400-DesigningandImplementingMicrosoftDevOpsSolutions @.>
Cc: Peter De Tender @.>; Mention @.>
Subject: Re: [MicrosoftLearning/AZ400-DesigningandImplementingMicrosoftDevOpsSolutions] Updated Lab 15 to fix a few issues (PR #399)
someone need to review it so I can complete it...
—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftLearning%2FAZ400-DesigningandImplementingMicrosoftDevOpsSolutions%2Fpull%2F399%23issuecomment-1472972183&data=05|01|Peter.DeTender%40microsoft.com|2de618eb81aa4f71654208db2685d4f6|72f988bf86f141af91ab2d7cd011db47|1|0|638146128472390324|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=cSMxO0evW17G8C63UQ1dNret4Yjq%2FXL7wPH9VLe%2FBmc%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAO4XM2TENZ67TBZBNSWWTC3W4O36ZANCNFSM6AAAAAAVZ6OQKQ&data=05|01|Peter.DeTender%40microsoft.com|2de618eb81aa4f71654208db2685d4f6|72f988bf86f141af91ab2d7cd011db47|1|0|638146128472390324|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=bzbrFLFi5eHGZgxAa3vI5pfl%2F8QdqyDmG4pcefSysPQ%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

thanks @yashints , approved, merged and cleaned up the branch.


Theme Submission - Hugo-Sugoi

Theme submission
Please make sure that you have read the theme submission guidelines before submitting a theme. The guidelines provide all relevant information and requirements that have to be fulfilled before the submission. Please tick the relevant boxes for your theme in the checklist below:
Link to my theme repository: https://github.com/aanupam23/hugo-sugoi
I made sure that...

[x] the repository contains a good README.md describing my theme
[x] an open source license has been added to LICENSE.md
[x] all metadata have been added to theme.toml
[x] screenshots have been added in the images/ folder with the required dimensions
[x] in case I'm using a customized demo via the exampleSite folder that

[x] https://example.com is set as base url in exampleSite/config.{toml, yaml, json} to avoid the abuse of unused domains
[x] I tested that my theme's demo works with the content directory of gohugoio/HugoBasicExample

[x] I tested my theme against the gohugoio/HugoBasicExample

[x] I've checked the developer tools' console in my browser for error messages

[x] in case my theme is using Hugo Pipes features like toCSS and PostCSS that I have committed the /resources directory with all generated assets, for my theme to work in the basic version of Hugo

N.B. By submitting a theme to the Hugo Themes Showcase you understand that you need to maintain your theme. You will need to keep an eye on whether your theme's demo generates on the Hugo website, whenever there is a new release. We are a very small team and we just cannot keep up opening issues in the various theme repositories to notify authors. Whenever a theme demo breaks and remains broken then at some point it will be removed from the list without prior warning. If you no longer wish to maintain a theme please let us know.
New themes will usually be promoted on Hugo's official Twitter account. If you would like to be mentioned in the tweet please add your Twitter username to this submission.
Link to my Twitter account (optional): twitter.com/aanupam23
Feel free to ask questions. We're glad to help.

Hello @aanupam23
I had a look at your theme submission and I noticed the following issues:

Since you have included an exampleSite it needs to have the structure of a proper Hugo project. Currently there is no content directory, the files about.md and contact.md are directly under the root of the directory and they shouldn't be there. The idea of the exampleSite is that users can test your theme locally without really having to setup much. As things are now this will not be possible.

You need to remove lines 17-21 of theme.toml since these parameters are empty.

The menu links point to the host root and throw 404 errors when tested with the Hugo Themes Build Script. As mentioned in the submission guidelines:

Make sure not to use a forward slash / in the beginning of a URL, because it will point to the host root and Hugo will not generate the correct URL for the demo's assets.

You need to do this remove the first forward slash from the url parameter of the menu configuration  in exampleSite/config.toml
Once you do the above please let me know.
Thanks.

Hey @onedrawingperday
Thanks for checking hugo-sugoi theme. :)
I have fixed all three issues that are mentioned above and theme demo is generated using the script.

@aanupam23
You have not fixed the menu links as I mentioned above -they still point to the host root and throw 404 errors-
Also I noticed that in line 5 of theme.toml you are using some kind of a non-Hugo variable:
copyright = "© {currentYear} Your Site"
That is not how the current year will be rendered in Hugo.
I think that you need to remove this parameter and change partials/footer.html accordingly.

@onedrawingperday Updated based on your latest comments.

@aanupam23
You have not removed the forward slashes from the menu configuration in lines 26, 31 and 36 of exampleSite/config.toml
I cannot keep repeating myself forever.

My mistake.
Updated, @onedrawingperday thanks for checking this.

@aanupam23
I added the theme to the repo in 7ecea9d

@digitalcraftsman
This is a theme for blogs, based on the Skeleton boilerplate.

Thank you for your submission @aanupam23. Your theme is already live on Hugo's theme site and will be promoted soon on our official Twitter account.


BLE Private Key Deployment / How?

Trying to figure out the requirements for this addon to deploy the private key.
Is pairing between HAOS and the car needed before deploying the key? If so... how? 🤔
In the addon when pressing the button "Deploy Key", is this all automatic or does the end user need to be in the car's Bluetooth many?
My current BLE dongle (ASUS USB-BT500) is assigned to the HAOS VM.
Currently have the following in HA config file device_tracker.yaml :
- platform: bluetooth_le_tracker
  new_device_defaults:
    track_new_devices: true
  interval_seconds: 10
  consider_home: 180

Perhaps the above is interfering with this add-on? I'm not sure yet.
I noticed code changes around BLE, once 0.0.4 shows up I'll upgrade and try again.

Once I have successfully deployed the key, I can create a PR to have some instructions.

I just noticed in the logging of the add-on https://shankarkumarasamy.blog/2024/01/28/tesla-developer-api-guide-ble-key-pair-auth-and-vehicle-commands-part-3
Working on a PR , will read this after.

Thanks @baylanger. PR #4 merged


Do we have the difference of "onSelect" -> onUnselect?

I couldn't find the function onUnselect in the documentation. I have to react on the behaviour if the user unselects the row.
(Table Radio button) Or is there a possibility that the user can`t unselect the row, so that the table has just one selected row every time.
Thanks

https://github.com/AllenFang/react-bootstrap-table/blob/master/examples/js/selection/select-hook-table.js#L25
check the second argument, we dont have onUnselect, we use same callback but use a argument to tell you if it is select or not


Resolves some magic values that has a hello_retry_request enum type.

This commit resolves some cases of the SSL_CONNECTION field hello_retry_request being set with non enum hello_retry_request type values

Merged, thanks for the fix.
I'm okay with this being trivial.  Other approvers?

Yes I believe I have made a CLA but for a different GitHub account/mail. Therefore I have used "CLA: trivial". Can I tie that CLA to this account instead?

Email<EMAIL_ADDRESS>and ask them to associate your existing CLA with the alternative email address in addition. If its an individual CLA you should confirm that the alternative email address is for individual contributions only and not on behalf of any employer.


Does this input still use Kafka's high-level consumer?

If so, is there any plan to rebase on the new consumer to reduce impactful rebalancing events?
Ref: https://docs.confluent.io/current/clients/consumer.html

Related: https://github.com/logstash-plugins/logstash-input-kafka/blob/master/DEVELOPER.md


[Bug]: UUIDjs library throwing error

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Internal discussion
Steps To Reproduce
Internal discussion
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud

This was a rare occurrance and wasn't faced again by any user for a year. Closing this as we don't have enough information to work on this.


Log Analytics agent vs Dependency agent

See the picture in this section https://docs.microsoft.com/en-us/azure/azure-monitor/platform/data-sources#operating-system-guest and compare it against the text below: is it the Log Analytics Agent that send data to Health State (picture say yes, text says no) or it is the Dependency Agent?

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

ID: 8da1aaf0-3d75-0d75-f8fc-55653b9e002f
Version Independent ID: 6ec9a482-e56c-480f-e156-79315188d883
Content: Sources of data in Azure Monitor
Content Source: articles/azure-monitor/platform/data-sources.md
Service: azure-monitor
GitHub Login: @bwren
Microsoft Alias: bwren

Thanks for your comment. The feedback has been shared with the content owner for further review. Thanks for your patience.

The article doesn't make that real clear. The Log Analytics agent collects performance and health data.  The Dependency agent collects map based data.  I'll create a work item to get this updated.
#in-progress

I updated the article to clarify this. Forgot to close the issue.  #please-close


没有时间的组件的吗？

Steps to reproduce
Which browser?

What is expected?
What is actually happening?

Reproduction Link

vote for  "time select" components?


update 'init repository' command to initialize with json-ld based persistence.

this has been working for some time now.  @bhallamp I assume you have been able to init a repository clean slate as well?

I don't think this is an issue anymore.


DBeaver FR: Show HTML table column names even if unchecking the OUTPUT TABLE HEADER setting

DBeaver - Version 7.1.4 CE
DBeaver driver: MS SQL Server  / Microsoft Driver (the new Microsoft Driver)
Operating System: Windows 7 / Windows 8.1 / Windows 10
Database Server: Microsoft SQL Express 2014, 2016, 2017
When I tested to uncheck the Export to HTML setting Output table header I loose the header with column header (the column name) too.
I wanted only that the table name header shoudl be removed (and the column name header kept intact).
See issue #8058

verified


Empty lists can not be uploaded

Hello @mbasil09! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file intermine/lists/listmanager.py:

Line 269:80: E501 line too long (82 > 79 characters)
Line 271:80: E501 line too long (97 > 79 characters)


summary

Generates the PCoA and Distance Matrix summary pages.
This is still WIP but I fixed a bug that Antonio needs to keep working on his qp-qiime2 branch

This creates the summary for the distance matrix (a heatmap with the samples sorted as defined by hierarchical cluster, as we discussed over email) and for the OrdinationResults (currently using emperor directly, since the only ordination results instances are going to be PCoA).
As a bonus, the summary gets generated during the validation, this avoids the click that users need to do to generate the summary, and it only adds a few seconds for validating the artifacts :boom:


Move VGG tensors to L1

store all intermedaite tensors of the VGG model in L1 Cache.
store all weights in L1 (if they fit).

moved the intermediate tensors to L1 cache
removed passing state_dict to TtVGG and its variants

enabled support for batch_size > 1
unable to move linear and relu layers to L1 cache for batch size 32 ( Out of Memory: Not enough space to allocate )

PR approved, and waiting for CI to pass.

The PR is merged with the main.


Conversion error in Xcode 14.3+ and macOS 13

Running into an issue whenever I attempt to use this action on macOS 13, my errors seem related to xcrun and can be found here: https://github.com/netreconlab/Parse-Swift/actions/runs/5366235085/jobs/9735553247?pr=87#step:6:22

Hmm, I cannot reproduce it by using macOS 13. See this run in one of our open source projects.
It's using Xcode 14.3.1 and macOS 13.4.
Also, the warnings emitted before the failure hint at some "invalid" files (invalid from llvm-cov's point of view).
I've noticed, that they either reside inside a folder called EagerLinkingTBDs or VerifyModule. I wonder if those are new somehow...
I've added a check for the products directory when processing xcode builds on main(https://github.com/sersoft-gmbh/swift-coverage-action/commit/27b9eb2d7bfa7aecc5ad863642d1207d3b6bf1b4). Can you test your setup with @main? If it works, I'll release a new version.

I've added a check for the products directory when processing xcode builds on main(https://github.com/sersoft-gmbh/swift-coverage-action/commit/27b9eb2d7bfa7aecc5ad863642d1207d3b6bf1b4). Can you test your setup with @main? If it works, I'll release a new version.

Tested using @main as you recommended and it works! Here's my latest build https://github.com/netreconlab/Parse-Swift/actions/runs/5370710459?pr=87

I've released v3.0.2 containing this fix. So you should be able to go back to @v3.

@ffried thanks for fixing this so quickly!