Hardware back button closes app on PWAs

Short description of the problem:
I'm building a PWA and when I tap the Android hardware back button the registered back button action is not triggered and the app closes. After make the DeepLinker configuration the browser can handle states correctly, but without page transitions.
Since document.addEventListener('backbutton') is cordova specific we need to find a way to handle the hardware back button and then we'll be able to make the page transitions work on this scenario.
What behavior are you expecting?
After register an action the app should handle backbutton events and trigger the action.
Steps to reproduce:

Register an action with platform.registerBackButtonAction;
Run the app;
Tap the Android back button.

platform.registerBackButtonAction((ev) => {
  console.log(`Never triggered.`);
}, 10);

Other information:
Device: Nexus 5
OS: Android 6.0.1
Which Ionic Version? 1.x or 2.x
2.0-RC1
Run ionic info from terminal/cmd prompt:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.1
Ionic App Lib Version: 2.1.1
Ionic App Scripts Version: 0.0.34
ios-deploy version: Not installed
ios-sim version: 5.0.8
OS: Mac OS X El Capitan
Node Version: v5.11.1
Xcode version: Xcode 7.3.1 Build version 7D1014

Hello, thanks for opening an issue with us! This is actually expected behavior currently, although it should be discussed. When using the hardware back button or the browser back button transitions will not run, although when pressing the back button in the app itself it will animate. The reason we did this is for simplicity and the fact that with most PWA's built with different frameworks, page transitions are not run when using the hardware back button on Android or the browser back button. I will leave this issue open for discussion.

@jlcarvalho Is it a matter of routing is not good?

Hi @jgw96 thanks for your reply.
Currently, the biggest problem with this DeepLinker approach is when the user returns to the previous page and the entire state of the application was lost (eg. filters, scroll, etc.).
The app looks like a native app. It works offline. I can open it from my home screen. The app doesn't have the address bar. I can even receive push notifications. But, the navigation doesn't behaves like a native app and this is frustrating. I'm not a UX expert but I believe that the user expects an similar behaviour to native apps in this case.
Pokedex.org (one of the greatest PWAs, IMHO) recently fixed this hardware back button issue using the hashchange event (https://github.com/nolanlawson/pokedex.org/pull/60).

This issue is reminiscent of the days when the back button used to close Cordova applications before Ionic came along and fixed it greatly. What exactly is the issue here @jgw96 Is it a conscious decision and is there a way we can handle this ourselves?

Tacking on discussion as prompted by @jgw96 in his comments.
IMO, built-in support for browser & native back buttons with ionic2 PWAs should be high priority. While evaluating building mult-page PWAs with Ionic2, the main blocker we discovered was users would have to avoid the browser & native back buttons which is a non-starter for us.
I'm assuming there is a lot of technical work to enable this since Ionic2 doesn't rely on ng2s built-in routing. I'd like more visibility on what the current stance is on this behavior now that PWAs is suppose to be a major focus for ionic2?

@jtillman Hardware Go Back button support has been improved in the last weeks:
Can you try against nightly?
npm install ionic-angular@nightly --save

@manucorporat this issue remains.

I meet this problem too, I tried to solve this by myself. This is my solution:
At first, I write this code to app.component.ts:
app.component.ts:
history.pushState(null, null, document.URL);
window.addEventListener('popstate', () => {
if (this.nav.canGoBack()) { //Can we go back?
if(this.nav.length()>2){history.pushState(null, null, document.URL);}
this.nav.pop();
}else{
history.go(-2);
}
});
There is a problem with this solution, history.go(-2) can't close the PWA launched from cell phone home screen. So I fix the code:
app.component.ts:
window.addEventListener('popstate', () => {
if (this.nav.canGoBack()) { //Can we go back?
if(this.nav.length()>2){history.pushState(null, null, document.URL);}
this.nav.pop();
}
});
home.page.ts(The root page):
ionViewWillLeave() {
history.pushState(null, null, document.URL);
console.log("leave home ,add pushState");
}
Now, the problem seems to be solved, but soon I found another question. When the modal is open, the back button will pop the page without close the modal. And I do this to fix it:
app.component.ts:
window.addEventListener('popstate', () => {
if(dataService.runTimeCache.openedModal){
dataService.runTimeCache.openedModal.dismiss();
delete dataService.runTimeCache.openedModal;
history.pushState(null, null, document.URL);
return;
}
if (this.nav.canGoBack()) { //Can we go back?
if(this.nav.length()>2){history.pushState(null, null, document.URL);}
this.nav.pop();
}
});
openModal.page.ts:
presentModal() {
let modal = this.modalCtrl.create(modalsPage);
modal.present();
this.dataService.runTimeCache.openedModal=modal;
}
modal.page.ts:
dismiss() {
this.viewCtrl.dismiss();
delete this.dataService.runTimeCache.openedModal;
}
This worked！
I only used modal in my app, maybe we need to add more code when we add another UI component in the app.
This is just a temporary solution, I believe the ionic team will work this out soon.

Hello all! This has since been solved by our new IonicPage feature (previously called deeplinker) https://ionicframework.com/docs/api/navigation/IonicPage/

Found demo here & also found actual problem. Lazy load demo of ionic conference app doing good with browser back button. But in my PWA, when I press browser back, all data from previous page is lost.
e.g. If there are 3 pages A, B, C. A is root.
-> Pushed B from A with navParams.
-> Then pushed C from B.
-> Now pressing browser back button to go back to B, will loose all navParams data.
-> Also realised, browser back button reloading my previous page.(Checked with life cycle events. Constructor & ionViewDidLoad called again). But in demo, only ionViewDidEnter is called.


replace toFixed with dot.Util.toFixed?

dot uses JavaScript's built-in toFixed in Matrix3 and Matrix4. toFixed is notoriously buggy, and behavior differs depending on browser, because the spec doesn't specify whether to round or floor. Should we be using dot.Util.toFixed instead?

Same exact reasoning as https://github.com/phetsims/kite/issues/50, I'll add equivalent documentation.


[feature request] Local .gif

Add ability to import local .gif files, edit and save as new ones.

You can do that already.
Open the Editor,
File > New > Media or Project > Select gif file.
or
Drag and drop into the Editor or the executable of ScreenToGif.

You can do that already

Have tested this and can confirm.


pipreqs says "WARNING: Import named "..." not found locally. Trying to resolve it at the PyPI server."

Hi all,
This is on MacOS Catalina. My project uses python 3.10, but I also have python 3.8 installed as well as python 2.7 as it is used by the system.
I run
pipreqs .
in the project directory and for every import it finds in the code issues
"WARNING: Import named "..." not found locally. Trying to resolve it at the PyPI server."
even though these are in fact installed for python 3.10.
How do I make it find them?
Thanks.

I'm having the same issue. I'm on WIndows.

Same here on linux

Same here, also on Windows

I'm having the same problem running pipreqs against a package containing a flask app on Linux. pipreqs seems to be telling me that the flask app is using dozens of packages that are not actually present on the system. That is a real concern for me and, if it is really true, would prevent my using flask for anything. I have to have local copies of what I use, because it is a corporate environment. It is not acceptable to just download random python packages off of the internet everytime you run an enterprise app. Perhaps this is needless to say, but there. I said it.

The same issue in MacOS Sonoma 14.0. Python3 managed by Anaconda3.
$ pipreqs --print
WARNING: Import named "numpy" not found locally. Trying to resolve it at the PyPI server.
WARNING: Import named "numpy" was resolved to "numpy:1.26.0" package (https://pypi.org/project/numpy/).
Please, verify manually the final list of requirements.txt to avoid possible dependency confusions.
WARNING: Import named "pandas" not found locally. Trying to resolve it at the PyPI server.
WARNING: Import named "pandas" was resolved to "pandas:2.1.1" package (https://pypi.org/project/pandas/).
Please, verify manually the final list of requirements.txt to avoid possible dependency confusions.
WARNING: Import named "PyYAML" not found locally. Trying to resolve it at the PyPI server.
WARNING: Import named "PyYAML" was resolved to "PyYAML:6.0.1" package (https://pypi.org/project/PyYAML/).
Please, verify manually the final list of requirements.txt to avoid possible dependency confusions.
ase==3.22.1
matplotlib==3.8.0
numpy==1.26.0
pandas==2.1.1
pymatgen==2023.9.10
pytest==7.4.2
PyYAML==6.0.1
PyYAML==6.0.1
tqdm==4.66.1
INFO: Successfully output requirements

Meanwhile:
$ uname -a
Darwin Yang-MacMini 23.0.0 Darwin Kernel Version 23.0.0: Fri Sep 15 14:42:57 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T8112 arm64

#352 is similar issue.
Having this issue with Scipy and Seaborn. They are installed locally, but not detected. Causes a secondary Numpy to attempt to be installed, which conflicts with the already requested Numpy version.
WARNING: Import named "scipy" not found locally. Trying to resolve it at the PyPI server. WARNING: Import named "scipy" was resolved to "scipy:1.11.3" package (https://pypi.org/project/scipy/). Please, verify manually the final list of requirements.txt to avoid possible dependency confusions. WARNING: Import named "seaborn" not found locally. Trying to resolve it at the PyPI server. WARNING: Import named "seaborn" was resolved to "seaborn:0.13.0" package (https://pypi.org/project/seaborn/).
Local pip freeze output shows scipy==1.9.3 and seaborn==0.12.2 and numpy==1.23.5
2.259 ERROR: Cannot install numpy==1.23.5 and numpy==1.24.2 because these package versions have conflicting dependencies. 2.260  2.260 The conflict is caused by: 2.260     The user requested numpy==1.23.5 2.260     The user requested numpy==1.24.2 2.260  2.260 To fix this you could try to: 2.260 1. loosen the range of package versions you've specified 2.260 2. remove package versions to allow pip attempt to solve the dependency conflict 2.260  2.261 ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Generated requirements.txt file:
matplotlib==3.6.2 numpy==1.23.5 numpy==1.24.2 pandas==1.5.3 scipy==1.11.3 seaborn==0.13.0

I resolved the issue I had. Turns out it was two separate issues. Here is my temporary fix (use with caution):

Search at root level for dist-info. This will list all of your package folders.
Find the packages which are being copied more than once. In my case, I had multiple versions of numpy, including 1.23.5 and 1.24.2. Sure enough, I found dist-info packages for both.
Delete the one which is causing problems

This isn't a good long term fix, because you might have many environments/installations.
The second issue was seaborn and scipy not being found. Again, temporary fix, but I resolved this by adding the top_level.txt file and writing the name of the package in it. It now finds the local installations correctly.
I think the solutions to pipreqs code to account for these issues might be:

don't look for top_level.txt; it's not a guaranteed find, although its in just about every package.
Instead, search in the user configured environment folder
Search for dist-info in the environment folder, and then walk over all the directories using os.walk, retrieving the names of packages and versions by parsing <package_name>-version.number.0, using "-" to split

These should be a long term fix that doesn't require the two temp fixes above

I've written a replacement that I use locally. If others are interested, I can create a pull request for it. This assumes there is only one virtual environment to be found in sys.path, which is the case for me but I am unsure if that's true always, since sys.path can be edited. You will also have to ctrl-f for 'exports' and remove those lines of code as well, I am not sure if exports is really necessary anymore.
def get_locally_installed_packages(encoding=None):
    packages = []

   #for each possible path,
    for path in sys.path:

        #if site-packages is in the path name
        if "site-packages" in path:

            #for each file in the site-packages directory,
            for file in os.listdir(path):
                #if it contains dist-info in the directory name, it will contain the version info
                if "dist-info" in file:

                    #parsing out the package name and version from
                    package_name = file.split(os.sep)[-1].split("-")
                    package = package_name[0]
                    version = package_name[1]
                    version = version.split(os.sep)[-1].split(".dist")
                    version = version[0]

                    #appending the package and version
                    packages.append({
                        'name': package,
                        'version': version
                    })

    return packages

Any updates?
I'm using a workaround script to replace pipreqs in my small projects.

same to me.

I solved this problem.
The cause of this problem is caused by the python environment. Similarly, pipreqs is installed in /path/to/pipreqs, but after switching to the virtual environment or conda environment, the pipreqs insert are still called under the original environment.
The solution is to install pipreqs in the current environment:

pip install pipreqs && which pipreqs.
Generate requirements using pipreqs in the current environment.

Thanks @Moonmore for the comment.
I was not using an environment. Maybe I should.

Thanks @Moonmore for the comment.
I was not using an environment. Maybe I should.

If you don't have an environment to use, but have multiple python versions. Then there will be a problem with pipreqs finding multiple versions of installation packages. So you only need to specify a python version, use the corresponding pip to install pipreqs, and then generate it.
The reason is that multiple pythons will have multiple versions of installation packages, and pipreqs will issue warnings when encountering multiple versions of installation packages.
To put it simply, the solution is that pipreqs only searches for the installation package under the current python, Whether it is python environment or python version.

Same issue here, was anyone able to solve it?
Uninstalled pipreqs from local envs and only installed it on (base) conda.
Error is still occurring...

I solve it by
pipreqs . --use-local

I solve it by pipreqs . --use-local

When I use this, some packages are missing.


Straightforward way for getting most abundant categories

In GitLab by @grst on Mar 31, 2020, 16:52
We need it regulary to get the top n of a category, e.g. v-gene or clonotype.
This can be achieved in a pandas onliner, if one knows how to do it...
# This is probably hacky, we might think about a better way, but we need the most abundant clonotypes

top_clonotypes = adata.obs.clonotype.value_counts()[:8].index.values.tolist() # A better way might be needed especailly to take normalization into account
top_vgenes = adata.obs.TRB_1_v_gene.value_counts()[:8].index.values.tolist()

It would be more user-friendly to have a convenience function to this,
for instance:
ir.tl.top_clonotypes(n=10)
ir.tl.top_genes(gene="V", chain="TRA_1")

or maybe even more flexible
ir.tl.top_n(col="clonotype", n=10)

Use it for plotting:
sc.pl.umap(adata, color="clonotype", groups=ir.tl.top_n("clonotype", 10))

@szabogtamas, what do you think of this approach?
This could actually become a scanpy feature as it's not scirpy specific.

I'm currently in favor of creating a new module scirpy.get and using a single function that can be used for all columns:
ir.get.top_n(adata, "clonotype", n=10

Closing in favor of #184


Alexsio nau

``
[Enter feedback here]

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

ID: 9ce65739-6428-fc57-012c-a6741a051c6b
Version Independent ID: 3341ac81-3e21-4e71-e4f7-3eff41db05b8
Content: About the Microsoft 365 admin mobile app - Microsoft 365 admin
Content Source: microsoft-365/admin/admin-overview/admin-mobile-app.md
Service: microsoft-365-business
GitHub Login: @KwekuA
Microsoft Alias: kwekua

Hello @bitcras. Do you have a question or issue with our article? Please let us know.

@bitcras We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if you see an improvement is required in the specific area of this documentation. We will certainly update this documentation with that valuable information. Thanks again, for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


[Bug] Error when compiling a simple ONNX model with MatMul operator for opt_level=2

Description
When compiling following model with opt_level=2, TVM will crash. While if turn opt_level to 3, it will run normally.
The model(with ONNX as frontend) with error is as follows, check bug.onnx in bug0.zip.

Error Log
Traceback (most recent call last):
  File "check.py", line 19, in <module>
    tvm_graph, tvm_lib, tvm_params = relay.build_module.build(mod, target, params=params)
  File "/Users/luyaor/Documents/tvm/python/tvm/relay/build_module.py", line 275, in build
    graph_json, mod, params = bld_mod.build(mod, target, target_host, params)
  File "/Users/luyaor/Documents/tvm/python/tvm/relay/build_module.py", line 138, in build
    self._build(mod, target, target_host)
  File "/Users/luyaor/Documents/tvm/python/tvm/_ffi/_ctypes/packed_func.py", line 237, in __call__
    raise get_last_ffi_error()
tvm._ffi.base.TVMError: Traceback (most recent call last):
  [bt] (8) 9   libtvm.dylib                        0x00000001112c2a02 tvm::relay::StorageAllocator::Plan(tvm::relay::Function const&) + 354
  [bt] (7) 8   libtvm.dylib                        0x00000001112c68ca tvm::relay::StorageAllocaBaseVisitor::Run(tvm::relay::Function const&) + 154
  [bt] (6) 7   libtvm.dylib                        0x00000001112c44c7 tvm::relay::StorageAllocaBaseVisitor::GetToken(tvm::RelayExpr const&) + 23
  [bt] (5) 6   libtvm.dylib                        0x0000000111359b58 tvm::relay::ExprVisitor::VisitExpr(tvm::RelayExpr const&) + 344
  [bt] (4) 5   libtvm.dylib                        0x00000001110f1fad tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>::VisitExpr(tvm::RelayExpr const&) + 173
  [bt] (3) 4   libtvm.dylib                        0x00000001110f22a0 tvm::NodeFunctor<void (tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*)>::operator()(tvm::runtime::ObjectRef const&, tvm::relay::ExprFunctor<void (tvm::RelayExpr const&)>*) const + 288
  [bt] (2) 3   libtvm.dylib                        0x00000001112c425b tvm::relay::StorageAllocator::CreateToken(tvm::RelayExprNode const*, bool) + 1179
  [bt] (1) 2   libtvm.dylib                        0x00000001112c6093 tvm::relay::StorageAllocator::GetMemorySize(tvm::relay::StorageToken*) + 451
  [bt] (0) 1   libtvm.dylib                        0x00000001105dac6f dmlc::LogMessageFatal::~LogMessageFatal() + 111
  File "/Users/luyaor/Documents/tvm/src/relay/backend/graph_plan_memory.cc", line 292
TVMError:
---------------------------------------------------------------
An internal invariant was violated during the execution of TVM.
Please read TVM's error reporting guidelines.
More details can be found here: https://discuss.tvm.ai/t/error-reporting/7793.
---------------------------------------------------------------
  Check failed: pval != nullptr == false: Cannot allocate memory symbolic tensor shape [?, ?, ?]

How to reproduce
Environment
Python3, with tvm, onnx
tvm version: c31e338d5f98a8e8c97286c5b93b20caee8be602 Wed Dec 9 14:52:58 2020 +0900
Conda environment reference:  see environment.yml

Download bug0.zip

Run python check.py.

This is simply because the DynamicToStatic pass is defined at opt level 3, not 2. We
can lower it to make this pass, if we think that's a robust thing to do more generally.
cc @tqchen @jroesch @masahi @jwfromm

This is simply because the DynamicToStatic pass is defined at opt level 3, not 2. We
can lower it to make this pass, if we think that's a robust thing to do more generally.
cc @tqchen @jroesch @masahi @jwfromm

I agree that given DynamicToStatic brings no harm, it should be applied more generally.

I agree that given DynamicToStatic brings no harm, it should be applied more generally.

closed by #7213 Thanks @mbrookhart @luyaor !

closed by #7213 Thanks @mbrookhart @luyaor !


Integration test 2 is failing

Hello, the integration test 2 have the following error:
10:09:12 2017-01-17 09:09:11 jclouds-sdk-private-ece son.package.package[19988] ERROR Unable to solve all dependencies required by the service descriptor.
10:09:12 2017-01-17 09:09:11 jclouds-sdk-private-ece son.package.package[19988] ERROR Failed to package function descriptors
10:09:12 2017-01-17 09:09:11 jclouds-sdk-private-ece son.package.package[19988] ERROR Failed to package Package Content Section. Could not find a network service and/or its referenced function descriptors
10:09:12 2017-01-17 09:09:11 jclouds-sdk-private-ece son.package.package[19988] CRITICAL Missing package descriptor. Failed to generate package.
More information:
https://jenkins.sonata-nfv.eu/view/INTEGRATION/job/int-2-sdk-workflow/330/console

Hello @felipevicens,
I'm on top of this. We removed the sdk catalogues from son-package and we are also changing the integration tests accordingly.

Done. Removed integration tests with SDK catalogues, tests are no longer failing.
Next step is to develop integration tests with son-access to communicate with GTKeeper to solve external dependencies (descriptors).


Update js variables based on updated json on brand evolution branch

Update js variables based on updated json

Also update tests

Completed in these commits

https://github.com/MetaMask/design-tokens/pull/692/commits/559ed13697ece7b2c1baf8b7f5faa8e7e34647b8
https://github.com/MetaMask/design-tokens/pull/692/commits/79214f9e8ebdda1c6784da4b5dfaa114aa798ca6


Does not print sequential number

Does not print sequential number (first number on each page starting from page 2)
Here is a sample adoc file
= Olympiad
:stem:

== Addition and Subtraction

. John has 7 apples and buys 5 more. How many apples does John have now?

. Lily has 12 candies. She gives 4 to her friend. How many candies does Lily have left?

. A tree has 10 birds sitting on it. 3 birds fly away. How many birds are left on the tree?

. Tim has 15 marbles. He loses 5. How many marbles does he have now?

. Sara has 20 stickers. She gives 8 to her friends. How many stickers does she have left?

. There are 18 students in a class. 5 of them leave. How many students are left in the class?

. Emma has 9 balloons. She pops 4 of them. How many balloons are left?

. A toy shop has 25 cars. They sell 10 cars. How many cars are left in the shop?

. Sam has 6 chocolates. He gets 4 more from his mother. How many chocolates does Sam have now?

. A farmer has 13 cows. He sells 5 cows. How many cows does the farmer have left?

. Alex has 11 pencils and buys 4 more. How many pencils does he have now?

. A baker has 24 cupcakes. He sells 7 of them. How many cupcakes are left?

. Emily has 30 books. She gives 9 to her friend. How many books does she have left?

. Mark has 22 toy cars. He buys 8 more. How many toy cars does Mark have now?

. A garden has 16 flowers. 6 flowers are picked. How many flowers are left in the garden?

. If there are 50 apples in a basket and 20 are taken out, how many apples are left in the basket?

. A classroom has 12 chairs. 4 chairs are moved. How many chairs are left in the classroom?

. If a box has 40 toys and 15 toys are removed, how many toys are left in the box?

. There are 18 cookies on a plate. 7 cookies are eaten. How many cookies are left?

. Jane has 25 marbles. She gives 10 marbles to her friends. How many marbles does Jane have now?

. Ben has 14 candies. He eats 6 and buys 7 more. How many candies does Ben have now?

. There are 45 apples in a basket. 20 apples are taken out, and 15 new apples are added. How many apples are in the basket now?

. Jenny has 25 flowers. She gives 10 to her friend and picks 8 more. How many flowers does she have now?

. There are 60 students in a hall. 30 students leave, and 10 more students enter. How many students are in the hall now?

. A farmer had 80 cows. He sold 40 cows, then bought 20 more. How many cows does the farmer have now?

. A toy store has 35 toys. It sells 15 toys and buys 25 more. How many toys does the store have now?

. David has 50 chocolates. He gives 20 to his friends and buys 30 more. How many chocolates does David have now?

. A class has 40 students. 10 students leave, and 5 new students join. How many students are in the class now?

. A bakery had 90 cupcakes. It sold 30 in the morning and baked 40 more. How many cupcakes does the bakery have now?

. Tim had 100 marbles. He gave 40 to his brother and then bought 20 more. How many marbles does Tim have now?

...

Here is a sample pdf:
olympiad.pdf

to fix your trouble check this solution click
maybe this will solve your problem.


Add Counter Time Component

What does this component? Is how a timer? The time is reducing to reach 0? What occurs when the time is in 0?

What does this component? Is how a timer? The time is reducing to reach 0? What occurs when the time is in 0?

It is a countdown timer  with a simple functionality, it will track the estimated time for the user to receive a package, and once it run to 0 it means that the package has arrived the destination.

Solved in other PR


Add Search To Emoji Page

This adds a typeahead search feature to the docs page
for the very large emoji table. It filters as you type to find if an emoji exists or not.
The JavaScript could be adapted to work on all tables in the future.

@khalidabuhakmeh Ooooooh, this is pure gold!

@khalidabuhakmeh Thanks for the search. This is super useful!


Use “latest” for OS version

Using latest as OS version avoids need to update OS version each time Xcode changes.

Wasn't able to get "latest" working as that only applies to xcodebuild commands. Pointed at correct runtime and is working that way for now.


Unavailable topic suggestions after search with no results seems weird

Ignoring the wording of the toggle, it seems weird to me that when I choose to only show downloaded items in search results, and there are no results, I am offered a bunch of topics below which are not downloaded either.
Steps to reproduce:

Choose a channel which has no downloaded items
Search for anything
Choose to only show downloaded items

When I enable showing non-downloaded items, I just get the two results, and nothing else, which is as expected.

@jofilizola what do you think?

@wjt we changed the way the switch works. Now it will show everything by default and the switch says "Only downloaded items". When you activate the switch, it will show the "no results" error. If you can check now, with the updated version, can see you if it feels better?

It's better but the empty Explore topics section now looks a bit strange, both in the “no search terms have been entered” case and in the “no results for search”.

I don't think this is super-important though.

GREAT CATCH! We should:

[ ] Hide "Explore topics" component if empty.
[ ] Update the copy not to invite topic exploration, so it's still the same everywhere. (Should stop with a full stop replacing the comma before "or")
[ ] (Backlog of the backlog) For flat channels, add the channel items on the “no search terms have been entered” page

@erikos do you think this works? If yes, would you pretty please create the tasks?

I absolutely agree with all! Just keep in mind that the search page needs some internal refactoring. I did 2 changes yesterday and is hard to work in it.

@manuq I think these are weird behaviours that need to be fixed and tracked, but not showstopers in my opinion.


Add triggering of property handler in dbparameters

After review, what you have done is correct. Thank you for this PR. Cheers!

@davidrot - I actually added more Unit Tests for this critical behavior. Also, I added the entityType argument in the DbCommandExtensions.CreateParameters() method.


(feature) Wording and styles improvements in modals

Related to #1668

[x] Safe details. External link should have an icon, this is our typical link format: https://prnt.sc/vssngf.
https://zpl.io/VDLpn5v
[x] Receive popup. The title is 'Receive funds', text doesn't mention collectibles: https://prnt.sc/vsr8l6. The title should be updated to 'Receive assets', description changed to 'Only send Ethereum-based currencies and assets to this address (e.g. ETH, ERC20, ERC721)'.
https://zpl.io/VQkMWX9
[x] 'Send Collectible review 'popup. Currently it's called 'Send Funds': https://prnt.sc/u6xeok. Rename to 'Send Collectible'.
https://zpl.io/adgRM7L
[x] 'Contract interaction' popup. Currently it changes title unexpectedly: https://prnt.sc/txntpr. Rename all to 'Contract interaction'.
https://zpl.io/2yr17m9
[x] Dropdown in 'Contract interaction' popup. Existing dropdown misses title so the users don't know what to expect: https://prnt.sc/txnxu9. Maybe call it 'Method'?
https://zpl.io/amo86n6
[x] Toggle 'Use custom data' in 'Contract interaction' popup: https://prnt.sc/txnq4q. It should be on the left.
https://zpl.io/V4LEJ10
[x] 'Contract address' field in 'Contract interaction' popup. In existing popup 'recipient' changes to 'Contract address': https://prnt.sc/txnwqt. It should always be called 'Contract address'.
https://zpl.io/V4LEJ10

Issues:
Safe version icon has no link. All other instances I've found of the icon has a link you can click, like when you cancel a tx, the help text  that shows up has a link with the icon and that icon has a link

When the "hex encoded" check is enabled you switch to a different form.
In that form, if you enter a valid address the name of the input is "recipient" instead of "Contract address":

Fixed were implemented.
Looks good to me


Alloy Test and Investigation for Logs

Motivation
We want to unify all of our agents to use the new opentelemetry agent from grafanalabs: alloy. For this we need to first test out if alloy can deliver exactly the same capability as the promtail/grafana agents when collecting logs.
Todo

[x] Create a feature flag with which we can select which agents are active - for this we still need to deploy both
[x] Check if loki still gets the same logs as we expect
[x] Compare the resource consumption of alloy to the previous agents - is it less, is it more, is it the same?
[ ] Deploy alloy in one test cluster of a test installation (like gazelle) to collect logs

Outcome

We gained experience with alloy and are confident enough to roll it out as agent for collecting logs everywhere

How to send logs to Loki using Alloy
Assuming that Loki is already installed

Install alloy

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
kubectl create namespace alloy
kubectl config set-context --current --namespace alloy
helm install --namespace alloy alloy grafana/alloy

Configure Alloy to send logs to Loki

cat <<EOF > podlogs.alloy
loki.source.podlogs "default" {
  forward_to = [loki.write.remote.receiver]
  namespace_selector {
    match_labels = {
      "kubernetes.io/metadata.name" = "alloy",
    }
  }
  selector {
    match_labels = {
      "foo" = "bar",
    }
  }
}

loki.write "remote" {
  endpoint {
    url = "https://full-loki.url/loki/api/v1/push"
    basic_auth {
      username = "xxxx"
      password = "xxxx"
    }
  }
}
EOF

Create a PodLogs (it should target an existing pod producing logs)

cat <<EOF > podlogs.yaml
apiVersion: monitoring.grafana.com/v1alpha2
kind: PodLogs
metadata:
  name: some-podlog
  labels:
    foo: bar
spec:
  namespaceSelector:
    matchLabels:
      kubernetes.io/metadata.name: prometheus-watcher
  selector:
    matchLabels:
      app.kubernetes.io/name: grafana
EOF

Verify that logs are received in Loki

$ k port-forward svc/loki-gateway 8080:80
$ logcli query '{job="alloy/alloy-podlog"}'
2024/06/27 20:07:37 http://<IP_ADDRESS>:8080/loki/api/v1/query_range?direction=BACKWARD&end=1719511657441077151&limit=30&query=%7Bjob%3D%22alloy%2Falloy-podlog%22%7D&start=1719508057441077151
2024/06/27 20:07:37 Common labels: {instance="prometheus-watcher/prometheus-watcher-grafana-65c8bc5467-8296j:grafana", job="alloy/alloy-podlog", level="debug", service_name="alloy/alloy-podlog"}
2024-06-27T19:52:14+02:00 {} logger=context userId=1 orgId=1 uname=admin t=2024-06-27T17:52:14.52104332Z level=info msg="Request Completed" method=GET path=/api/live/ws status=400 remote_addr=<IP_ADDRESS> time_ms=1 duration=1.290947ms size=12 referer= handler=/api/live/ws status_source=server
2024-06-27T19:52:09+02:00 {} logger=context userId=1 orgId=1 uname=admin t=2024-06-27T17:52:09.348674096Z level=info msg="Request Completed" method=GET path=/api/live/ws status=400 remote_addr=<IP_ADDRESS> time_ms=1 duration=1.240795ms size=12 referer= handler=/api/live/ws status_source=server
... more log lines ...

I added capability to switch between Promtail and Alloy as logging agent into the logging operator, this can be configured via the loggingAgent field in the logging operator helm chart.
Alloy is deploy with the name alloy-logs
Alloy configuration is using the same configuration as Promtail did
Alloy is configured via the logging-operator, this was implemented in https://github.com/giantswarm/logging-operator/pull/164
This is currently deployed on gazelle.

v29.1.0 is on its way, once this is release to a CAPA installation we can proceed with our live testing of Alloy as logging agent. Everything should already be in place on gazelle as the flag toggle was already merged here https://github.com/giantswarm/giantswarm-configs/pull/120

@TheoBrigitte did you also add the grafana-agent config in the alloy-log app via the operator?

@TheoBrigitte did you also add the grafana-agent config in the alloy-log app via the operator?

Which configuration are you talking about ?

Thé Kubernetes évents because you toggled off thé grafana agent app but did not port thé config I think

I only turned off Promtail and replaced it with Alloy, Grafana agent is still in place.

Ah okay :)

This is available from:

capa v29.1.0 https://github.com/giantswarm/releases/tree/master/capa/v29.1.0
capz v29.1.0 https://github.com/giantswarm/releases/pull/1389

Reminder: make sure we make an announcement to customers before releasing alloy-logs.

We're done :)


vote: Adding @darryk10 to rules approvers

What type of PR is this?
After more than a year as a reviewer in the falcosecurity/rules repo and more than 3 years as a contributor in the Falco community, I want to propose myself as a rule approver.

Uncomment one (or more) /kind <> lines:

/kind feature

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area rules

/area registry

/area build

/area documentation

Proposed rule maturity level

Uncomment one (or more) /area <> lines (only for PRs that add or modify rules):

/area maturity-stable

/area maturity-incubating

/area maturity-sandbox

/area maturity-deprecated

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

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: darryk10
Once this PR has been reviewed and has the lgtm label, please assign andreagit97 for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Big +1 from me!
/hold until we reach the majority or a week has passed
cc @falcosecurity/rules-maintainers

+1 , thank you @darryk10 !

PS this PR triggered a bug in the CI that validates rules. I will dig into it. It's unrelated to this PR, so please ignore it.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: darryk10, Kaizhe
Once this PR has been reviewed and has the lgtm label, please assign andreagit97 for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

+1 from me! Welcome!!

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

cd4faeb Merge branch 'falcosecurity:main' into main

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

cd4faeb Merge branch 'falcosecurity:main' into main

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

LGTM label has been added.  Git tree hash: b30d8cb409ada1fc977f8bf0ca95768acc9c3a31


[5.5] Fix spelling

While the code may indeed be "groping" some queries, the results appear to actually be "grouped" upon return.

Fixed.


wrong path

find /backup/  -mmin +$DB_CLEANUP_TIME -iname "db_$DBNAME_." -exec rm {} ;
=>
find /backups/  -mmin +$DB_CLEANUP_TIME -iname "db_$DBNAME_." -exec rm {} ;

Same here

pull request here https://github.com/tiredofit/docker-mariadb-backup/pull/5


bug? os error 11(headset) and Handshake error(pc) in multiple different versions

Description
After switching between multiple versions of ALVR and SteamVR, I still encounter the exact same error, even with the Nightly version. The error displayed in the headset is "os error 11," while on the PC, the error reads: "Handshake error for 7734.client: 由于连接方在一段时间后没有正确答复或连接的主机没有反应，连接尝试失败。 (os error 10060)"
General Troubleshooting

[x] I carefully followed the instructions in the README and successfully completed the setup wizard
[x] I read the ALVR GitHub Wiki

Environment
Hardware
CPU: AMD Ryzen 5 5500
GPU: NVIDIA GeForce GTX 1050 Ti
GPU Driver Version: <IP_ADDRESS>94
Audio: VB Cable
Installation
ALVR Version: v20.10.0, v20.11.1, v21.0.0-dev01+nightly.2024.11.03
ALVR Settings File: https://pastebin.com/mM4kq20J
SteamVR Version: beta 2.8.6
Install Type:

[ ] Packaged (exe, deb, rpm, etc)
[ ] Portable (zip)
[ ] Source
[x] ALVR Launcher

OS Name and Version: Windows 11 23H2 (22631.4169)

Same as #2296 (Which got closed by the bot and nobody will reopen)
I continue to have this issue myself, too.


It would be nice if you could add support Node.js only to READMEmd for more detail

Thank you for awesome package! :100:
It would be nice if you could add support Node.js only to READMEmd for more detail.
I realized that one of package's dependency is node.js fs, so i can't use it on browser. :cry:

The first line of the README says "Windows-only native addon". Doesn't that cover it?
PS. The node core fs module isn't used here. The native addon calls a Win32 API (GetFileVersionInfoW) which in turn reads the file.

@vweevers
Thank you for your explanation!


RET-356 error summary and links

JIRA link
https://tools.hmcts.net/jira/browse/RET-356
Change description
Adds the error summary and external links to /lit-or-representative page.
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x ] No

RET-899 updates this with generic form


Read int as string in model

[EdiValue("9(2)", Path = "ISA/0", Description = "ISA01 - Authorization Information Qualifier")]
public int AuthorizationInformationQualifier { get; set; }

[EdiValue("9(2)", Path = "ISA/2", Description = "ISA03 - Security Information Qualifier")]
public string Security_Information_Qualifier { get; set; }

Was looking at X12_850.cs model and noticed that for the picture clause both of these are numeric but 1 reads into a int and other into a string what is the difference when you read into different variable types?  Or is this a typo?

Hi @Patrickyp thanks for your interest in the library.
What you see is expected behavior. When writing values the format defined is clear that is used as a string format to convert to string .When reading there are two steps

Format metadata used from the picture clause used to parse the value into whatever value type there is defined on the property.
When the binding takes place in your case from string to string there is no conversion that takes place. On the other hand from string to int there is parsing. In the int prop the string value gets truncated if longer than two chars and then passed to a int.TryParse

Similar goes for other data types.
C.

Thanks for clarifying.  Right now I need to figure out when reading Edi element if the field was blank or if the formatting was bad e.g. letter in a number only field.  I am reading everything as string so that if field blank I would know since it is null and if not I will do my own validation/parsing to check format because I couldn't figure out how to differentiate if a field was blank or bad formatting sometimes since they both came out null.
I don't know if reading everything as string is unnessesary in this case or not.

Dont worry about the format spec (pictures) because it will never mess the value so bad when reading. First worry about the binding structure. When deserializing the issue is 99% bad model structure or paths


 They need to be deopped and reopped via console. Please advise.

You don't provide enough information for us to actually help you.
Please make sure you provide the following information:

Any error you encountered (Upload the content of your logs on https://hasteb.in or similar)
What Server or Proxy type are you running?

What is the version of it?

What LuckPerms version are you running?
What are your config settings? (Remove any potentially sensitive data like passwords before sharing the file)

Additional Links/Information
Synchronizing groups, permissions, etc. accross servers:
https://github.com/lucko/LuckPerms/wiki/Network-Installation
Setup prefixes/suffixes and display them in chat, tablist, etc.:
https://github.com/lucko/LuckPerms/wiki/Prefixes,-Suffixes-&-Meta
Storage system errors (MySQL/MariaDB related errors):
https://github.com/lucko/LuckPerms/wiki/Storage-system-errors

My apologies, half my post was actually cut off.
No errors.
Server Version;  git-Paper-192 (MC: 1.14.4) - 1.14.4-R0.1-SNAPSHOT
LuckPerms-Bukkit-4.4.30.jar (#919)
Config: https://hastebin.com/abonohohif.shell
Latest Log: https://hastebin.com/literiluxe.md

Fixed itself, weird.


Conflicting nginx config files when issuing certificate

Bugs should be filed for issues encountered whilst operating cert-manager.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors.
Please provide as much detail as possible.

Describe the bug:
I followed the instructions on this page: https://docs.cert-manager.io/en/latest/tutorials/acme/quick-start/index.html
Everything worked as expected (not everything to be honest, actually nothing to be precise, the fact that I should install version 0.6.6 to get 0.6.2 is not even close to "expected", but we can ignore all the difficulties I faced and focus on the particular one I'm reporting, I'm sure cert-manager is on its way to get perfect) except this:
When it was supposed to serve the challenge (/.well-known/...) it timed out several times, I tried to curl it and I saw it's returning:
HTTP/1.1 301 Moved Permanently
Server: nginx/1.15.8
Date: Tue, 05 Mar 2019 23:00:38 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
Location: https://xyz:443/

<title>301 Moved Permanently</title>

301 Moved Permanently

nginx/1.15.8

(It's curl -i) I connected to the pod with exec -it bash and checked the logs, redirections were not logged, but lets focus on this issue: I checked /etc/nginx/conf.d and saw there are 2 files there: one was the one that ingress created to normally serve my containers, another one to serve .well-known/... that should've been created by cert-manager, the thing is these two files were conflicting, as expected, and first one didn't let second one work. nginx -t didn't report any errors. By moving the first one to /tmp by mv command and running service nginx reload everything worked in less than a minute. I tried it several times to understand what's wrong in my setup, say 5 times, everytime as soon as I moved first file to /tmp certificate got validated quickly and it automatically removed the second file and regenerated first file (I didn't have to move back the file from /tmp)
This issue was mentioned here https://github.com/jetstack/cert-manager/issues/390 but that guy decided to assume the problem is with his setup (I don't understand why it shouldn't work with LoadBalancer or whatever, cert-manager should disable normal setup or prioritize its own conf file over normal conf file in any situation.)
Expected behaviour:
cert-manager should prioritize its own config over normal config file somehow so that .well-known/... is served with higher priority.
Steps to reproduce the bug:
Let me know if it's required and I'll provide steps, maybe I don't need to prepare it and you already know what's wrong here.
Btw, I'm using Amazon EKS, Route53, etc
Anything else we need to know?:
I want you to know I'm really thankful for your effort and I'm sure cert-manager will soon be much more stable. cert-manager is indeed a solution to a problem many people are dealing with.
Environment details::

Kubernetes version (e.g. v1.10.2): 1.11.5
Cloud-provider/provisioner (e.g. GKE, kops AWS, etc): AWS
cert-manager version (e.g. v0.4.0): 0.6.2 (0.6.6 in helm !?!!!?!!!!!!!)
Install method (e.g. helm or static manifests): static manifests

/kind bug

Fixed in 0.7

I've upgraded to v0.7.0 and this still seems to be an issue.

Are you using ingress provided by kubernets or the one provided by nginx? cert-manager works best with the one provided by kubernetes (https://github.com/kubernetes/ingress-nginx)

@sassanh I am using the one provided by Kubernetes. It's definitely a case of my application pod hijacking the requests to .well-known URLs that should be served by the cert-manager pod

I thought it's solved in v0.7.0, do you want me to reopen this issue? Or you'll create another issue?

@sassanh I'm just very confused! After I update my ingress file, the nginx-controller pod gets reinitialized with a config such as the one seen below, which looks like it should be routing the .well-known requests to the right pod.. but for some reason my application page still gets served instead!
Might you be able to spot something that's off here?
server {
                server_name www.redacted.net ;

                listen 80;

                listen [::]:80;

                set $proxy_upstream_name "-";

                listen 443  ssl http2;

                listen [::]:443  ssl http2;

                # PEM sha: 2f583316b62c7d61eb1a7d9581a5ba59db37e967
                ssl_certificate                         /etc/ingress-controller/ssl/default-san-tls.pem;
                ssl_certificate_key                     /etc/ingress-controller/ssl/default-san-tls.pem;

                location ~* "^/.well-known/acme-challenge/B0DqmM1UOkQbGunCKvYSnSkLj7qkjGpl_nOpXq-bDp8" {

                        set $namespace      "default";
                        set $ingress_name   "basic-ingress";
                        set $service_name   "cm-acme-http-solver-nk7lr";
                        set $service_port   "8089";
                        set $location_path  "/.well-known/acme-challenge/B0DqmM1UOkQbGunCKvYSnSkLj7qkjGpl_nOpXq-bDp8";

                        rewrite_by_lua_block {
                                balancer.rewrite()
                        }

                        header_filter_by_lua_block {

                        }
                        body_filter_by_lua_block {

                        }

                        log_by_lua_block {

                                balancer.log()

                                monitor.call()
}

                        if ($scheme = https) {
                                more_set_headers                        "Strict-Transport-Security: max-age=15724800; includeSubDomains";
                        }

                        port_in_redirect off;

                        set $proxy_upstream_name    "default-cm-acme-http-solver-nk7lr-8089";
                        set $proxy_host             $proxy_upstream_name;

                        client_max_body_size                    1m;

                        proxy_set_header Host                   $best_http_host;

                        # Pass the extracted client certificate to the backend

                        # Allow websocket connections
                        proxy_set_header                        Upgrade           $http_upgrade;

                        proxy_set_header                        Connection        $connection_upgrade;

                        proxy_set_header X-Request-ID           $req_id;
                        proxy_set_header X-Real-IP              $the_real_ip;

                        proxy_set_header X-Forwarded-For        $the_real_ip;

                        proxy_set_header X-Forwarded-Host       $best_http_host;
                        proxy_set_header X-Forwarded-Port       $pass_port;
                        proxy_set_header X-Forwarded-Proto      $pass_access_scheme;

                        proxy_set_header X-Original-URI         $request_uri;

                        proxy_set_header X-Scheme               $pass_access_scheme;

                        # Pass the original X-Forwarded-For
                        proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;

                        # mitigate HTTPoxy Vulnerability
                        # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
                        proxy_set_header Proxy                  "";

                        # Custom headers to proxied server

                        proxy_connect_timeout                   5s;
proxy_send_timeout                      60s;
                        proxy_read_timeout                      60s;

                        proxy_buffering                         off;
                        proxy_buffer_size                       4k;
                        proxy_buffers                           4 4k;
                        proxy_request_buffering                 on;

                        proxy_http_version                      1.1;

                        proxy_cookie_domain                     off;
                        proxy_cookie_path                       off;

                        # In case of errors try the next upstream server before returning an error
                        proxy_next_upstream                     error timeout;
                        proxy_next_upstream_tries               3;

                        rewrite "(?i)/.well-known/acme-challenge/B0DqmM1UOkQbGunCKvYSnSkLj7qkjGpl_nOpXq-bDp8" / break;
                        proxy_pass http://upstream_balancer;

                        proxy_redirect                          off;

                }

                location ~* "^/*" {

                        set $namespace      "default";
                        set $ingress_name   "basic-ingress";
                        set $service_name   "frontend-service";
                        set $service_port   "80-to-8080-tcp";
                        set $location_path  "/*";

                        rewrite_by_lua_block {
                                balancer.rewrite()
                        }

                        header_filter_by_lua_block {

                        }
body_filter_by_lua_block {

                        }

                        log_by_lua_block {

                                balancer.log()

                                monitor.call()

                        }

                        if ($scheme = https) {
                                more_set_headers                        "Strict-Transport-Security: max-age=15724800; includeSubDomains";
                        }

                        port_in_redirect off;

                        set $proxy_upstream_name    "default-frontend-service-80-to-8080-tcp";
                        set $proxy_host             $proxy_upstream_name;

                        # enforce ssl on server side
                        if ($redirect_to_https) {
                                set_by_lua_block $redirect_host {
                                        local ngx_re = require "ngx.re"

                                        local host_port, err = ngx_re.split(ngx.var.best_http_host, ":")
                                        if err then
                                        ngx.log(ngx.ERR, "could not parse variable: ", err)
                                        return ngx.var.best_http_host;
                                        end

                                        return host_port[1];
                                }

                                return 308 https://$redirect_host$request_uri;

                        }
client_max_body_size                    1m;

                        proxy_set_header Host                   $best_http_host;

                        # Pass the extracted client certificate to the backend

                        # Allow websocket connections
                        proxy_set_header                        Upgrade           $http_upgrade;

                        proxy_set_header                        Connection        $connection_upgrade;

                        proxy_set_header X-Request-ID           $req_id;
                        proxy_set_header X-Real-IP              $the_real_ip;

                        proxy_set_header X-Forwarded-For        $the_real_ip;

                        proxy_set_header X-Forwarded-Host       $best_http_host;
                        proxy_set_header X-Forwarded-Port       $pass_port;
                        proxy_set_header X-Forwarded-Proto      $pass_access_scheme;

                        proxy_set_header X-Original-URI         $request_uri;

                        proxy_set_header X-Scheme               $pass_access_scheme;

                        # Pass the original X-Forwarded-For
                        proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;

                        # mitigate HTTPoxy Vulnerability
                        # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
                        proxy_set_header Proxy                  "";

                        # Custom headers to proxied server

                        proxy_connect_timeout                   5s;
                        proxy_send_timeout                      60s;
                        proxy_read_timeout                      60s;

                        proxy_buffering                         off;
                        proxy_buffer_size                       4k;
                        proxy_buffers                           4 4k;
                        proxy_request_buffering                 on;

                        proxy_http_version                      1.1;

                        proxy_cookie_domain                     off;
                        proxy_cookie_path                       off;

                        # In case of errors try the next upstream server before returning an error
                        proxy_next_upstream                     error timeout;
                        proxy_next_upstream_tries               3;

                        rewrite "(?i)/*" / break;
                        proxy_pass http://upstream_balancer;

                        proxy_redirect                          off;

                }

                location ~* "^/" {

                        set $namespace      "";
                        set $ingress_name   "";
                        set $service_name   "";
                        set $service_port   "0";
                        set $location_path  "/";

                        rewrite_by_lua_block {
                                balancer.rewrite()
                        }

                        header_filter_by_lua_block {

                        }
                        body_filter_by_lua_block {

                        }

                        log_by_lua_block {

                                balancer.log()

                                monitor.call()

                        }

                        if ($scheme = https) {
                                more_set_headers                        "Strict-Transport-Security: max-age=15724800; includeSubDomains";
                        }

                        port_in_redirect off;

                        set $proxy_upstream_name    "upstream-default-backend";
                        set $proxy_host             $proxy_upstream_name;

                        # enforce ssl on server side
                        if ($redirect_to_https) {
                                set_by_lua_block $redirect_host {
                                        local ngx_re = require "ngx.re"

                                        local host_port, err = ngx_re.split(ngx.var.best_http_host, ":")
                                        if err then
                                        ngx.log(ngx.ERR, "could not parse variable: ", err)
                                        return ngx.var.best_http_host;
                                        end

                                        return host_port[1];
}

                                return 308 https://$redirect_host$request_uri;

                        }

                        client_max_body_size                    1m;

                        proxy_set_header Host                   $best_http_host;

                        # Pass the extracted client certificate to the backend

                        # Allow websocket connections
                        proxy_set_header                        Upgrade           $http_upgrade;

                        proxy_set_header                        Connection        $connection_upgrade;

                        proxy_set_header X-Request-ID           $req_id;
                        proxy_set_header X-Real-IP              $the_real_ip;

                        proxy_set_header X-Forwarded-For        $the_real_ip;

                        proxy_set_header X-Forwarded-Host       $best_http_host;
                        proxy_set_header X-Forwarded-Port       $pass_port;
                        proxy_set_header X-Forwarded-Proto      $pass_access_scheme;

                        proxy_set_header X-Original-URI         $request_uri;

                        proxy_set_header X-Scheme               $pass_access_scheme;

                        # Pass the original X-Forwarded-For
                        proxy_set_header X-Original-Forwarded-For $http_x_forwarded_for;

                        # mitigate HTTPoxy Vulnerability
                        # https://www.nginx.com/blog/mitigating-the-httpoxy-vulnerability-with-nginx/
                        proxy_set_header Proxy                  "";

                        # Custom headers to proxied server

                        proxy_connect_timeout                   5s;
                        proxy_send_timeout                      60s;
                        proxy_read_timeout                      60s;

                        proxy_buffering                         off;
                        proxy_buffer_size                       4k;
                        proxy_buffers                           4 4k;
                        proxy_request_buffering                 on;

                        proxy_http_version                      1.1;

                        proxy_cookie_domain                     off;
                        proxy_cookie_path                       off;

                        # In case of errors try the next upstream server before returning an error
                        proxy_next_upstream                     error timeout;
proxy_next_upstream_tries               3;

                        proxy_pass http://upstream_balancer;

                        proxy_redirect                          off;

                }

        }```

It looks good, what's the yaml file that's generating this?

So I figured this out and it of course wasn't an issue with cert-manager!
I had my root domain e.g. .com automatically redirecting to www..com, but was also trying to generate a certificate at .com as well as for the subdomains. Cert-manager failed because it couldn't reach the .well-known/acme-challenge of the root domain as it was being redirected.
The way I plan on solving this is generating the root certificate through DNS not HTTP, and that way the certificate will still be valid for .com and I can still forward both http and https connections to the www subdomain.
Thanks @sassanh !


Change the data model to add the concept of organisation, each self hosted instance would have one organisation, but this will enable having multiple organisations on a cloud hosted instance.

Closed in https://github.com/PostHog/squeak/pull/62


TV backlighting not turning off at night

When the living room is occupied during the night the TV backlighting does not turn off again when the room turns empty.

Seems to be fixed with e2bdc5b.

Aaaand it happened again. The TV automatically turned off with the Xbox One after 10pm while the room was occupied and the balcony door was closed.


Introduction To Hierarchical Clustering Algorithm

Proposal Submission
Introduction To Hierarchical Clustering Algorithm
Proposed article introduction
Unsupervised Machine Learning is used in the hierarchical clustering process. Its goal is to discover natural groupings based on the data's qualities.
By constructing a hierarchy, the hierarchical clustering method seeks to locate nested groups of data. It's analogous to the plant or animal kingdom's biological taxonomy. The hierarchical tree known as a dendrogram is commonly used to describe hierarchical groups.
Key takeaways
Types of hierarchical clustering algorithm
Steps for hierarchical clustering algorithm
Single Linkage and Complete Linkage
Article quality
How is your article unique? Tell us what makes your approach different from similar articles that have published on the same topic?
Is yours more in-depth? Does it cover additional topics? Do you provide handy tips or anecdotal advice?
References
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Hello @lalith1403 - could you please check this topic when you get a chance?

Good afternoon and thank you for submitting your topic to the EngEd program.
After some careful consideration, it struck us that this topic may be a bit over-saturated throughout other blog sites and official documentations.
We typically refrain from publishing content that is covered widely on the net or other blogs. We're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
But in order to approve the topic, it has to serve value to the larger developer community at large.
An option and a great way to write this as an in-depth article and make it more add value to the greater developer community at large would be to walk the reader through the USE of methods and functions by building a unique, different, useful project.

We would love to learn your thought process behind the solution you arrived at using these concepts and topics.

That way a developer could see them in action.
As mentioned above - we believe this topic is widely covered on other blog sites.
The best way for students to build a great portfolio is by building what does not exist and what can provide the most value.


How to define compensation in redux-saga?

Saga pattern defines that each transaction has a corresponding compensation. However, I cannot find any information about compensation in the official documents.
So, how to define compensation in redux-saga?
Does Compensation means that redux-saga can use try-catch to compensate an action or use cancellation to compensate an action ?

Same question

Redux-saga is loosely based on the Saga pattern. In most frontend applications we don't deal as much with transactions as on the backend that's why there is no focus on this in the docs.
I believe that this should be implemented using event-based techniques and you should inform the previous step in the saga with a rejection event which it should handle according to its rules (compensate over a rejected part of a transaction that it is responsible for).

Personally I'd vote such a feature.
I've found the workaround. According to the fact that compensation is also a "saga" that ensures semantic correctness, you might throw from main saga and compensate it in a following way:
type SagaWithCompensation = (
  handler: any,
  saga: any,
  ...args: any
) => (action: any) => Generator<CallEffect<unknown>, void>

export const withCompensation: SagaWithCompensation = (saga, compensationSaga, ...args: any) =>
  function* compensationGenerator(action: any) {
    try {
      yield call(saga, ...args, action)
    } catch (err) {
      yield call(compensationSaga, ...args, action, err)
    }
  }

Closing as it looks like there was a resolution.  Thanks!


Replacing/Improving LockFreeArray

I am documenting this issue so that there is a record of it:
Currently we maintain a lock free array for the following :

LockFreeArray<std::shared_ptrindex::Index>;
LockFreeArray<std::shared_ptrstorage::TileGroup>;
LockFreeArray<std::shared_ptrstorage::Database>;
LockFreeArray<std::shared_ptrstorage::IndirectionArray>;

All uses initialize from container/lock_free_array.h which initializes the lock free array of size 1 million. This results in a massive heap usage. We need to either replace this with some other concurrent structure or work on this implementation.

I and Vamshi discussed this issue. We don't think that libcds has a lock-free ARRAY data structure. We can use a KV map in libcds to replace it, but this will add a lot of lookup overhead.
If we'd like to reduce the memory usage asap, we could just lower the default array size. Currently, it is a fixed size array. It will crash after adding 1048576 values anyway. And only two files are using it. If memory is a bigger issue, a smaller number could be a quick fix. (1024 is enough for passing all the test case).
Replacing it without changing the current use cases is not very intuitive. In fact, the user of LockFreeArray uses it in different manners. In DataTable, people append value first and do a full array lookup.  In Manager, people update a value before adding the value first(looks like a javascript array). If we change it to a map-like data structure, the current use cases becomes:

DataTable do a lookup among all entries in the map. (Current version: DataTable do a look up in the first few continuous memory address.)
Manager update the element given the index as a key, search it in the map. (Current version: Manager update the element given an array index).

Seems that a map could be slower.
What we need is a lock-free dynamically resizable arrays like this one. But we didn't find any existing implementation. Intel's tbb has a concurrent_vector implementation, but I'm not sure whether it's lock-free or not.
We could try libcds first and see how it performs, meanwhile any ideas/help are welcomed!


Make widgets removable in maintenance mode

MUMMNG-3581: "Let user rm widgets in maintenance lifecycle state"
In this PR:

Stop hiding the remove widget button in maintenance mode

Contributor License Agreement adherence:

[x] This Contribution is under the terms of Individual Contributor License Agreements (and also Corporate Contributor License Agreements to the extent applicable) appearing in the Apereo CLA roster.

👍


Hide PasswordLastUsed from CreateUser response

CreateUser returns a User shape, which contains PasswordLastUsed. This attribute will never show up in a CreateUser response, however, so we hide it in the documentation.
Fixes boto/boto3#487
cc @kyleknap @jamesls

Tests?


using with NotPrint = true

I'm trying to use pb in a project where I don't want it to print to stdout, instead I want to save pb output in a variable and write it somewhere else, of course this variable will be updated each time pb refreshes, so my refresh rate will be way less than the default which is 200ms.
I can't seem to find a method that would return the current state of the progress bar

Ok I see it now, I should use the Callback type, which is a function that will get the output as string, I don't even need to set NotPrint to true as the switch statements checks if Callback is defined before everything else.
var theBar string
bar.Callback = func(s string) {
    theBar = s
}

Thanks for your work on pb


Question (Vite Remix example) Purpose of serving build/client directory?

The example of Vite Remix set up @fastify/static to serve the entire build/client directory in addition to build/client/assets regardless of process.env.NODE_ENV.
https://github.com/mcansh/remix-fastify/blob/69cd771a5565037dd31031070eae487af4426451/examples/vite/server.js#L43-L53
As far as I can tell, at least with Vite Remix setup, build command does not create additional files in build/client other than what's inside build/client/assets and it seems to be pointless. What is the purpose of this static serve setup?

the build/client serving serves the files with a more lax caching setup of 1 hour and not setting the contents to be immutable whereas build/client/assets caches everything for a year and makes it immutable


Strip nops from end of functions (MIPS)

For asm-built objects, we have to guess where the function ends. Make this calculation also ignore nops.

(but don't strip delay slot nops!)


Design Java object API for pass-core

CRUD
Should be able to iterate over large numbers of objects
Should be able to select objects by type and attribute value
Support functionality of current client

Created pull request with the design.


vala: default to vala_0_56

Description of changes
GNOME 42 targets 0.56. I haven't had the time to run rebuilds yet to see if anything should be pinned back to 0.54 for now.
cc @jtojnar would be good to get this into 22.05 but I think this might not fit into the release schedule as is?
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I do not think it is realistic to have this backported, we are in backport phase of ZHF now.

staging should be clear now and anything in it will miss 22.05 IIRC.


Update aws-core, http-client-spi, ... to 2.15.78

Updates

software.amazon.awssdk:aws-core
software.amazon.awssdk:http-client-spi
software.amazon.awssdk:netty-nio-client

from 2.15.77 to 2.15.78.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, semver-patch

Superseded by #234.


How to remove setMarkerOfStaticPoint /setStaticPosition

In my code I can add icons to the map via this code
void updateAvailableDriversOnMap() async {
    for (NearByAvailableDrivers driver
        in GeoFireAssistant.nearByAvailableDriversList) {
      //if (rideReqAcceptDriver != null) {
      driverKey = driver.key;

      driverLat = driver.latitude;
      driverLon = driver.longitude;

      //bearing takes the first lat & long received from the server and then compares it with the second set of data
      // then calculates a heading between them, this is then stored as 'x'  (heading)
      double x = bearing(
        GeoPoint(latitude: bearingLat!, longitude: bearingLon!),
        GeoPoint(latitude: driverLat!, longitude: driverLon!),
      );

      bearingLat = driverLat;
      bearingLon = driverLon;

      print("heading  $x");
      if (x.isNegative) {
        x = (twoPi + x);
        print("heading neg $x");
      }

      await osmController!.setMarkerOfStaticPoint(
          id: driverKey!,
          markerIcon: MarkerIcon(

            assetMarker:
                AssetMarker(image: AssetImage("images/images/car-ios.png")),

          ));
      await osmController!.setStaticPosition([
        GeoPointWithOrientation(
            latitude: driver.latitude!, longitude: driver.longitude!, angle: x)
      ], driver.key!);

      print("yyy $driverKey+ $rideReqAcceptDriver");

    }
  }

but when a user exits  I need to remove MarkerIcon . How do I do it ?  I need to remove that particular markerIcon with that particular Id. all I can find is await osmController!.removeMarker(p); which wont work

did you try this :
await controller.setStaticPosition([],key)

did you try this :
await controller.setStaticPosition([],key)

Does this remove the marker ?

try it and if doesn't work
i will add new api to clear static marker

Yes, it works . thanx


Update Sample Retrieval notebook to use Pycytominer SingleCells

Pycytominer contains a function for loading single cell data from a database ; you essentially always want to use this rather than loading the data as you did in this notebook a) because it's easier (you just call the string below, and then subset the data how you like) and b) merging based on ObjectNumber is not actually reliable - CellProfiler numbers the objects based purely on which one is higher in the image (and then left-to-right), so you can get ObjectNumber mismatches ala the picture below.
We've run tests in the past and this isn't INCREDIBLY frequent, but it does happen a measurable fraction of the time. As such, I don't think it will LIKELY affect the figures in Basic Protocol 2, but especially if we want this to be an example of how people should handle their own data, we should model doing it the best way.
from pycytominer.cyto_utils.cells import SingleCells
df = SingleCells(f"sqlite:///{backend_file}")

from pycytominer.cyto_utils.cells import SingleCells
database = SingleCells(f"sqlite:///{backend_file}")
df = database.merge_single_cells()

I've been trying to run with SingleCells on my PC (16 GB RAM) and it doesn't finish (after 30 min gives an error about not having enough memory to allocate to). I've also tried running it in a Google Colab notebook and also gives an error about the memory (says I should buy Colab Pro).
@mccruz07 ran in his mac m1 and it took about 10 minutes to run, it can generate the dataframe fine so the code works, but it uses about 40 GB of memory to do it.
I've updated the notebook  with two options:
(1) to use SingleCells (with a note on how much memory it would need to run)
(2) the code we were using before to subsample from the database (to be able to run and replicate for the paper).
Do you think that would be ok @bethac07?

Makes perfect sense to me!
On Tue, Feb 7, 2023 at 4:34 PM Fernanda Fossa @.***>
wrote:

I've been trying to run with SingleCells on my PC (16 GB RAM) and it
doesn't finish (after 30 min gives an error about not having enough memory
to allocate to). I've also tried running it in a Google Colab notebook and
also gives an error about the memory (says I should buy Colab Pro).
@mccruz07 https://github.com/mccruz07 ran in his mac m1 and it took
about 10 minutes to run, it can generate the dataframe fine so the code
works, but it uses about 40 GB of memory to do it.
I've updated the notebook
https://github.com/ciminilab/2022_Garcia-Fossa_submitted/blob/main/basic_protocol_2/notebook/support notebooks/1_Samples_retrieval.ipynb
with two options:
(1) to use SingleCells (with a note on how much memory it would need to
run)
(2) the code we were using before to subsample from the database (to be
able to run and replicate for the paper).
Do you think that would be ok @bethac07 https://github.com/bethac07?
—
Reply to this email directly, view it on GitHub
https://github.com/ciminilab/2022_Garcia-Fossa_submitted/issues/3#issuecomment-1421483930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTI723QBAZTK3OSI3W4VV3WWK5WNANCNFSM6AAAAAASCWRZXA
.
You are receiving this because you were mentioned.Message ID:
@.***>


#233 - Add profile 259 support

This resolves issue #233 by changing profile 7 for profile 259

Hi @sblackler, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@sblackler, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

@sblackler, could you rebase on top of dev? I'd like to verify this thing builds on Mono prior to merging it in.

Closing this out @sblackler. We'll revisit this later.


Update logging message to INFO only as it is not an error scenario

Is it possible, that this issue still is printed as a warning?
The Description changed from WARNING to INFORMATION, when the log writes it. However, it still appears in the error/ warning console, but not in the standard console.
For me, this occurs while running the application from the command line with having the stdout set to 2 different files through c:\command.cmd 1> stdlog.txt 2> errlog.txt : The message still appears in the errlog.txt

Is it possible, that this issue still is printed as a warning?
The Description changed from WARNING to INFORMATION, when the log writes it. However, it still appears in the error/ warning console, but not in the standard console.
For me, this occurs while running the application from the command line with having the stdout set to 2 different files through c:\command.cmd 1> stdlog.txt 2> errlog.txt : The message still appears in the errlog.txt

This will depend on how you have your logging handler(s) configured.

This will depend on how you have your logging handler(s) configured.
Yeah, good point. Since I am just running a tp application (apache hop), I probably have to check there, how it is done there.


Violating the set invariant with HashSet::get_or_insert_with

The implementation of HashSet::get_or_insert_with is not good. This method make it quite easy to break the invariant of set that all elements are repeated in set only once. Let's say this test passes:
#[test]
fn some_invalid_insert() {
    let mut set = HashSet::new();
    set.insert(1);
    set.get_or_insert_with(&2, |_| 1);
    set.get_or_insert_with(&3, |_| 1);
    assert_eq!(vec![&1, &1, &1], set.iter().collect::<Vec<_>>());
}

May be we need document it?

There is a much longer discussion about this in https://github.com/rust-lang/rust/issues/60896, which is about the equivalent (unstable) method in the standard library. I would prefer to keep the API as it is for now until a decision is made on that issue. One proposed alternative is to drop this function and instead only provide get_or_insert_owned.

There is a much longer discussion about this in rust-lang/rust#60896, which is about the equivalent (unstable) method in the standard library. I would prefer to keep the API as it is for now until a decision is made on that issue. One proposed alternative is to drop this function and instead only provide get_or_insert_owned.

Didn't know about the discussion. In any case, I'll leave #400 open for now, pending a final decision.


Prevent consequence filter control from wrapping at any window width

Currently, certain window widths cause the consequence filter control to wrap to multiple lines.

This change has the settings section switch from row to column layout at 1300px instead of 900px and adds a more phone-friendly layout for the consequence filter control for windows less than 700px wide.

Resolves #282

Google Analytics says ~9% of users have a screen resolution 1280px wide, so they would see the column layout with a full screen window.

Another option is to, as window width decreases, first move "Include filtered variants" underneath the consequence categories and keep the search field right aligned, then switch to the vertical layout when consequence categories and the search field can't fit.

This looks good to me.


bug: improve error message when processing data and schema not found

if there is no schema found the error message is cryptic:
 INFO  Validating ...
 SUCCESS  Validations complete
Error: cue: marshal error: value "output" not found

Closed by #38


Creating objects via the solver.objects.display class is failing

To reproduce:

Start PyFluent and run the attached script.
Please use the geometry from this location
exhaust_manifold_s2_bug.py.txt
Make sure to turn on the Fluent window view.
Check the created display object. An error as shown below is observed:

Try displaying the contour object. A crash is observed on Fluent
This can be seen with the latest Fluent and pyFluent.

fixed in 231


"Quick Introduction" example wrong

In doc/md/getting-started.md under section Create Your Second Edge, it has example code for the Group type, but incorrectly shows the same code as User.
This;
<project>/ent/schema/group.go:

  import (
 	"log"

 	"github.com/facebookincubator/ent"
 	"github.com/facebookincubator/ent/schema/edge"
  )

  // Edges of the User.
  func (User) Edges() []ent.Edge {
 	return []ent.Edge{
 		edge.To("cars", Car.Type),
 		// create an inverse-edge called "groups" of type `Group`
 		// and reference it to the "users" edge (in Group schema)
 		// explicitly using the `Ref` method.
 		edge.From("groups", Group.Type).
 			Ref("users"),
 	}
  }

Should be something like;
<project>/ent/schema/group.go:

  import (
 	"log"

 	"github.com/facebookincubator/ent"
 	"github.com/facebookincubator/ent/schema/edge"
  )

  // Edges of the Group.
  func (Group) Edges() []ent.Edge {
 	return []ent.Edge{
 		edge.To("users", User.Type),
 	}
  }

Thanks for opening this issue @sw-clough.
Fixed!


finish task-82

Ⅰ. Describe what this PR does
This pr is to add copyright in pkg/ddc/base/runtime.go
Ⅱ. Does this pull request fix one issue?

Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Hi @ALittleStarer , Please fix the DCO check.

Replaced by #1679


support jdk/jre 11 + openj9

To reduce memory usage.
#9

Sorry didn't have time to do merge it this weekend, I'll try during this week


Only billable projects/clients should be displayed on the list.

Notion Card

Only billable projects/clients should be displayed on the list. Previously we used to show the clients whose projects are not billable and overdue as well.

https://user-images.githubusercontent.com/57438322/219658528-faf6874d-eaeb-4577-bc23-7fc14419663e.mp4

@shalapatil I've added the specs as requested. Please review.

@shalapatil I've made the requested changes. Please review.

@shalapatil I've made the requested changes. Please review.


Add Harvard records to the index

We requested that HRC generate a new full record dump on 8/13 a little after noon eastern. the files should be ready within 4-5 hours.
The code has been updated to pull harvard records and is running on bibdata-staging. Once it's done there should be records from all 3 schools from an earlier dump, I think from July. If everything looks good on staging, run the rake task on prod to get the new records and start indexing them on staging.
Once we have the records on prod and are satisfied with index performance on staging, index the new full records on prod.
Finally, turn the incremental scsb cron jobs back on.
relevant documentation: https://github.com/pulibrary/bibdata/blob/main/docs/indexing.md#index-partner-scsb-records
Our commitment is to have these records in the catalog by August 30th.

Status: The SCSB jobs are turned back on and there's incrementals that are caught up from the time of the full dump to now. Close this when #1625 is closed.


fix(deps): update terraform ibm to latest for deployable architectures

This PR contains the following updates:

Package
Type
Update
Change

ibm (source)
required_provider
patch
1.71.1 -> 1.71.2

Release Notes

IBM-Cloud/terraform-provider-ibm (ibm)
v1.71.2
Compare Source
Bugfixes

Tags support config aggregator & Bug fix for settings api (5783)
fix(partner center sell): fix patch nested fields (5785)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

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

GitHub release
v2.5.24

Your semantic-release bot :package::rocket:


Camel - Help & preferences

Help

Preferences

Can I pick this one up as future after finishing my current 2 tasks?

Thanks, you can work on this next.

For the preferences page, old version didn't have a Reset button. Do we want one for this one too? I can see that in Connect Preferences (previously Jolokla preferences) there wasn't a reset button either and we implemented it for this version

both PRs are merged. Can this issue be closed?

The only thing left to do is the consumers side, whose components might have not yet be implemented. Ill check tomorrow and see which open issues for the camel plugin are related to the preferences and link them

@joshiraez Can you file a new issue to track the task?  Since this one is already closed and a bit inconvenient to track todos with it.

Sure
El mié., 29 mar. 2023 7:23, Tadayoshi Sato @.***>
escribió:

@joshiraez https://github.com/joshiraez Can you file a new issue to
track the task? Since this one is already closed and a bit inconvenient to
track todos with it.
—
Reply to this email directly, view it on GitHub
https://github.com/hawtio/hawtio-next/issues/41#issuecomment-1487964764,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEEIPLCN4APLUJYCKUZXXCDW6PBNNANCNFSM6AAAAAAUKYT65I
.
You are receiving this because you were mentioned.Message ID:
@.***>


fix(#109): grafana Dashboard prometheus datasource name

Signed-off-by: Toni Tauro<EMAIL_ADDRESS>
What type of PR is this?
/kind bug
/kind chart-release

Any specific area of the project related to this PR?
/area falco-exporter-chart

What this PR does / why we need it:
Adds an additional Value for defining the PrometheusDatasource name to be used in the grafana Dashboard. This makes sure that Grafana can import the dashboard and references the Datasource correctly.

Removes the unneeded input object
adds the needed templating object as suggested by @jemag comment

Which issue(s) this PR fixes:
#109

Fixes #109
Special notes for your reviewer:
First PR @falcosecurity
Checklist

[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] CHANGELOG.md updated

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign issif after the PR has been reviewed.
You can assign the PR to them by writing /assign @issif in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign issif after the PR has been reviewed.
You can assign the PR to them by writing /assign @issif in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @eyenx! It looks like this is your first PR to falcosecurity/charts 🎉

Welcome @eyenx! It looks like this is your first PR to falcosecurity/charts 🎉

/assign @issif

/assign @issif

LGTM label has been added.  Git tree hash: ba5f47b3656f1d277089944aafb27a5904513620

LGTM label has been added.  Git tree hash: ba5f47b3656f1d277089944aafb27a5904513620

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks for you PR, hope it will help people.

Thanks for you PR, hope it will help people.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/close

/close

@leogr: Closed this PR.

In response to this:

/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@leogr: Closed this PR.

In response to this:

/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/open

/open

New changes are detected. LGTM label has been removed.

New changes are detected. LGTM label has been removed.

New changes are detected. LGTM label has been removed.

New changes are detected. LGTM label has been removed.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment