pthread_key_create() and unloading via dlclose() probably mutually incompatible

Viktor prods me to comment on this in relation to rt 3824 https://rt.openssl.org/Ticket/Display.html?id=3824.
There's no guarantee that a thread-specific's value destructor will be called for all keys before a shared object providing that destructor gets unloaded via last dlcose() call.  There seems to be no standard or otherwise portable, or even non-portable way to do this.
One can imagine wrapping all thread-specific values with a wrapper that is put on a global list so that a .fini section can clean them up.  But this doesn't work: the destructor function pointer will still be associated with the thread-specific key and as soon as a thread exits the process will blow up as the destructor pointer will be invalid (or worse: perhaps some other object got loaded, or mmap() occurred, such that said pointer now lies in valid address space, but it will still be invalid).
The thing to do in [self-]initialization is to call dladdr() -if available- then dlopen() the resulting dli_fname, then leak the resulting dl handle, thereby making sure that the library is never unloaded.

I'd be interested to see a patch to do this.

I'll write one on Friday.

Also, where there is no dladdr() the library could dlopen() itself by its SONAME.  RTLDs generally have to deduplicate on SONAME, so that dlopen(MY_SONAME) should work, but there is a very small price to pay: users won't be able to trivially elfedit/patchelf such an object to change its SONAME.

@nicowilliams great! I'm looking forward to seeing that.

The thought occurs that valgrind ought to have an option to ignore leaks where pthread_once() appears in the allocation stack.

I can't believe I forgot, but there's the link-editor -z nodelete option, which does this in a much simpler way.
What I don't quite know is how to hack on the OpenSSL build configuration system to use this, much less use it where it's actually supported by ld(1).

Is there a good resource for how to hack on the OpenSSL build configuration system?  IIUC Richard Levitte is revamping it.

There's at least a start in Configurations/...  README and README.design.  I'm not claiming perfection, but I hope it can get you somewhere.
Otherwise, I think that @dot-asm had something along these lines started, but I haven't seen much news on that lately (and yeah, @dot-asm, this was a very purposeful nudge ;-))

If we go with -z nodelete are we going to restrict ourselves to a much smaller set of platforms that can support this? I mean dlopen() is POSIX right, so isn't that going to be the more portable approach?

Ping @nicowilliams. So what to do about this one? I did some testing and discovered/verified a couple of things:

Using OpenSSL via dlopen in a mutli-threaded app does leak memory if threads are destroyed after dlcose() is called.
In a single threaded environment, or if threads are destroyed prior to dlclose() being called, then no memory is leaked
Using the RTLD_NODELETE flag to dlopen solves the above problem
Interestingly the OpenSSL atexit() handler gets called when dlclose() is called rather than at application exit (I was worred that it might crash if there was an atexit() handler for a function that has been unloaded)
RTLD_NODELETE is a non-standard flag - but it does seem to be fairly widely supported. As far as I could determine (via google), at least Linux, Solaris, OpenBSD, FreeBSD, HP-UX all seem to support it.

Probably, where we can, we should build with -z nodelete so that we get that behaviour by default, and should also document somewhere that RTLD_NODELETE should be used (or dlcose() called after threads are closed). @nicowilliams, are you planning on progressing this?

Ping @nicowilliams ...any further thoughts on this?

I am now thinking that, given my above results, perhaps a documentation fix is sufficient. Perhaps there are times where using -z nodelete is undesirable. It's only really a problem when using dlopen() and on most platforms you can just use RTLD_NODELETE (which are probably the same ones where you have a -z nodelete option anyway).

I also tested this on Windows using LoadLibrary and FreeLibrary (instead of dlopen and dlclose). The behaviour is much the same on Windows as it is on Unix (except there is no RTLD_NODELETE AFAIK).

Documentation updated in c796e021. Closing.


Spark Python 3.7 Oracle

Create Spark Python 3.7 with Cx_Oracle installed

Technology name  :Spark for AWS (Hadoop 3.2)
Version : v1

I want to implement the Sprk apython Oracle technology because it's not possible to install the cx_Oracle package in the Saagie command line (require sudo)
If the feature request is approved, would you be willing to submit a PR?
Yes

I think we can delete this issue, there is other ways to deal with that


Unexpected error fetching tesla_custom data:<PHONE_NUMBER>135598

Version of the custom_component
v3.18.0
Configuration
no YAML
Describe the bug
Tesla solar system only, was working fine until a week or so ago, solar_power sensor "unavailable".
no change in results after reloading the integration, restarting HA, removing and reinstalling integration.  sensor shows up correctly with no data.  my system is generating as normal, confirmed by Tesla App.
Debug log
Unexpected error fetching tesla_custom data:<PHONE_NUMBER>135598
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/tesla_custom/init.py", line 440, in _async_update_data
return await self.controller.update(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 825, in update
return any(await asyncio.gather(*tasks))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/teslajsonpy/controller.py", line 716, in _get_and_process_site_summary
self._site_summary[energysite_id].update(response)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
KeyError:<PHONE_NUMBER>135598

I am facing the same issue. I am just starting up so I do not have any previous references.
But from what I have observed, 2 of my vehicles load perfectly fine. I have a Powerwall that is a separate site which loads fine as well. Only issue is with my 2 solar systems.

Dupe #738


Housekeeping: Changelog missing a few releases

per https://rubygems.org/gems/mimemagic/versions

vs. https://github.com/mimemagicrb/mimemagic/blob/af5a9b1c5b774e65fd84bd7ca4239a9f3eba2039/CHANGELOG.md
I'd propose it myself in a PR to be a good citizen but I'm not sure what the actual changes are and I know there's been some churn (thanks for handling this!)
Context: we apparently bundle updated to v0.3.10 but I didn't see what the changes were

n/m it's there, just not in the order I expected 🤦


AcceptHeaderLocaleResolver no longer called

Since the upgrade from spring-boot 1.5.1 to spring-boot 2.0.1 and with it the update to graphql-spring-boot 5.0.2 i am unable to get my i18n system to work.
Before the update i was able to get the correct locale by injecting java.utils.Locale into my MessageSource and then go from there. I noticed that this Locale now always contains the default locale, although i can see that the request inside the graphql-servlet contains the correct Accept-Language header.
The reason for that is that the locale resolver is not being called when a request is handled by the graphql-servlet.
Here are two parts of Stack-traces.
This is a normal REST Request (GET):

resolveLocale:96, AcceptHeaderLocaleResolver (org.springframework.web.servlet.i18n)
getLocale:151, RequestContextUtils (org.springframework.web.servlet.support)
resolveArgument:173, ServletRequestMethodArgumentResolver(org.springframework.web.servlet.mvc.method.annotation)
resolveArgument:120, ServletRequestMethodArgumentResolver (org.springframework.web.servlet.mvc.method.annotation)
resolveArgument:124, HandlerMethodArgumentResolverComposite (org.springframework.web.method.support)
getMethodArgumentValues:161, InvocableHandlerMethod (org.springframework.web.method.support)
invokeForRequest:131, InvocableHandlerMethod (org.springframework.web.method.support)
invokeAndHandle:102, ServletInvocableHandlerMethod (org.springframework.web.servlet.mvc.method.annotation)
invokeHandlerMethod:877, RequestMappingHandlerAdapter (org.springframework.web.servlet.mvc.method.annotation)
handleInternal:783, RequestMappingHandlerAdapter (org.springframework.web.servlet.mvc.method.annotation)
handle:87, AbstractHandlerMethodAdapter (org.springframework.web.servlet.mvc.method)
doDispatch:991, DispatcherServlet (org.springframework.web.servlet)
doService:925, DispatcherServlet (org.springframework.web.servlet)
processRequest:974, FrameworkServlet (org.springframework.web.servlet)
doGet:866, FrameworkServlet (org.springframework.web.servlet)
service:635, HttpServlet (javax.servlet.http)
service:851, FrameworkServlet (org.springframework.web.servlet)
service:742, HttpServlet (javax.servlet.http)

This is a request to the graphql endpoint:

lambda$new$2:97, AbstractGraphQLHttpServlet (graphql.servlet)
handle:-1,<PHONE_NUMBER> (graphql.servlet.AbstractGraphQLHttpServlet$$Lambda$691)
doRequest:236, AbstractGraphQLHttpServlet (graphql.servlet)
doRequestAsync:227, AbstractGraphQLHttpServlet (graphql.servlet)
doPost:257, AbstractGraphQLHttpServlet (graphql.servlet)
service:661, HttpServlet (javax.servlet.http)
service:742, HttpServlet (javax.servlet.http)

This also happens with version 4.0.0 of graphql-spring-boot, so i assume that some changes to spring-boot are causing this.

The problem was not related to graphql-spring-boot, but to how our application configured SpringMvc.
It seems like that something changed there and our config was messing up the auto-configure process of spring-boot. After removing our own config it worked again.


Say explicitly that N95 valves should be covered

A user wrote in pointing this out, and I thought we had a disclaimer on the site but I can't find one. Interacting with someone else who's wearing a "well-fitting, well-sealed N95 respirator" isn't actually 10x safer if theirs has a valve.

It would be great if we could provide a link to an article or an image of what the valves can look like, so people know what they are looking for. (I don't even know exactly what kind of valves I would be looking for vs ones that are filtering.)

When I wear a KN95 mask without valve or with closed valve, the pressure of the air I’m breathing out invariably pushes the mask a bit away from my face so that a lot of the air escapes from around the mask. Some of it goes upward, which seems worse than the downward direction that you get with a valve.
This is a bit first-principle-y, actual studies on this would be better, but for better or worse, the valve question doesn’t seem so decisive to me. I’m highly unsure about this of course!

When I wear a KN95 mask without valve or with closed valve, the pressure of the air I’m breathing out invariably pushes the mask a bit away from my face so that a lot of the air escapes from around the mask. Some of it goes upward, which seems worse than the downward direction that you get with a valve.
This is a bit first-principle-y, actual studies on this would be better, but for better or worse, the valve question doesn’t seem so decisive to me. I’m highly unsure about this of course!

"No mask no valve no beard" in the calculator. Valves and how to cover them are covered here https://www.microcovid.org/blog/masks#well-fitting-n95-masks-with-head-straps


Remove cursor when there are multiple cursors if Cmd-Clicking on it

From a discussion in Slack – it would be really nice if Cmd / Ctrl-Clicking on a cursor when you have multiple cursors removed that cursor. This would make it a lot easier to fine tune your set of multiple cursors after the fact.

:+1:


Backport openssl 3.1

imodel-native-internal: https://github.com/iTwin/imodel-native-internal/tree/openssl-3.1-backport
Backport of https://github.com/iTwin/imodel-native/pull/171 and #276

/azp run imodel-native

/azp run imodel-native


chore(package): update kronos-endpoint to version 2.14.14

Coverage remained the same at 75.0% when pulling 64212fd3e31b19673a37527d8ba3e08acf0fbee6 on greenkeeper/kronos-endpoint-2.14.14 into 22f1bb7d0e0ca66d40bddb567e06602f39a8e5be on master.


--follow on the alias fails with "Error! Unexpected error. Please try again later. (undefined)"

'''
mikes-air:Todos mike$ now logs -d -f reminders.now.sh

[debug] Socket connected
[debug] Socket disconnect
Error! Unexpected error. Please try again later. (undefined)
'''

Works on the instance URL. Thanks, -Mike

cc @matheuss


csslint is not executable

I am noticing that I am not seeing my css files being linted. This may have to do with not having something installed but thought I would start here.
Expected behavior

My css file to be linted during save
Steps to reproduce

Output from (verbose) NeomakeInfo

Neomake debug information
Async support: 1
Current filetype: css
Enabled makers
For the current filetype (with :Neomake):

csslint

args: ['--format=compact']
auto_enabled: 1
errorformat: '%-G,%-G%f: lint free!,%f: line %l, col %c, %trror - %m,%f: line %l, col %c, %tarning - %m,%f: line %l, col %c, %m,%f: %tarning - %m'
exe: 'csslint'
ERRORS:
maker's exe (csslint) is not executable.

stylelint

args: []
auto_enabled: 1
errorformat: '%+P%f,%*\s%l:%c  %t  %m,%-Q'
exe: 'stylelint'
ERRORS:
maker's exe (stylelint) is not executable.
NOTE: you can define g:neomake_css_enabled_makers to configure it (or b:neomake_css_enabled_makers).

For the project (with :Neomake!): None.
NOTE: you can define g:neomake_enabled_makers to configure it.
Default maker settings:

remove_invalid_entries: 0
buffer_output: 1

Settings
g:neomake_place_signs = 1
g:neomake_scss_csslint_maker = {'errorformat': '%A%f: line %l\, col %v\, %m \(%t%*\d\)', 'args': ['--verbose']}
g:neomake_scss_enabled_markers = ['csslint']

Windows: 0
[shell, shellcmdflag, shellslash]: ['/usr/bin/zsh', '-c', 0]

:version

NVIM 0.1.7
Build type: Release
Compilation: /usr/bin/cc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wconversion -O2 -DNDEBUG -DDISABLE_LOG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wvla -fstack-protector-strong -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -D_GNU_SOURCE -I/build/neovim/src/build/config -I/build/neovim/src/neovim-0.1.7/src -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/build/neovim/src/build/src/nvim/auto -I/build/neovim/src/build/include
Compiled by builduser

Optional features included (+) or not (-): +acl   +iconv    +jemalloc +tui
For differences from Vim, see :help vim-differences

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

:messages
"src/css/app.css" 22L, 442C

Yes, you need to install the linter programs, i.e. csslint in this case.
What do you think could be improved to make this more clear?

@blueyed forgot to mention that I installed that via 'npm install -g css-lint'. Outside of vim I can execute that app. 'csslint'.

Then it might be a $PATH problem.
Look at which csslint from outside of Neovim, and then :echo $PATH inside of Neovim.

@blueyed interesting. The path is different. In my terminal I have /home/jcostanzo/.nvm/versions/node/v7.8.0/bin but in neovim, when I echo $PATH it is not listed. Well Now I need to figure out why this is happening. Thanks

Likely you define it in .zshrc, which is not used by Neovim then.

Ok, I figured out how to get the error, but now neomake is not reporting any errors to me. Thoughts?

I figured out how to get the error

What do you mean?
Please try let g:neomake_logfile = '/tmp/neomake.log' and look at the output and/or post it here.

Here you go
22:33:29 [D      ] Not processing output for mode t
22:33:31 [D +2.35] [1.-:1] Running makers: csslint (auto), stylelint (auto)
22:33:31 [V      ] [1.-:1] Starting async job: ['csslint', '--verbose', '/home/jcostanzo/Development/anime-realm/src/css/app.css']
22:33:31 [V      ] [1.-:1] Starting async job: ['stylelint', '/home/jcostanzo/Development/anime-realm/src/css/app.css']
22:33:32 [D +0.07] [1.6:1] stdout: csslint: ['verbose is not a valid option. Exiting...', '']
22:33:32 [D      ] [1.6:1] stdout: csslint: ['', 'Usage: csslint-rhino.js [options]* [file|dir]*', ' ', 'Global Options', '  --help                                   Displays this information.', '  --format=<format>                        Indicate which format to use for output.', '  --list-rules                             Outputs all of the rules available.', '  --quiet                                  Only output when errors are present.', '  --errors=<rule[,rule]+>                  Indicate which rules to include as errors.', '  --warnings=<rule[,rule]+>                Indicate which rules to include as warnings.', '  --ignore=<rule[,rule]+>                  Indicate which rules to ignore completely.', '  --exclude-list=<file|dir[,file|dir]+>    Indicate which files/directories to exclude from being linted.', '  --config=<file>                          Reads csslint options from specified file.', '  --version                                Outputs the current version number.', '', '']
22:33:32 [D      ] [1.6:1] exit: csslint: 0
22:33:32 [D      ] [1.6:1] csslint: processing 16 lines of output.
22:33:32 [D      ] Skipping User autocmd NeomakeCountsChanged: no hooks.
22:33:32 [D      ] [1.6:1] csslint: completed with exit code 0.
22:33:32 [D      ] [1.6:1] Cleaning jobinfo
22:33:32 [D      ] Skipping User autocmd NeomakeJobFinished: no hooks.
22:33:32 [D +0.40] [1.7:1] stdout: stylelint: ['Error: No configuration provided for /home/jcostanzo/Development/anime-realm/src/css/app.css', '    at module.exports (/home/jcostanzo/.nvm/versions/node/v7.8.0/lib/node_modules/stylelint/lib/utils/configurationError.js:8:27)', '    at stylelint._fullExplorer.load.then.then.config (/home/jcostanzo/.nvm/versions/node/v7.8.0/lib/node_modules/stylelint/lib/getConfigForFile.js:39:13)', '']
22:33:32 [D      ] [1.7:1] exit: stylelint: 78
22:33:32 [D      ] [1.7:1] stylelint: processing 3 lines of output.
22:33:32 [D      ] Skipping User autocmd NeomakeCountsChanged: no hooks.
22:33:32 [D      ] [1.7:1] stylelint: completed with exit code 78.
22:33:32 [D      ] [1.7:1] Cleaning jobinfo
22:33:32 [D      ] Skipping User autocmd NeomakeJobFinished: no hooks.
22:33:32 [D      ] File-level errors cleaned in buffer 1
22:33:32 [D      ] Skipping User autocmd NeomakeFinished: no hooks.

So maybe I need to comment out the first let?

Yes, normally you should not have to configure makers (and especially not redefine them completely).  It is defined in https://github.com/neomake/neomake/blob/d7b808bed3ae312def0e7044a77ac0692d83024d/autoload/neomake/makers/ft/css.vim#L5-L16 (in a different way).
What made you think so?

I just copied the one I had for scss linting. So all is good now. Thanks


Upgrade jenkins to 2.346.3

Description
Upgrade jenkins to 2.346.3 from 2.332.3. Also changes the way plugins are installed.
Tested this using existing set up and it is not a breaking change.
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

LGTM!, just a thought we should add a point in README, that before upgrade to back up the data store (volume on top which jenkins is running), when jenkins started to upgrade it also targets the /plugins folder, if upgrade failed in between the /plugins folder is already upgraded and cannot revert back.
Thank you

@gaiksaya just looking at the LTS shows as 2.387.1. I'm fine to go with  2.346.3 as well

Postponing this as this version in introducing a 9.8 score CVE. Planning to upgrade to latest version now which is 2.387.1


"play_data = list(play_data)[:]" vs "play_data = list(play_data)"

play_data = list(play_data)[:] vs play_data = list(play_data)
python2.7: list(play_data)[:] is fine
python3.6: list(play_data)[:] is []

用这个[]赋值有点深拷贝的意思

play_data = list(play_data)[:] vs play_data = list(play_data)
python2.7: list(play_data)[:] is fine
python3.6: list(play_data)[:] is []

It's nothing to do with the [:] operator. play_data is an zip, which returns an iterator in Python 3. You can only iterate over an iterator once. So you get [] if you call list(play_data) the second time.
For example:
aa = zip([1,2,3],[3,4,5])
list(aa)
>>> [(1, 3), (2, 4), (3, 5)]
list(aa)
>>> []


Prevent pre-params generation during DKG

This PR adds a fix for the problem of parameter generating goroutines not being stopped on procedure start.
The problem occurs when the parameter pool is full - the parameter generation goroutine generates one more parameter and it hangs on writing it to the pool. Stopping parameter generation does not stop the goroutine  since it hangs, leaving a memory leak.
Each round of parameter generation (resumption <=> stopping) generate such a hanging goroutine, and they are only stopped by TBTC DKG removing some parameters from the pool.
The simplest solution was to check if the pool is full and if it is so sleep instead of parameter generation.
The solution was tested locally.

Closing in favour of https://github.com/keep-network/keep-core/pull/3363.


add Universal Account functions

Codecov Report

Merging #92 into dev will increase coverage by 0.76%.
The diff coverage is 33.47%.

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

Codecov Report

Merging #92 into dev will increase coverage by 0.62%.
The diff coverage is 32.87%.

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


Implement pipe related operations in the AysncOSSFileSystem

fix: #95

implement pipe_file for the AioOSSFileSystem
make tests for pipe_file passed.

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (8a93c6a) 92.12% compared to head (f33989e) 92.13%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff            @@
##             main     #112    +/-   ##
========================================
  Coverage   92.12%   92.13%
========================================
  Files          13       13
  Lines        1651     1691    +40
  Branches      325      180   -145
========================================
+ Hits         1521     1558    +37
  Misses         87       87
- Partials       43       46     +3

Impacted Files
Coverage Δ

src/ossfs/utils.py
95.52% <ø> (-0.07%)
:arrow_down:

src/ossfs/async_oss.py
80.78% <100.00%> (+0.02%)
:arrow_up:

src/ossfs/base.py
88.11% <100.00%> (+0.61%)
:arrow_up:

src/ossfs/core.py
82.87% <100.00%> (+0.33%)
:arrow_up:

src/ossfs/exceptions.py
62.50% <100.00%> (ø)

tests/test_login.py
100.00% <100.00%> (ø)

tests/test_object.py
99.50% <100.00%> (+<0.01%)
:arrow_up:

tests/test_ossfs.py
100.00% <100.00%> (ø)

... and 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


SQLAlchemy 1.4 is out!

Hello there! Thank you for this very nice library!
I just wanted to bring to your attention that SQLAlchemy 1.4 is out, including support for Async I/O :)

Hey! Thanks for letting me know. Seems like it should bring some interesting new changes.


Config not generating

Config file doesn't seem to be generating and the wiki is no help as what file type the config actually is. Same output on both Server and Client.
using version 1.0.0+mc1.19.3
config file not found or corrupted; failed to read: config will reset to default value
failed to read line "" of config file; line will reset to default value
could not write object "rainbow" of type string to config file under key "mode"!
could not write object ["blue", "white", "pink"] of type string list to config file under key "custom"!
could not write object true of type boolean to config file under key "enable_server_sync"!

could not write object ["blue", "red", "green", "pink", "yellow", "orange", "indigo", "purple", "white", "gray", "black"] of type string list to config file under key "custom"!
could not write object ["blue", "red", "green", "pink", "yellow", "orange", "indigo", "purple", "white", "gray", "black"] of type string list to config file under key "custom"!
could not write object ["blue", "red", "green", "pink", "yellow", "orange", "indigo", "purple", "white", "gray", "black"] of type string list to config file under key "custom"!
could not write object "all_colours" of type string to config file under key "mode"!

thank you for reporting this!
I've fixed it (the error was me being endlessly dumb and quite literally not having code to create a new config file if it didn't exist), and also added a blurb about where to find the file in the wiki

oh also: I have some other things I want to fix, but a 1.0.1 should come out today!

my development environment is having a lovely time exploding tonight, so I'm going to have to delay that update to tomorrow, sorry!

That's fine, creating the file manually is easy enough now I know which type to use. Though sadly have to create a new issue for you.

this and some other issues have been fixed in 1.0.1, out on modrinth!
https://modrinth.com/mod/rainglow/version/1.0.1+mc1.19.3

@A5ho9999 ping :p


Kudu Sync fails with Error: EISDIR: illegal operation on a directory

I have an ASP.NET Core Web Application based on .NET 5 that uses azure/webapps-deploy to deploy to Azure.  After updating the application to .NET 6, the Azure deployment fails.  The app runs fine locally on a Windows workstation.
My GitHub Actions YAML looks like this (with the app name changed):
name: Build Web App

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout Code
      uses: actions/checkout@1e204e9a9253d643386038d443f96446fa156a97 # v2.3.5

    - name: Install .NET Core
      uses: actions/setup-dotnet@5a3fa01c67e60dba8f95e2878436c7151c4b5f01 # v1.8.2
      with:
        dotnet-version: 5.0.402

    - name: Restore
      run: dotnet restore

    - name: Build
      run: dotnet build --no-restore --configuration Release

    - name: Publish
      run: dotnet publish --configuration Release --output './app'

    - name: 'Deploy to Azure'
      if: ${{ github.ref == 'refs/heads/main' }}
      uses: azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e # v2.2.3
      with:
        app-name: myapp
        publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
        package: './app'

The only change to that with the .NET 6 update was the dotnet-version, which changed to 6.0.100.  There were several changes in the application itself, but those all compile and run normally.  During the deployment step, I now get an error:
##[group]Run dotnet publish --configuration Release --output './app'
dotnet publish --configuration Release --output './app'
shell: /usr/bin/bash -e {0}
env:
  DOTNET_ROOT: /home/runner/.dotnet
##[endgroup]
Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
  MyApp.Web -> /home/runner/work/myapp/myapp/src/MyApp.Web/bin/Release/net6.0/MyApp.Web.dll
  MyApp.Web -> /home/runner/work/myapp/myapp/app/
##[group]Run azure/webapps-deploy@0b651ed7546ecfc75024011f76944cb9b381ef1e
with:
  app-name: myapp
  publish-profile: ***
  package: ./app
  slot-name: production
env:
  DOTNET_ROOT: /home/runner/.dotnet
##[endgroup]
Package deployment using ZIP Deploy initiated.
Updating submodules.
Preparing deployment for commit id '5ff86a2458'.
Generating deployment script.
Using cached version of deployment script (command: 'azure -y --no-dot-deployment -r "/tmp/zipdeploy/extracted" -o "/home/site/deployments/tools" --basic --sitePath "/tmp/zipdeploy/extracted"').
Running deployment command...
Command: "/home/site/deployments/tools/deploy.sh"
Handling Basic Web Site deployment.
Kudu sync from: '/tmp/zipdeploy/extracted' to: '/home/site/wwwroot'
Copying file: 'MyApp.Web'
Copying file: 'MyApp.Web.deps.json'
Copying file: 'MyApp.Web.dll'
Copying file: 'MyApp.Web.pdb'
Copying file: 'MyApp.Web.runtimeconfig.json'
Copying file: 'MessagePack.Annotations.dll'
Copying file: 'MessagePack.dll'
Copying file: 'Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.dll'
Copying file: 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll'
Copying file: 'Microsoft.AspNetCore.Identity.UI.dll'
Copying file: 'Microsoft.AspNetCore.Razor.Language.dll'
Copying file: 'Microsoft.Bcl.AsyncInterfaces.dll'
Copying file: 'Microsoft.Build.Framework.dll'
Copying file: 'Microsoft.Build.Tasks.Core.dll'
Copying file: 'Microsoft.Build.Utilities.Core.dll'
Copying file: 'Microsoft.Build.dll'
Copying file: 'Microsoft.CodeAnalysis.AnalyzerUtilities.dll'
Copying file: 'Microsoft.CodeAnalysis.CSharp.Features.dll'
Copying file: 'Microsoft.CodeAnalysis.CSharp.Scripting.dll'
Copying file: 'Microsoft.CodeAnalysis.CSharp.Workspaces.dll'
Copying file: 'Microsoft.CodeAnalysis.CSharp.dll'
Copying file: 'Microsoft.CodeAnalysis.Features.dll'
Copying file: 'Microsoft.CodeAnalysis.Razor.dll'
Copying file: 'Microsoft.CodeAnalysis.Scripting.dll'
Copying file: 'Microsoft.CodeAnalysis.VisualBasic.Features.dll'
Copying file: 'Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll'
Copying file: 'Microsoft.CodeAnalysis.VisualBasic.dll'
Copying file: 'Microsoft.CodeAnalysis.Workspaces.MSBuild.dll'
Copying file: 'Microsoft.CodeAnalysis.Workspaces.dll'
Copying file: 'Microsoft.CodeAnalysis.dll'
Copying file: 'Microsoft.Data.SqlClient.dll'
Copying file: 'Microsoft.DiaSymReader.dll'
Copying file: 'Microsoft.DotNet.Scaffolding.Shared.dll'
Copying file: 'Microsoft.EntityFrameworkCore.Abstractions.dll'
Copying file: 'Microsoft.EntityFrameworkCore.Relational.dll'
Copying file: 'Microsoft.EntityFrameworkCore.SqlServer.dll'
Copying file: 'Microsoft.EntityFrameworkCore.dll'
Copying file: 'Microsoft.Identity.Client.dll'
Copying file: 'Microsoft.IdentityModel.JsonWebTokens.dll'
Copying file: 'Microsoft.IdentityModel.Logging.dll'
Copying file: 'Microsoft.IdentityModel.Protocols.OpenIdConnect.dll'
Copying file: 'Microsoft.IdentityModel.Protocols.dll'
Copying file: 'Microsoft.IdentityModel.Tokens.dll'
Copying file: 'Microsoft.VisualStudio.Debugger.Contracts.dll'
Copying file: 'Microsoft.VisualStudio.Web.CodeGeneration.Core.dll'
Copying file: 'Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore.dll'
Copying file: 'Microsoft.VisualStudio.Web.CodeGeneration.Templating.dll'
Copying file: 'Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll'
Copying file: 'Microsoft.VisualStudio.Web.CodeGeneration.dll'
Omitting next output lines...
Error: EISDIR: illegal operation on a directory, open '/home/site/wwwroot/wwwroot/Identity/lib/bootstrap/LICENSE'
An error has occurred during web site deployment.
Kudu Sync failed
\n/opt/Kudu/Scripts/starter.sh "/home/site/deployments/tools/deploy.sh"
##[error]Failed to deploy web package to App Service.
##[error]Deployment Failed with Error: Package deployment using ZIP Deploy failed. Refer logs for more details.
App Service Application URL: http://myapp.azurewebsites.net

I tried adding a hack to delete the offending file from under the ./app folder immediately after the dotnet publish, but the error just moved to a different file.  See also https://stackoverflow.com/questions/69967124/azure-app-service-net6-deploy-error-eisdir-illegal-operation-on-a-directory for another user encountering a similar issue after a .NET 6 upgrade.  Any ideas about what might be going wrong?

Workaround: I was able to open the Kudu Remote Execution Console and delete the wwwroot folder under site:
/home>cd site
/home/site>rm -r wwwroot

After that, the deployment proceeded with the .NET 6 flavor of the application.

Oh, and I had to update from .NET 5 to .NET 6 under General settings under Configuration to make sure the correct framework was installed.

@danjagnow we will investigate this case. Between - did you try recently and is the issue still happening?

@danjagnow we will investigate this case. Between - did you try recently and is the issue still happening?

After the workaround I described above, I haven't encountered any further issues.  I have been able to deploy several other changes to Azure with a .NET 6 codebase without further problems.  But since at least one other person has encountered similar symptoms, I thought it would be helpful to document the issue.

@danjagnow we will investigate this case. Between - did you try recently and is the issue still happening?

After the workaround I described above, I haven't encountered any further issues. I have been able to deploy several other changes to Azure with a .NET 6 codebase without further problems. But since at least one other person has encountered similar symptoms, I thought it would be helpful to document the issue.

Thanks for info @danjagnow. For now, I am closing this case, if you happen to encounter it again, you can reopen it.

I am encountering this same issue. I just updated a .net core 3.1 api to .net core 6. My error message is nearly identical to that of the original posters. I agree with rvvincelli that deleting the site directory is an unacceptable workaround. Even if deleting the site directory was acceptable as a workaround... the issue remains and this error should not have been closed.

@MrGoodfix We were able to pinpoint the issue and find an acceptable workaround, finally. The issue is: the release script does not handle symlinks properly. Not really blaming anyone here, since symlinks are a notorious complication in Git already, and they are system-dependendent. Our solution is: avoid the symlink altogether.
This is Composer-specific for our Laravel project, but I guess it can be done in any other build system etc. In the repositories array we have added an extra symlink property, like this:
{
  "type": "path",
  "url": "./nova-components/Sharesquare",
  "symlink": false
},

this forces the build to copy the contents of the component dir, rather than symlinking it. With this fix in place we have not encountered any other issues.
The Azure script should not fail in the first place, yet this is an acceptable workaround. cc @ayoayomide


how to publish bot automatically via website?

In my use case, visitors to my website can come and sign up for a bot. So, I need to create a new instance of a bot for each sign up.
Could you do that automatically? Currently, I understand that I need to publish the bot via visual studio and go through multiple manual steps. What advice/recommendation can you provide for auto creating an instance of a bot?

Currently we do not support programmatic provisioning of bots.


Revert "WIP: Retire nightly jdk19 builds and replace with jdk20"

Reverts adoptium/ci-jenkins-pipelines#628

Didn't see the WIP label

Only merge if this actually needs to be reverted.


Domain activation is Failed - One or more of the CNAMEs you provided are already associated with a different resource.

Region: us-east-2
Step: Domain activation
Status: Failed

Note: Do not include information that is sensitive in nature such as your domain name, company etc.

Issue/question
We are trying to add a domain to a new app in Amplify.
The SAME domain was previously used in a different app in the same Amplify account.
It will not allow us to add the domain again to point to the new app.
I have removed the domain from the account and now it will not allow us to readd.
Error message
Something went wrong. Please refer to our troubleshooting guide below to diagnose the issue. After fixing the issue, choose retry below. If retrying fails, please create an issue in our GitHub issue tracker.
Error message: One or more of the CNAMEs you provided are already associated with a different resource.
Note: Be sure to check the message for sensitive information.
Additional information
Please add any other relevant information. Please feel free to include screenshots.

@grajarv7464 to help us troubleshoot, how long did you wait between removal and readding?
If it is an option and won't cause disruption for you, can you delete the custom domain in Amplify Console, delete the DNS records, and recreate after waiting 1.5h?


Chess: Move F7 to G8

Please do not change the title. Just click "Submit new issue".

@MGBoulware88 done! Successfully played move f7g8 for current game.
Thanks for playing!


first pass at basic training loop

Codecov Report

Merging #18 (9020f37) into main (f5b006f) will increase coverage by 0.17%.
The diff coverage is 96.77%.

@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
+ Coverage   95.81%   95.98%   +0.17%
==========================================
  Files          12       13       +1
  Lines         382      473      +91
==========================================
+ Hits          366      454      +88
- Misses         16       19       +3

Impacted Files
Coverage Δ

src/hearth/loop.py
96.70% <96.70%> (ø)

src/hearth/callbacks/base.py
97.05% <100.00%> (ø)

Continue to review full report at Codecov.

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


cmd/compile: pgo weighted merge support

Go PGO documentation shows support for merging multiple PGO profiles. However, as far as I see, there is no support for adding a weight to each profile. I quickly checked the pprof merge implementation and also didn't find a way to add weights to profiles for the merge operation.
In the current guideline already there is a note about merging multiple profiles into one:

Merge profiles across workloads: take profiles from each workload (weighted by total footprint) and merge them into a single “fleet-wide” profile used to build a single common profile used to build. This likely provides modest performance improvements for all workloads.

But it also says nothing about adding weights to the profiles.
The use case for such functionality is the following. We gathered N profiles from different workloads. According to our needs, one workload is our primary workload, and others are secondaries. So we want to add some multiplier to optimize as much as possible for our main workload, and optimize for our secondary workloads too but with a lower priority.
llvm-profdata tool supports weighted merge (here are some invocation examples).
Right now I see the following ways, how it can be mitigated:

(an easy way) If we want to perform merging for profiles A and B with weights 2 and 1 correspondingly, we need to copy A profile, then merge 3 profiles: A, A_copy, B. In theory, it would be equal to the weight 2 near the A profile. However, not the best UX.
(a hard way) Parse PGO profiles somehow and tweak internal counters with some weight multiplier. Doable but hard to implement.

If you think having such functionality is important for PGO users in Go, I kindly ask implement it. Before the weight implementation, we can put the temporal mitigations to the documentation (of course if they work - I didn't test them yet). Probably it will require some changes on the pprof side.

CC @golang/compiler.

It is true that there is no existing tooling to perform a weighted profile merge. That would be nice to have.

In the current guideline already there is a note about merging multiple profiles into one:

Merge profiles across workloads: take profiles from each workload (weighted by total footprint) and merge them into a single “fleet-wide” profile used to build a single common profile used to build. This likely provides modest performance improvements for all workloads.

But it also says nothing about adding weights to the profiles.

https://go.dev/doc/pgo#merging-profiles does allude to this limitation: "you likely want to ensure that all profiles have the same wall duration (i.e., all profiles are collected for 30s). Otherwise, profiles with longer wall duration will be overrepresented in the merged profile." Perhaps it isn't explicit enough, though.

(a hard way) Parse PGO profiles somehow and tweak internal counters with some weight multiplier. Doable but hard to implement.

I disagree that this is hard. The github.com/google/pprof/profile package is very useful and makes this kind of this easy. I prototyped this in https://gist.github.com/prattmic/9818d05c6e6cf5c132e9105789f95e72, and it is quite simple. Half of this program is just flag parsing.

I prototyped this in https://gist.github.com/prattmic/9818d05c6e6cf5c132e9105789f95e72, and it is quite simple. Half of this program is just flag parsing.

Thanks for sharing your prototype! It would be really valuable before we get a "mature" implementation.

In compiler/runtime triage, we think that maybe this should be a feature request for the pprof tool instead (which the Go distribution vendors). As @prattmic this probably isn't too hard to implement, it just needs a CLI or something. We think that it would make more sense for some other tool than the compiler to do it, because that'll directly impact build times.

Do I need to create this issue in pprof repo instead?

I'm less convinced that this should go straight to the pprof repo. While I think this would be a decent feature for the pprof CLI (perhaps -scale 1.0,2.0,etc, basically a custom version of -normalize), the pprof tool is fairly selective about adding features, so I don't want to dump everything on them.
Perhaps we should have a tool in x/tools for working with profiles, specifically for PGO that could provide extra functionality not available directly in pprof.


Hide "Yours" category in branch lsit

The title is self explanatory.
Hide the "Yours" category in the branch list of repos. It's just annoying
Example URL:

https://github.com/sindresorhus/refined-github/branches

Why is it annoying?

When I check the branch list, I personally expect to see a clear list of branches, but Github categorizes them and the "Yours" category isn't really useful. It just makes the branch appear two times.

It might be useful in repos with multiple contributors. Let's not drop hide it


Can't hear receiver side voice

Tried your code but can't hear voice of the other side
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
MIC can't record both side voice
please solve this

on which device you check


Convert ISO-8859-1 encoded CSV to UTF-8

Context
Microsoft Excel is the most common source of CSV files within the department, and it uses ISO-8859-1 as the default encoding.

Changes proposed in this pull request
Convert CSV data from ISO-8859-1 to UTF-8 on file upload.

Guidance to review
There's a test CSV file attached to the Trello story.

Link to Trello card
https://trello.com/c/wWtCDESt/1605-special-characters-not-being-accepted-in-name-fields-of-csv-upload

Checklist

[x] Attach to Trello card
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

 Special characters not being accepted in name fields of CSV upload


Cleanup ecosystem page from gateway!

:clipboard: Add associated issues, tickets, docs URL here.
Closes: https://github.com/bobanetwork/boba/issues/978
Overview
Remove ecosystem page from gateway as it's duplicate on boba website and gateway.
Changes
Describe your changes and implementation choices. More details make PRs easier to review.

Remove ecosystem from gateway
Cleanup all code related to ecosystem.
update the test cases for header and menu icons.

Testing
On starting the up the gateway you won't be able to access ecosystem page.

Current Ecosystem link have to redirect users to this section on our website

Okay let's discuss this in call tonight with team!


An option to specify .env filename

Hi. Similarly to django-configurations, it could be very convenient to be able to specify an environment filename with variables, not just to have .env hard-coded. For example, I could therefore specify a set of vars for different environments, e.g. prod.env, staging.env, and I could switch them using another env variable, e.g.:
DECOUPLE_CONFIGURATION=staging.env python program.py

Hi @balta2ar while I think it's a good idea too, and thinking about the best way how to implement it, you're still can use from decouple import AutoConfig  and use the search_path argument:
config = AutoConfig(search_path='./staging-env/')

while your you have this ./stagin-env/.env

Here is a proposal to support a custom config file name https://github.com/henriquebastos/python-decouple/pull/76/files

I don't understand the need for this since the role purpose of decouple is to avoid having different settings layouts. The values may change on each instance, but the keys must all be the same in every environment.
Can anyone detail a concrete and real use case for this?

Running Django tests is an example of a special case where values in .env should be ignored in favor of a different hardcoded file. e.g. we often want to swap out the entire DB configuration to use an in-memory db or a specific postgres db when testing.

I don't understand the need for this since the role purpose of decouple is to avoid having different settings layouts. The values may change on each instance, but the keys must all be the same in every environment.
Can anyone detail a concrete and real use case for this?
In every instance I could have 2 env files (.env, test.env) .env file for application and test.env file for test cases. this is the basic need.

@pirate so this seems to be specific for you where your workflow is not align with decouple's design guide. No problem.
The easy way to deal with this kind of particularity is to compliment your workflow with some shell alias or makefile to link the proper file as .env prior to run a command.
For instance:
alias runtests=ln -s test.env .env && manage.py test
alias runserver=ln -s dev.env .env && manage.py runserver


feat: add catalog/schema subcommands to flight_sql_client.

Which issue does this PR close?
Closes #6331
Rationale for this change
Adds the proposed solution from the issue.
What changes are included in this PR?
Are there any user-facing changes?
Yes, the new subcommands on the CLI are documented, producing good help text within the CLI.

Implementation looks good, but I agree with @alamb that a test is required. Doesn't have to be super sophisticated though, it's mostly a smoke test to check that the wiring is sound.

@crepererum @alamb I have added tests, somehow I missed that they existed when I first looked.
To make implementing the service I copied the builder pattern from the CommandGetDbSchemas for the CommandGetTableTypes. While its a trivial implementation it makes implementing the service simple as it follows the same pattern as the other commands.

clippy still complaints (minor) issue, the overall approach/code looks good though

@crepererum Thanks I fixed the clippy issue.


Consolidate documentation for std.utf.stride[Back]

The overload sets stride and strideBack now have one entry each. This makes a big difference for the readability of std.utf's docs.
Further changes that would improve the situation:

These two overload sets are big - collapse them into two overloads per overload set, with and without the index parameter
Add examples
(Implement decodeBack!)

I'll leave these to someone with deeper UTF knowledge.

Thanks!


Remove Docker setup?

Based on looking at this for https://github.com/studentinsights/studentinsights/pull/1182#issuecomment-339659601 it seems like no one must have been using this since it would have required changes to the database.yml in order for the Rails container to connect to the database (ie, postgres username and postgres host).

Are folks using Docker?  Please 👍 or 👎 on this comment.  Thanks!
@alexsoble @jhilde @Jngai @gabivoicu @KaraAJC @edavidsonsawyer

I stopped using docker in an attempt to see if it improved the speed of browserily, it didn't. But since I cleaned up my machine, I haven't used it. I think I did something to fix the database.yml issue early on.
I'd say, unless one of us is actively using docker, don't worry about it.

hmm looking through the Docker for Mac issues it seems like it's a hot mess: https://github.com/docker/for-mac/issues/1358, https://github.com/docker/for-mac/issues/77, https://forums.docker.com/t/file-access-in-mounted-volumes-extremely-slow-cpu-bound/8076/158.  The last one in particular does not sound optimistic about any uses cases watching lots of files for changes.

Not using Docker, and having worked w/ Docker for Mac before I could add that it's not as stable as would be ideal for production so removing it would probably be a good idea (especially since it appears people aren't using it).


fix(ci): do not ignore end-to-end tests workflow

#1597  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @krzema12 and the rest of your teammates on  Graphite


Incorrect reference to available builtin config in documentation.

The referenced builtin config here does not exist: https://opencolorio.readthedocs.io/en/latest/api/config.html

I think I will take this on for DevDays 2023!

@KelSolaar @nicklormand @doug-walker
Is anyone working on this issue, If not shall I take up this issue?


[Extensibility Request] Table 5069 Salutation Formula - Change Salutation Type to Enum

Hi,
Could you please change field 3 "Salutation Type" from Option to Enum like you do with almost all other option fields?
We need to extend the options on this field, so an extensible enum would be very welcome.
table 5069 "Salutation Formula"
{
    Caption = 'Salutation Formula';

    fields
.
.
    { field(3; "Salutation Type"; Option)
        {
            Caption = 'Salutation Type';
            OptionCaption = 'Formal,Informal';
            OptionMembers = Formal,Informal;
        }

Thanks

We implemented this enum quite long time ago:
    field(3; "Salutation Type"; Enum "Salutation Formula Salutation Type")
    {
        Caption = 'Salutation Type';
    }

Hi Alexander,
Could you check if this has been pushed to the release branch?
When I check Cumulative Update 3 of the BC Spring 2020 release, it's still an option??

Please read Wiki for this forum, we NEVER implement events into release branch, we only do it for Master (or Major release).

Ah, sorry, didn't see that one.
So it'll be in the Wave 2 (Fall) BC 2020 update.
Thanks!


Automated browser testing

I might look into adding automated browser testing to this boilerplate. Does anybody have experience with that? What's your preferred solution?

I'm making a living out of automated visual testing, working at Applitools.
Would be thrilled to help out. I'm currently not near my laptop but we can
add basic e2e tests alongside the project. React also facilitates testing
isolated components visually by rendering only them. I'll be adding more
details soon.
On Jan 7, 2016 12:02 PM, "Max Stoiber"<EMAIL_ADDRESS>wrote:

I might look into adding automated browser testing to this boilerplate.
Does anybody have experience with that? What's your preferred solution?
—
Reply to this email directly or view it on GitHub
https://github.com/mxstbr/react-boilerplate/issues/76.

@zavelevsky would love to hear more! I'm not sure automated browser testing is worth the time/effort, but I'll gladly let myself be convinced otherwise.

Sure. What was your original intention then?
On Jan 7, 2016 12:13 PM, "Max Stoiber"<EMAIL_ADDRESS>wrote:

@zavelevsky https://github.com/zavelevsky would love to hear more! I'm
not sure automated browser testing is worth the time/effort, but I'll
gladly let myself be convinced otherwise.
—
Reply to this email directly or view it on GitHub
https://github.com/mxstbr/react-boilerplate/issues/76#issuecomment-169618020
.

Learn more about it and see if it's viable and useful to include it by default. If not we can always add it to the advanced patterns documentation!

You want it. Nothing beats automated e2e tests when it comes to user
interface. We can add a few simple tests based on selenium, with a few page
objects to match the boilerplate's examples.
I'll explain in more details once I'm united with my laptop :)
On Jan 7, 2016 1:29 PM, "Max Stoiber"<EMAIL_ADDRESS>wrote:

Learn more about it and see if it's viable and useful to include it by
default. If not we can always add it to the advanced patterns
documentation!
—
Reply to this email directly or view it on GitHub
https://github.com/mxstbr/react-boilerplate/issues/76#issuecomment-169635545
.

Sounds great, looking forward!

@zavelevsky any update on this? :eyes:

If I may suggest a thing is to avoid 3rd parties services (e.g. Applitools).
The audience of this boilerplate is very broad and forcing people to use X-maybe-paid-if-not-OSS service is not optimal. However if you have to pick up a service I highly recommend SauceLabs (it is totally free for OSS). Selenium would be great, another interesting option would be Integrator although it is still at an early stage.
Either ways you may want to look into zuul and please run tests in REAL browsers (not phantomjs) – for that you can take a look at Xvfb which is also supported by Travis CI.
If you want to test CSS you can look into tape-css, read the related blog post and take a look at an example I wrote.

http://nightwatchjs.org/ i've been looking at this for browser testing at work... might be relevant. any thoughts @giuseppeg @zavelevsky @mxstbr

Due to little interest in this, I'll close this for now. Thanks for chiming in everybody!


SlaveConnectionPool no available Redis entries

Issue Summary:
We ran into an issue where the Elasticache slave node went down and the requests were routed to master node.
Post the recovery of slave node, clients request to recovered slave node were routed correctly but after some time we starting seeing below error for cluster :
Logs
org.redisson.client.RedisConnectionException: SlaveConnectionPool no available Redis entries. Master entry host
Hosts disconnected due to errors during `failedSlaveCheckInterval`

Unable to unfreeze entry: [freeSubscribeConnectionsAmount=0, freeSubscribeConnectionsCounter=value:50:queue:0, freeConnectionsAmount=0, freeConnectionsCounter=value:64:queue:0, freezeReason=RECONNECT

java.util.concurrent.CompletionException: org.redisson.client.RedisConnectionException: Unable to init enough connections amount! Only 0 of 24 were initialized

Redisson version 3.18
Redisson configuration
  idleConnectionTimeout: 10000
  connectTimeout: 10000
  timeout: 3000
  retryAttempts: 3
  retryInterval: 1500
  failedSlaveReconnectionInterval: 3000
  failedSlaveCheckInterval: 60000
  password: null
  subscriptionsPerConnection: 5
  clientName: null
  loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  slaveConnectionMinimumIdleSize: 24
  slaveConnectionPoolSize: 64
  masterConnectionMinimumIdleSize: 24
  masterConnectionPoolSize: 64
  readMode: "SLAVE"
  subscriptionMode: "SLAVE"
  scanInterval: 1000
  pingConnectionInterval: 30000
  keepAlive: false
  tcpNoDelay: true
  threads: 16
  nettyThreads: 64
  codec: !<org.redisson.codec.Kryo5Codec> {}
  transportMode: "NIO"

Fixed https://github.com/redisson/redisson/issues/3980

@harshalthakre
3.23.2


Add VM flavors for p3 and config for Octavia

Looks good but do the virtual flavors need any custom resource specs (or traits) to ensure they go to the hypervisor and not to a baremetal host?

Looks good but do the virtual flavors need any custom resource specs (or traits) to ensure they go to the hypervisor and not to a baremetal host?

They seem to get scheduled where nova compute is running so not to a baremetal host.

Looks like the baremetal flavor has some custom properties instead.

Yeah, baremetal no longer reports vCPU resources, and hypervisors don't report CUSTOM_BAREMETAL_FOO resources.

can we merge this?


Fix/triangle()

Just for fun and also because trigonometry is a bit boring for the end user.

            (B)
            / \
           /   \
      (c) /     \ (a)
         /       \
        /         \
    (A) _ _ _ _ _ _ (C)
            (b)

function main(params) {
    // Defaults: Equilateral triangle with sides of 1
    let tri = triangle().scale(10);

    // AAS Triangles
    let AAS1 = triangle({ angles: { A: 45, B: 45 }, lengths: { a: 10 } });
    let AAS2 = triangle({ angles: { A: 45, B: 45 }, lengths: { b: 10 } });
    let AAS3 = triangle({ angles: { B: 45, C: 90 }, lengths: { b: 10 } });
    let AAS4 = triangle({ angles: { B: 45, C: 90 }, lengths: { c: 14.142135623730951 } });
    let AAS5 = triangle({ angles: { C: 90, A: 45 }, lengths: { c: 14.142135623730951 } });
    let AAS6 = triangle({ angles: { C: 90, A: 45 }, lengths: { a: 10 } });

    // ASA Triangles
    let ASA1 = triangle({ angles: { A: 45, B: 45 }, lengths: { c: 14.142135623730951 } });
    let ASA2 = triangle({ angles: { B: 45, C: 90 }, lengths: { a: 10 } });
    let ASA3 = triangle({ angles: { C: 90, A: 45 }, lengths: { b: 10 } });

    // SAS Triangles
    let SAS1 = triangle({ angles: { A: 45 }, lengths: { b: 10, c: 14.142135623730951 } });
    let SAS2 = triangle({ angles: { B: 45 }, lengths: { a: 10, c: 14.142135623730951 } });
    let SAS3 = triangle({ angles: { C: 90 }, lengths: { a: 10, b: 10 } });

    // SSA Triangles
    let SSA1 = triangle({ angles: { A: 45 }, lengths: { a: 10, b: 10 } });
    let SSA2 = triangle({ angles: { B: 45 }, lengths: { a: 10, b: 10 } });
    let SSA3 = triangle({ angles: { B: 45 }, lengths: { b: 10, c: 14.142135623730951 } });
    let SSA4 = triangle({ angles: { C: 90 }, lengths: { b: 10, c: 14.142135623730951 } });
    let SSA5 = triangle({ angles: { C: 90 }, lengths: { a: 10, c: 14.142135623730951 } });
    let SSA6 = triangle({ angles: { A: 45 }, lengths: { a: 10, c: 14.142135623730951 } });

    // SSA Two solutions
    let SSA7 = triangle({ angles: { A: 31 }, lengths: { a: 8, c: 13 }, returnBiggest: true });
    let SSA8 = triangle({ angles: { A: 31 }, lengths: { a: 8, c: 13 }, returnBiggest: false });

    // SSS Triangles
    let SSS1 = triangle({ lengths: { a: 10, b: 10, c: 14.142135623730951 } });

    return [
        tri,

        AAS1.translate([0,  -15, 0]),
        AAS2.translate([15, -15, 0]),
        AAS3.translate([30, -15, 0]),
        AAS4.translate([45, -15, 0]),
        AAS5.translate([60, -15, 0]),
        AAS6.translate([75, -15, 0]),

        ASA1.translate([0,  -30, 0]),
        ASA2.translate([15, -30, 0]),
        ASA3.translate([30, -30, 0]),

        SAS1.translate([0,  -45, 0]),
        SAS2.translate([15, -45, 0]),
        SAS3.translate([30, -45, 0]),

        SSA1.translate([0,  -60, 0]),
        SSA2.translate([15, -60, 0]),
        SSA3.translate([30, -60, 0]),
        SSA4.translate([45, -60, 0]),
        SSA5.translate([60, -60, 0]),
        SSA6.translate([75, -60, 0]),

        SSA7.translate([0,  -75, 0]),
        SSA8.translate([15, -75, 0]),

        SSS1.translate([0, -90, 0])
    ];
}

Once again... BIG THANKS!
I have one suggestion as we have beed debating the organization of the library. I think we should have separate source files for each of the primitives, operations, etc.

By the way, another shape that is on my list of things to do is STARS.
https://github.com/mikolalysenko/star-polygon

As discussed with @kaosat-dev , I understand that this is removed in v2 and it's fine like that. I did it for fun and will be used in an external library, like your STARS function.

I thought the V2 API was still undecided. I don't expect just circles and squares. ;)

@kaosat-dev well, actually everything can be created from polygon(), so what's the point of the API?
CONVIENCE and EASE OF USE
We are trying to develop an API that can be easily used by folks with very little math / geometry knowledge. So, let's make it easy.
The same goes for rectangle versus square, or circle versus ellipse, rotate versus rotateZ, etc. All of these are for ease of use.
I do agree that we need a central core of functionality, but the API for users can very rich and easy. Maybe even several API libraries.

several API libraries => IE not core!
what is the benefit of triangle ? who creates triangles ? it was not even working before ! so no useage :)
some aliases can be useful for convenience, but let's try to keep it minimal.
We could add every possible geometry , but that would make it non trivial to maintain, and 99% would end up never being use.
Minimalism is a feature !

@lautr3k Be sure to save that code. I don't think this discussion has finished yet.
Once @kaosat-dev has a first cut at the API, then the fun begins to provide something useful.


Authentication: Express Session Example.

This is an example on how users can use express-session with the graphql-yoga package.

@schickling ?

Thanks a lot for contributing this example!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Host sdk-server on AWS

Problem
What problem are we solving?
Our current SDK is heavy and is not possible to use in some front-end applications. If we deploy a hosted SDK server that can generate the appropriate transactions data then we can have a highly optimized front end SDK that simply queries this server.
Impact
Why does this matter? Who does it impact? How much does it impact them? What is the urgency?
We have anecdotal evidence that users are churning due to our SDK bundle size.
Proposed Solution
[OPTIONAL] Thoughts on solution design. We could do  to solve this problem.
App Layer

Containerize sdk-server package
Host on ECS to expose HTTP endpoints
Set up autoscaling groups in multiple regions
[Optional] Configure multiple availability zones per region

Cache Layer

Set up ElastiCache (Redis) clusters in multiple regions
[Optional] Enable cross-region replication (probably not necessary)
[Optional] Configure multiple availability zones per region
Implement middleware in sdk-server to intercept external requests (Gelato) and cache them using Redis client

Load Balancer

Set up ALB to distribute traffic across ECS instances in each region
One ALB per region

DNS

Geolocation routing of requests to different regional ALBs with Route 53

[Optional] API Gateway

First-class support for OpenAPI/Swagger specification
Generate SDKs for multiple platforms using the OpenAPI spec (these are just client SDKs that help with hitting the API)
Anti-DDoS vectors using rate limiting, throttling, API keys

[Optional] Analytics

This depends on what we want to capture. If we set up API Gateway, we can get metrics like API call count, latency, cache hits/misses. This should be possible to collect from logs without API Gateway as well but slightly more difficult.

Other Notes

Use Terraform to define all the infrastructure pieces
Replicate for each environment (testnet-staging, testnet-prod, mainnet)

Acceptance Criteria
From an end user perspective, the below criteria must be met to consider this done:

[ ] SDK Server is hosted and publicly accessible
[ ] API requests have low latency from multiple regions
[ ] Can handle scaling requirements (TODO)

test this when completed https://github.com/connext/monorepo/issues/4208


Disable-ADSyncExportdeletionThreshold and Enable-ADSyncExportdeletionThreshold currently not asking for AAD credentials.

Disable-ADSyncExportdeletionThreshold and Enable-ADSyncExportdeletionThreshold currently not asking for AAD credentials. Looks like the change is local. Can we confirm if this is known and doc be updated or a fix is in works?
More info: Cmdlets run alone do not even need internet connection. unless -AADCREDENTIAL is passed, it just works. Does it mean the threshold set locally will be honored?

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

ID: ddd7dc27-98e4-d56e-1ac5-a59aab428b57
Version Independent ID: 4c1e580a-e1a8-f3c6-6b52-65665e8c16e4
Content: Azure AD Connect sync: Prevent accidental deletes
Content Source: articles/active-directory/hybrid/how-to-connect-sync-feature-prevent-accidental-deletes.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@msharsur -  Thanks again for bringing this to our attention.
Looks like this is a duplicate of this issue and hence we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Standardize ad-hoc plural synoynm type

Part of https://github.com/OBOFoundry/OBOFoundry.github.io/issues/2450

@jaiswalp @elserj any chance you could take a look at this?


Updated subscription code

This PR does a couple of things:

It removes print statements in lieu of os_log for better integration into the logging ecosystem
It replaces try! force unwrapping in various places in the subscription code with try?
It removes an instance of a fatalError
It makes changes to the GraphQL protocol based on the standard. Before these changes, running it against the GraphQL server that I tested with would fail. With these changes, subscriptions work correctly. I'm by no means a graphql-subscription expert, so if my changes require additional changes to make it work with other servers, feel free to point that out.
It adds a (wip) way of connecting to WebSockets via NWNetworking because, according to Apple's authority on
all things network - Quinn The Eskimo - URLSession based websockets have lots of issues while NWNetworking
has none: https://developer.apple.com/forums/thread/653599
It fixes a bug that caused the app to go into an infinite loop draining the users battery as soon as the
connection to the websocket went away.

As to the protocol issues, I figured out that there're two competing graphql subscription protocols, subscriptions-transport-was and graphql-ws with slight incompatibilities (of course!). I might rework this PR to allow choosing which type to connect to.

@terhechte, thank you for coming up with this. I am truly grateful for the work, the timing just seems to be super bad because I am about to release v3.0.0 of SwiftGraphQL (#70) that's going to handle GraphQLWebSockets a bit differently. I'll surely use your code as inspiration though.

@maticzav No problem :) We needed these right now, so doing them was still useful from my perspective. Once 3.0 is rolled out, I suppose we will gladly switch over :)
One thing I didn't do in the PR but that I think would make sense is to have a configuration option for either subscriptions-transport-was or graphql-ws so that it works with both transports. Some servers support both protocols in a backwards-compatible way, but some only support one. The difference between the two protocols is also pretty marginal.

@terhechte would you recommend using os_log in favour of swift-log? I see that you used os_log and hoped that you could explain the difference.

With the release of the new version, I am closing this PR. It has been of great value. Feel free to reopen it if you think this could still benefit the new client, and I'll happily check it out.


Adding entry point for clarity-icons

This adds an entry point for clarity-icons. It allows to better use webpack or other module loaders.

@youdz yep, it just for convenience. For tree-shaking etc. we would have to add some other things. Would have to look into that.

Before we can merge this change in @katallaxie, we'll need you to edit your commit message to follow the contribution guidelines...
[icons] <title goes here>

Signed-off-by: Sebastian Döll<EMAIL_ADDRESS>
Thanks.


specify injection range

Users can now specify an injection range e.g. 4:6 to use a specific set of injections. Config parameter average_over_last_n_inj renamed to average_over_inj.

Thanks for this nice piece of work. I will perge this PR and delete the branch.


Audio channel selection

Sometimes there are multiple audio channels available per stream (German/English for example). Would be great to be able to switch between different audio channels in this case. Currently i was not able to find this option for those channels.

It is already possible.
If there are several audio channels, a headphone symbol appears.

As @Axel-Erfurt mentioned, this should work with the videojs-based player. Closing for now, if there are any issues then feel free to reopen.


As VALIDATOR, I want to cross-check external dictionary version indicator against that in the define.xml so that the proper dictionary source files are used as input

This check applies to MedDRA, WHODrug, and LOINC. Other dictionaries may be applicable.
This check is IG-version-agnostic.
For example, cross-check version indicator in the define.xml against the MedDRA version indicator in meddra_release.asc, e.g., 22.0 in define.xml and 24.1$English$$$ in flat file.

this rule will involve the   --whodrug TEXT  --meddra TEXT.  When a rule does a check on these libraries, we would need some type of preprocessing that checks the version of the dictionary that has been passed in compared to the version of the rule.  if there is a misalignment we would use the logger/errors to skip the rule and give a message for the report stating the mismatch

@SFJohnson24 @chowsanthony does this mean that any dictionary validation rule should first check the version specified in the define and raise an error if there is a mismatch?

@nhaydel We plan to write separate rules for each external dictionary. E.g.,

Rule: The LOINC version indicator from the source must match the version indicated in the study define file.
Rule: The MedDRA version indicator from the source must match the version indicated in the study define file.


BVAL-464 Adding CONTRIBUTING.md file

https://hibernate.atlassian.net/browse/BVAL-464

And merged!


Add 'layers' option to Translate interaction

This PR introduces the layers option in the ol.interaction.Translate interaction to allow features only for the given layers to be managed.
It works exactly like what is done in the ol.interaction.Select.

Ready for review.

LGTM, thanks @adube

Thank you @fredj!


doc: fix wording on dockertools

replaces https://github.com/NixOS/nixpkgs/pull/96421

@samueldr Thanks! transaction @colemickens suggestion, we can live without reference to result altogether.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/dockertools-imprecisions-docs/8770/14

No consensus, closing: https://discourse.nixos.org/t/dockertools-imprecisions-docs/8770/15?u=blaggacao

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/dockertools-imprecisions-docs/8770/16


[MM-32804] Use npm package for timezones

Summary
This updated the timezone selector and label to use a new npm package for the timezone list. This was done to make the list more readable/user friendly. Some things to note:

I removed the old timezone list from the redux store, I could not see it being used anywhere else so I replaced it with the new one.
There should be no breaking changes to any users with their existing timezones.
There are cases where a user may have picked a manual timezone that isn't in the new list (e.g Israel). For any edge cases like this you will keep your existing timezone and we will show it as selected in the dropdown but once you change your timezone, it will no longer be selectable/visible.

Ticket Link
https://mattermost.atlassian.net/browse/MM-32804
Test Steps

Navigate to Account Settings > Display > Timezone.
Activate manual timezones and select a new timezone.
Expected result: Labels update correctly
Send message in channels and ensure the times are matching the timezone.

Repeat those steps a few more times and toggle between automatic and manual timezones. Select a different manual timezone each time.
Screenshots

Release Note

Updating Account Settings > Display > Timezone to be more user friendly

@BenCookie95 can you please add me once dev review is complete ? Or is it ok to test before Dev review ?

@BenCookie95 can you please add me once dev review is complete ? Or is it ok to test before Dev review ?

@furqanmlk I think it's ok if you test before dev review. I'll add some test steps in description of the PR

@mkraft i reassigned Shaz as a reviewer, please assign appropriately or give a review yourself :)

@BenCookie95 I think this is ready to merge?

@BenCookie95 Is this a requirement for v6.0? If yes, can you help cherry-pick to the cloud branch? https://community.mattermost.com/core/pl/cmqefh9ue7dnxgfm1cirbcj9se

/cherry-pick cloud

Cherry pick is scheduled.


fix: resolve crash on Play Store version

Closes https://github.com/mlcommons/mobile_app_open/issues/893

@anhappdev do you want me to try out this version of the app from the playstore?

@anhappdev do you want me to try out this version of the app from the playstore?

Yes. Please.

@anhappdev do you want me to try out this version of the app from the playstore?

Yes. Please.

i see the play store version was updated on 18th June. Can you push the apk with these fixes as well to playstore?

i see the play store version was updated on 18th June. Can you push the apk with these fixes as well to playstore?

@mohitmundhragithub I am not sure why it shows that date. Can you check the app build number in the settings screen. The build number from this PR should be 156?

the latest version that i downloaded is 156 only.

but sadly, this also doesn't work.

@mohitmundhragithub Ok. Thanks for the feedback. Is the crash occurred on any Android devices with the QTI backend or only on the Galaxy S23?

I tried the apk on another device (Samsung galaxy tab s8+). It crashes there as well.
Sadly I am still unable to upload the device logs... but following up with IT team internally.

@anhappdev please add<EMAIL_ADDRESS>for internal testing

Galaxy S23 Ultra.txt
Hi Anh,
Finally able to upload the logs. Can you please check?

Galaxy S23 Ultra.txt
Hi Anh,
Finally able to upload the logs. Can you please check?

It looks like the same issue we have here:
https://github.com/mlcommons/mobile_app_open/pull/859#issuecomment-1969462799
For this issue, I still cannot find a solution.

actually the reason for failure is same. But the reason would be different. Seems like when uploading to playstore, the DSP access gets denied but not otherwise.

Let's see if we can

aab (in the CI) -> apk
try to get supported.
@freedomtan to try on MTK devices (or Samsung devices).

Works on

MTK devices: both newer .dla  and older TFLite Neuron Delegate work
Pixel 8 Pro: works

@AhmedTElthakeb and @Mostelk: please check if the Play Store apk works on Exynos devices.

I opened a support ticket on Google Play, but they don't provide support for this kind of issue. Here is their answer:

Thanks for reaching out to Google Play Technical Support.
Although I’m happy to answer any questions about managing your apps on the Google Play Console, our team isn’t trained to provide technical support for app development questions.

@AhmedTElthakeb will try to run the in Play Store one w/ SELinux disabled (if that works, we are almost sure that there is some kind of permission setting problem).

I don't know if it makes a different, but I deployed the app to the closed testing channel.
Compared to the internal testing channel, a user still needs to be invited to join the testing program (so it's not public), but the app is reviewed by Google on every release, so I hope maybe the app will not be classified as "untrusted app" anymore.
@mohitmundhragithub @AhmedTElthakeb Can you please test the app (v4.1.0 (164)) again:
https://play.google.com/apps/testing/org.mlcommons.android.mlperfbench

I don't know if it makes a different, but I deployed the app to the closed testing channel. Compared to the internal testing channel, a user still needs to be invited to join the testing program (so it's not public), but the app is reviewed by Google on every release, so I hope maybe the app will not be classified as "untrusted app" anymore.
@mohitmundhragithub @AhmedTElthakeb Can you please test the app (v4.1.0 (164)) again: https://play.google.com/apps/testing/org.mlcommons.android.mlperfbench

didn't work on GS23Ultra.

on rooted device, adb shell then setenfoce 0, and adb shell setenforce 0 (meaning disabling all the permission checks by the SELinux). @mohitmundhragithub and @AhmedTElthakeb

I think I found one workaround for the issue.
For QTI backend, if we push few of the dependent libs to the "files" folder, instead of packing it in the apk's "lib" folder, then the issue gets resolved for qti backend.
I want to try it out for the app to be downloaded from the play store.
@anhappdev, i will push a change to this PR... can you please help to push the aab file to the playstore? i can test with that.

@mohitmundhragithub You can just push directly to this branch anh/debug-play-store-version. The CI will deploy the AAB to Play Store automatically.

@mohitmundhragithub You can just push directly to this branch anh/debug-play-store-version. The CI will deploy the AAB to Play Store automatically.

It will also reopen the PR.

@mohitmundhragithub You can just push directly to this branch anh/debug-play-store-version. The CI will deploy the AAB to Play Store automatically.

which task will push to playstore?

@mohitmundhragithub You can just push directly to this branch anh/debug-play-store-version. The CI will deploy the AAB to Play Store automatically.

@anhappdev , the app got deployed to play store successfully, but the date in play store still shows 21st july. How long does it take to update?

@anhappdev , the app got deployed to play store successfully, but the date in play store still shows 21st july. How long does it take to update?

I don't know that. And I don't know if that date get updated. But you can check the build number displayed in the app settings screen to make sure it's the expected version.

it says version: 4.1.0 | build: 164... which seems to be same as before :(

@anhappdev , the app got deployed to play store successfully, but the date in play store still shows 21st july. How long does it take to update?

I don't know that. And I don't know if that date get updated. But you can check the build number displayed in the app settings screen to make sure it's the expected version.

@anhappdev, can you please push it manually?

@anhappdev, can you please push it manually?

The app 4.1.0 (245) is available on the internal track. Maybe you can try delete and reinstall the current version on your phone?

https://play.google.com/store/apps/details?id=org.mlcommons.android.mlperfbench&pcampaignid=web_share
Is this the correct link? Somehow for my account, its not showing the correct version. I tried unisntalling / installing again on multiple devices.

@anhappdev, can you please push it manually?

The app 4.1.0 (245) is available on the internal track. Maybe you can try delete and reinstall the current version on your phone?

https://play.google.com/store/apps/details?id=org.mlcommons.android.mlperfbench&pcampaignid=web_share
Is this the correct link? Somehow for my account, its not showing the correct version. I tried unisntalling / installing again on multiple devices.

may be it takes some time to reach my region (india). will wait for some more time.

@anhappdev, can you please push it manually?

The app 4.1.0 (245) is available on the internal track. Maybe you can try delete and reinstall the current version on your phone?

https://play.google.com/store/apps/details?id=org.mlcommons.android.mlperfbench&pcampaignid=web_share
Is this the correct link? Somehow for my account, its not showing the correct version. I tried unisntalling / installing again on multiple devices.

may be it takes some time to reach my region (india). will wait for some more time.

@anhappdev its not updated yet in playstore. Could this be acount related issue? Can you please check?

@mohitmundhragithub The link is in this comment:
https://github.com/mlcommons/mobile_app_open/issues/893#issue-2360966998
Please noted the “internaltest” in the url.

@mohitmundhragithub The link is in this comment: #893 (comment)
Please noted the “internaltest” in the url.

@mohitmundhragithub I am told the one from Play Store works on a Samsung S24+ (8 Gen 3 inside).

@mohitmundhragithub The link is in this comment: #893 (comment)
Please noted the “internaltest” in the url.

@mohitmundhragithub I am told the one from Play Store works on a Samsung S24+ (8 Gen 3 inside).

That's surprising. Not sure how that could happen. The apk when sideloaded should work fine, but not the app from play store.

@mohitmundhragithub The link is in this comment: #893 (comment)
Please noted the “internaltest” in the url.

Thanks a lot @anhappdev. This link worked fine. I am able to download the updated app now.
The workaround that i had worked fine. Now we need to have a proper fix for the same.
My suggestion is,

Add a field in the backend settings, and list the required dependent library.
We need to host the required dependent library somewhere, which the app downloads and saves in "/sdcard/Android/data/org.mlcommons.android.mlperfbench/files".
The above path needs to be known to the backend. So, either we can have a fixed path or pass the dynamic download location path to the backend, so that the backend can use this path. For QTI backend, we set the env variable "ADSP_LIBRARY_PATH" to do this.

@mohitmundhragithub The link is in this comment: #893 (comment)
Please noted the “internaltest” in the url.

Thanks a lot @anhappdev. This link worked fine. I am able to download the updated app now.
The workaround that i had worked fine. Now we need to have a proper fix for the same. My suggestion is,

Add a field in the backend settings, and list the required dependent library.
We need to host the required dependent library somewhere, which the app downloads and saves in "/sdcard/Android/data/org.mlcommons.android.mlperfbench/files".
The above path needs to be known to the backend. So, either we can have a fixed path or pass the dynamic download location path to the backend, so that the backend can use this path. For QTI backend, we set the env variable "ADSP_LIBRARY_PATH" to do this.

NB: the other minSDK 30 issue also gets resolved with this workaround.

@anhappdev, @freedomtan  I have pushed the changes to download the libs directory as listed in the backend setting. Can you please review once?

The workaround that i had worked fine. Now we need to have a proper fix for the same. Basically, with Android SDK 29 and onwards, the app can't use few libs from the /data/.../mlperf/libs folder. Workaround is to have the lib file present in the /sdcard/Android/data/...mlperfbench/files folder.
My suggestion is,

Add a field in the backend settings, and list the required dependent library.
We need to host the required dependent library somewhere, which the app downloads and saves in "/sdcard/Android/data/org.mlcommons.android.mlperfbench/files".
The above path needs to be known to the backend. So, either we can have a fixed path or pass the dynamic download location path to the backend, so that the backend can use this path. For QTI backend, we set the env variable "ADSP_LIBRARY_PATH" to do this.

Another solution is to download the libs in the build step and put them in the same place where the native libs are:
https://github.com/mlcommons/mobile_app_open/blob/fad36c149fb710aadd4c5df9f55f3166090d9c46/flutter/android/android.mk#L50-L65
More info at https://developer.android.com/ndk/guides/abis#am

The cause of this issue is that the App cannot  access some of the .so libraries in devices (e.g., in either /system or /vendor partition).
Why this restriction: there is some kind of SELinux rule(s) what preventing libraries not listed in a white list to be accessed by an App from the Play Store.
@mohitmundhragithub's solution is to copy the libraries the app needs to the App's library directory. However, I think this is a hack.
Long term solution: fix the "whitelist".
debugging hint: ld debug options (Android specific) to get more verbose ld outputs (which may help find the libraries been accessed), @freedomtan to find the options from Android documentation site

The workaround that i had worked fine. Now we need to have a proper fix for the same. Basically, with Android SDK 29 and onwards, the app can't use few libs from the /data/.../mlperf/libs folder. Workaround is to have the lib file present in the /sdcard/Android/data/...mlperfbench/files folder.
My suggestion is,

Add a field in the backend settings, and list the required dependent library.
We need to host the required dependent library somewhere, which the app downloads and saves in "/sdcard/Android/data/org.mlcommons.android.mlperfbench/files".
The above path needs to be known to the backend. So, either we can have a fixed path or pass the dynamic download location path to the backend, so that the backend can use this path. For QTI backend, we set the env variable "ADSP_LIBRARY_PATH" to do this.

Another solution is to download the libs in the build step and put them in the same place where the native libs are:
https://github.com/mlcommons/mobile_app_open/blob/fad36c149fb710aadd4c5df9f55f3166090d9c46/flutter/android/android.mk#L50-L65
More info at https://developer.android.com/ndk/guides/abis#am

we have already been doing this. all the .so files are already part of the libs/abi folder. It used to work till now. however from, sdk 29 and above, there is an additional W^X restrictions.
there are a few libs required to access npu (suffixed skel.so), which have become inaccessible, from android 29 onwards.
i think there is similar restrictions for samsung stack as well.
when we copy the libs to files folder, the app is able to access those. this change facilitates that.
if we can find a way to pack these libs during build time to the files folder, then we dont need to download them separately.

Debug library loading issues: see https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#enable-logging-of-dlopen_dlsym-and-library-loading-errors-for-apps-available-for-api-level-26

we have already been doing this. all the .so files are already part of the libs/abi folder. It used to work till now. however from, sdk 29 and above, there is an additional W^X restrictions.
there are a few libs required to access npu (suffixed skel.so), which have become inaccessible, from android 29 onwards.

Really? Did you try copy the *skel.so file to ${flutter_android_libs_folder} and test the app. All *.so files in ${flutter_android_libs_folder} should be executable else the native backends would not work.

Did we try to specify all the libs in the AndroidManifest.xml with either uses-native-library or uses-library tag?
I don't know if it works, but maybe it's worth a try.

https://github.com/mlcommons/mobile_app_open/pull/929

Did we try to specify all the libs in the AndroidManifest.xml with either uses-native-library or uses-library tag?
I don't know if it works, but maybe it's worth a try.

yes. already tried this earlier.

https://github.com/mlcommons/mobile_app_open/pull/929

tried it. didnt work.

there is a IPC involved when trying to invoke the skel files. may be thats resulting in this behaviour.
same issue is seen for both playstore version and for apps with minsdkversion >= 29

Ok. Let move on with @mohitmundhragithub's solution: let the app download the *.so files.
But I will do it a bit different. I will push some new commits later.

@mohitmundhragithub Did we try to set android:extractNativeLibs="true" in the AndroidManifest.xml?

@mohitmundhragithub Did we try to set android:extractNativeLibs="true" in the AndroidManifest.xml?

Set android:extractNativeLibs="true" as in https://stackoverflow.com/a/64792194
Set android.bundle.enableUncompressedNativeLibs=false as in https://stackoverflow.com/a/56551499

the apk uploaded to play store (252) using PR #893 seems to resolve the play store issue at least on Galaxy S23 ultra.
Would be worthwhile to check if this can resolve the minSDKVersion 29 issue as well or not.

Would be worthwhile to check if this can resolve the minSDKVersion 29 issue as well or not.

Yes. It also resolved the issue with QTI backend in the PR https://github.com/mlcommons/mobile_app_open/pull/859.

Closed in favor of https://github.com/mlcommons/mobile_app_open/pull/930


Send logs to Discord (issue #247)

Looks good at a glance. I'll try it out when I have more time. :)


@obc - objective c support

Please will you add the @objc attribute to provide objective c support

Objective-C support has been integrated.


Add new dart solutions

File(s) Modified: 0011-container-with-most-water.dart
Language(s) Used: dart
Submission URL: _https://leetcode.com/problems/container-with-most-water/submissions/870967447/_

File(s) Modified: 0125-valid-palindrome.dart
Language(s) Used: dart
Submission URL: _https://leetcode.com/problems/valid-palindrome/submissions/870955304/_


Filter projects by ethnicity

@theathorn can we investigate what it would take to have Azul index donor ethnicity?

Obsolete.


Add column actions

Added support for 'columnActions':

$app->layout->add(new \atk4\mastercrud\MasterCRUD())
    ->setModel(new \saasty\Model\App($app->db),
    [
        'columnActions'=>[
            'repair'=>'wrench',
        ],
        'Models'=>[
            'columnActions'=>[
                'migrate'=>'database',
            ],
            'Fields'=>[
                'ValidationRules'=>[],

            ],
            'Relations'=>[
                'ImportedFields'=>[],
            ],
        ],

there are various invocation methods allowing you to specify icon, label, custom callbacks etc.
This also adds "MethodInvocator" - a view which asks you for arguments and then executes them.
This next example will use form to ask for an email, which will then be passed as argument to sendEmail($email)
[
    'columnActions'=>[
         'sendEmail' => ['icon'=>'wrench', 'email'=>'string']
   ]
]

Looks and works good. I think this can be merged in.


Expired Cards not handled as expired

It should not be possible to pick an expired credit card when contributing.

In the Contribution Flow, you get an error at next step when proceeding with the payment.

In the Manage Recurring Contributions, there is no feedback, you can update the contribution with an expired credit card.

When expired, payment methods are properly disabled in the contribution flow and hidden in the "Edit payment method" popup.

I found that the root cause for this issue comes from the API: we usually don't set any expiryDate on credit cards, the following query returns only 3 entries from 2017:
SELECT * FROM "PaymentMethods" pm
WHERE "type" = 'creditcard'
AND "expiryDate" IS NOT NULL
ORDER BY "createdAt" DESC

The expiry date that we display in the frontend is based on data.expYear + data.expMonth.
I think that we should fix things on the API by:

[ ] Adding a migration that fills expiryDate for all creditcard payment methods, based on expYear/expMonth
[ ] Automatically settings expiryDate when creating the payment method


Presenter model callbacks maintain scope, pass repo

This PR does two things:

Model callbacks are invoked within the scope of the presenter
The current repo is passed as the second argument

Model callbacks are invoked within the scope of the presenter
Context otherwise gets lost when you pass a reference to a Presenter method in getModel:
class MyPresenter extends Presenter {
  getModel(props) {
    return {
      key: this.process
    }
  }

  process () {
    // You'd expect `this` to be the presenter, right?
  }
}

The current repo is passed as the second argument
This lets you do neat things, like push actions if data is missing
function getUsers (state, repo) {
  let users = get(state, 'users', [])

  if (users.length <= 0) {
    repo.push(getUsers)
  }

  return users
}

class UsersPresenter extends Presenter {
  getModel(props) {
    return {
      users: getUsers
    }
  }
}

There's some more nuance to that sort of thing to prevent over-fetching, but the basic principle still applies. Passing repo as the second argument of model callbacks will let us do some pretty neat stuff.

Codecov Report

Merging #320 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #320   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          23     23
  Lines         787    787
=====================================
  Hits          787    787

Impacted Files
Coverage Δ

src/addons/presenter.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Update slotless to v1.0.0

Changes

Added an info box to track unlocked slots
Added ability to enforce slot unlocks with chat warning after hitting max slots
Added custom chat icon for local player
Added Collection Log like notification when unlocking a new slot
Resized icon to re-adjust spacing

Bug Fixes

Added Hold to list of equip actions
Reordered redraw inventory scripts for better reliability

Commit sha for actual changes: https://github.com/CarlOmega/slotless/commit/0efb63f3bbeb7e1e6ae2e6fa6808fb794d9a7976
Other changes are just readme and configs

You don't have to close your PR and open a new one, you can just push new commits to the same branch and they'll show up. And if you still have things to change before a reviewer can actually start reviewing the code, you can mark the PR as draft.

You don't have to close your PR and open a new one, you can just push new commits to the same branch and they'll show up. And if you still have things to change before a reviewer can actually start reviewing the code, you can mark the PR as draft.

Apologies it was late and I auto synced the fork which force closed the PR. My bad will be more vigilant moving forward.


MF-1378 - Update dependencies

Signed-off-by: dusanb94<EMAIL_ADDRESS>What does this do?
This pull request updates Mainflux services dependencies.
Which issue(s) does this PR fix/relate to?
This pull request resolves #1378.
List any changes that modify/break current functionality
There are no such changes.
Have you included tests for your changes?
No, but I did manual testing.
Did you document any new/modified functionality?
N/A.

Codecov Report

Merging #1379 (d36c0a8) into master (530f925) will increase coverage by 0.02%.
The diff coverage is 72.05%.

@@            Coverage Diff             @@
##           master    #1379      +/-   ##
==========================================
+ Coverage   67.51%   67.54%   +0.02%
==========================================
  Files         121      121
  Lines        8408     8408
==========================================
+ Hits         5677     5679       +2
+ Misses       2216     2214       -2
  Partials      515      515

Impacted Files
Coverage Δ

bootstrap/service.go
74.34% <ø> (ø)

things/redis/channels.go
64.70% <25.00%> (ø)

twins/redis/twins.go
41.46% <38.46%> (ø)

things/redis/things.go
66.66% <40.00%> (ø)

bootstrap/redis/producer/streams.go
92.95% <75.00%> (ø)

bootstrap/api/endpoint.go
100.00% <100.00%> (ø)

things/redis/streams.go
92.66% <100.00%> (ø)

things/service.go
69.50% <0.00%> (+1.41%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #1379 (ab3d722) into master (530f925) will increase coverage by 0.27%.
The diff coverage is 73.56%.

@@            Coverage Diff             @@
##           master    #1379      +/-   ##
==========================================
+ Coverage   67.51%   67.79%   +0.27%
==========================================
  Files         121      121
  Lines        8408     8423      +15
==========================================
+ Hits         5677     5710      +33
+ Misses       2216     2196      -20
- Partials      515      517       +2

Impacted Files
Coverage Δ

bootstrap/service.go
74.34% <ø> (ø)

things/redis/channels.go
64.70% <25.00%> (ø)

twins/redis/twins.go
41.46% <38.46%> (ø)

things/redis/things.go
66.66% <40.00%> (ø)

bootstrap/redis/producer/streams.go
92.95% <75.00%> (ø)

readers/influxdb/messages.go
79.72% <78.94%> (+4.54%)
:arrow_up:

bootstrap/api/endpoint.go
100.00% <100.00%> (ø)

things/redis/streams.go
92.66% <100.00%> (ø)

things/service.go
69.50% <0.00%> (+1.41%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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


fix(stoneinteg-761): update integration grafana dashboards

A follow up to work done in STONEINTG-761 ,
metrics were removed from instagration-service grafana dashboard ,
this PR is about update the kustomization to point to latest integration-service

/approve
/lgtm

/approve
/lgtm

@kasemAlem we don't merge PRs manually in this repo, tide is responsible to do it


fix(transfer): save account after appending new message

Description of change
Persist account changes after transfer.
Links to any relevant issues
N/A
Type of change

Bug fix (a non-breaking change which fixes an issue)

How the change has been tested
CLI Wallet.
Change checklist

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have checked that new and existing unit tests pass locally with my changes

@lucasfernog Some tests failing.

@lucasfernog Some tests failing.