Feature Request: Optionally don't line break on short IF or CASE WHEN statements

Describe the Feature
For short IF statements (I guess shorter than the Expression width setting) keep it one a single line
Why do you want this feature?
Using 5 lines for this short IF is more than I think should be used:
IF( full_carton_ind = "Y", "Full Carton", "Voice Picking" ) line_type,
vs
          IF(
          full_carton_ind = "Y",
          "Full Carton",
          "Voice Picking"
          ) line_type,

Ah, It works, on that query, but I have a longer CASE WHEN, but... I think CASE WHEN is probably wordy enough to keep behaviour as it currently is.


streams with audiotracks only are not recorded and give any data on ondataavailable event

I am creating a stream object from MediaStream API. and also I add an audio track to this stream. when i recorded it using MediaStreamRecorder i did not get any data on ondataavailable. But when i add both audio track and video track it works well. Please help me to figure this out
const stream = new MediaStream();
const audioTrack =  // get audio tracks from a stream.
stream.addTrack(audioTrack);

const recorder = new MediaStreamRecorder(stream);

recorder.ondataavailable = function(){
 // not even call
}

I have the same problem.

Id also like to know if anyone’s found a work around

same here
please help


Fixed missing definition of run-method in the docs

I think there was a missing definition of the run-method in the docs.

Coverage remained the same at 43.167% when pulling 0a1110b1f7ebf2b98859ec0900c0bb2731399c8d on timtegeler:master into 55e6f896c857bddc58fcc9af48606d2b0b23b740 on Codegyre:master.

Thanks.


Event Tables and Pattern

Hi @suhothayan
I want to store some data into siddhi so that I can use it in further for the filter condition.
So I go for the tables and query like -
define table MyTable(name string, signatureId string); from firewallStream[MyTable.name == name in MyTable] select 'AAAAAAAA-BBBB-BBBB-BBBB-AAAAAAAAAAAA' as ruleId insert into outputStream
Above query works fine. I want a query like this -
from every e1=firewallStream[MyTable.name == name in MyTable]<3> -> e2=firewallStream [MyTable.signatureId == signatureId in MyTable]<2> within 2 min select 'AAAAAAAA-BBBB-BBBB-BBBB-AAAAAAAAAAAA' as ruleId insert into outputStream
Got the NullPointerException -

Caused by: io.siddhi.core.exception.SiddhiAppCreationException: Error on '5ef1da67-cb01-4e5b-9b31-60ae27d7c534' @ Line: 3. Position: 60, near 'MyTable.name == name in MyTable'.
at io.siddhi.core.util.ExceptionUtil.populateQueryContext(ExceptionUtil.java:43)
at io.siddhi.core.util.parser.ExpressionParser.parseExpression(ExpressionParser.java:553)
at io.siddhi.core.util.parser.SingleInputStreamParser.generateProcessor(SingleInputStreamParser.java:181)
at io.siddhi.core.util.parser.SingleInputStreamParser.parseInputStream(SingleInputStreamParser.java:125)
at io.siddhi.core.util.parser.StateInputStreamParser.parse(StateInputStreamParser.java:171)
at io.siddhi.core.util.parser.StateInputStreamParser.parse(StateInputStreamParser.java:397)
at io.siddhi.core.util.parser.StateInputStreamParser.parse(StateInputStreamParser.java:266)
at io.siddhi.core.util.parser.StateInputStreamParser.parse(StateInputStreamParser.java:230)
at io.siddhi.core.util.parser.StateInputStreamParser.parseInputStream(StateInputStreamParser.java:115)
at io.siddhi.core.util.parser.InputStreamParser.parse(InputStreamParser.java:94)
at io.siddhi.core.util.parser.QueryParser.parse(QueryParser.java:136)
at io.siddhi.core.util.parser.SiddhiAppParser.parse(SiddhiAppParser.java:254)
at io.siddhi.core.SiddhiManager.createSiddhiAppRuntime(SiddhiManager.java:82)
at io.siddhi.core.SiddhiManager.createSiddhiAppRuntime(SiddhiManager.java:92)
at org.apache.flink.streaming.siddhi.operator.AbstractSiddhiOperator$QueryRuntimeHandler.(AbstractSiddhiOperator.java:121)
at org.apache.flink.streaming.siddhi.operator.AbstractSiddhiOperator.onEventReceived(AbstractSiddhiOperator.java:420)
at org.apache.flink.streaming.siddhi.operator.AbstractSiddhiOperator.processElement(AbstractSiddhiOperator.java:212)
at org.apache.flink.streaming.runtime.io.StreamInputProcessor.processInput(StreamInputProcessor.java:202)
at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:105)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:300)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:704)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at io.siddhi.core.util.parser.MatcherParser.constructMatchingMetaStateHolder(MatcherParser.java:64)
at io.siddhi.core.util.parser.ExpressionParser.parseExpression(ExpressionParser.java:481)
... 20 more

Any Idea, I want to store some list type objects which will filter my query as we do with 'IN' tables query. How can I do that?
Siddhi Version - latest
Please help me with this ASAP.

@pranjal0811 Sorry for the late reply.
It is not possible to join event tables within the pattern query. It is not supported by Siddhi.

Any Idea, I want to store some list type objects which will filter my query as we do with 'IN' tables query. How can I do that?

One option would be to store the values as individual rows in a DB table then query them (with event tables) and check out the count of the output records.
Siddhi query API might help as well.

Please explain the complete use case if above comment is not useful.

@mohanvive let consider I have the pattern query for the brute-force attack, which says that If 5 failure attempt followed by 1 success event then generates the signal. So, the general query would be like this - from every e1=firewallStream[type == 'Failure']<5> -> e2=firewallStream [type == 'Success']<1> within 2 min select 'AAAAAAAA-BBBB-BBBB-BBBB-AAAAAAAAAAAA' as ruleId insert into outputStream
But If I want to add more conditions within the pattern, Say Some IPs are from my domain and don't want to generate the signal for that.
If there is only 1 IP then we could write the query like this -
from every e1=firewallStream[type == 'Failure' and src != '<IP_ADDRESS>']<5> -> e2=firewallStream [type == 'Success' and src != '<IP_ADDRESS>']<1> within 2 min select 'AAAAAAAA-BBBB-BBBB-BBBB-AAAAAAAAAAAA' as ruleId insert into outputStream
But If I have multiple IPs which is around 100 IPs so I have to write the query like this -
from every e1=firewallStream[type == 'Failure' and src != '<IP_ADDRESS>' and src != '<IP_ADDRESS>' and src != '<IP_ADDRESS>' and .............]<5> -> e2=firewallStream [type == 'Success' and src != '<IP_ADDRESS>' and src != '<IP_ADDRESS>' and src != '<IP_ADDRESS>' and .............]<1> within 2 min select 'AAAAAAAA-BBBB-BBBB-BBBB-AAAAAAAAAAAA' as ruleId insert into outputStream
My question is Somehow we can create the object like - myIps = [<IP_ADDRESS>,<IP_ADDRESS>,........] so that we can directly use myIps anywhere in the query. So have to register myIps in the siddhi internal states. Like we do with the tables.
If I write the custom function extension and maintains the states of myIPs which I can use in the pattern but in the filter condition itself so that the pattern will not get any such data which is not relevant to my rule. Or there is a way to broadcast the state across the siddhi runtime. And then myIPs will behave like my custom object which is reserved and also have the support for CRUD operations on that.

Hi, I was hoping if there is a solution for this?
I have a few cases that require this. for eg.
from input_stream[key == 'ABCD' or key == 'EFGH'or key == 'XYZ'.......] select key, someValue insert into
outputStream

Would have been nice if I could just create a table/list with the possible values of key and just do [key in table.key], but the table does not provide an easy way to insert hardcoded values. For example, something like this would have been nice.
keyList = ['ABCD', 'XYZ', 'PQRS'......]
from input_stream[key in keyList] select key, someValue insert into outputStream

However, is there a way to deal with time-window queries based on keys. eg.
Detect if an event comes in a time duration or not after the last event came in.
keyList = ['ABCD', 'XYZ', 'PQRS'.....]
from not inputStream[key in keyList] for 20 sec select satisfiedKey insert into outputStream;
from every f1=inputStream[key inkeyList] -> not inputStream[f1.key == key]
for 20 sec select f1.key as key insert into outputStream

or
keyList = ['ABCD', 'XYZ', 'PQRS'.....]
from inputStream[key in keyList]#window.time(1 min) select key, count(key) as countKey insert into secondStream;
fromsecondStream[countKey > 5] select key insert into outputStream;

Could we restrict that the same key gets compared to the same key ('ABCD' with 'ABCD')  when using a table/list.
Also, is there a way to identify which key satisfied this condition for missing events?
Right now, I have to create multiple rules for each of these but with a different key
eg.
from not inputStream[key == 'ABCD'] for 20 sec select 'ABCD' as key insert into outputStream;
from every f1=inputStream[key =='ABCD'] -> not inputStream[f1.key == key]
for 20 sec select f1.key as key insert into outputStream;

from not inputStream[key == 'XYZ'] for 20 sec select 'XYZ' as key insert into outputStream;
from every f1=inputStream[key =='XYZ'] -> not inputStream[f1.key == key]
for 20 sec select f1.key as key insert into outputStream;

from not inputStream[key == 'PQRS'] for 20 sec select 'PQRS' as key insert into outputStream;
from every f1=inputStream[key =='PQRS'] -> not inputStream[f1.key == key]
for 20 sec select f1.key as key insert into outputStream;

and
from inputStream[key == 'ABCD']#window.time(1 min) select key, count(key) as countKey insert into secondStream;
fromsecondStream[countKey > 5] select key insert into outputStream;

from inputStream[key == 'XYZ]#window.time(1 min) select key, count(key) as countKey insert into secondStream;
fromsecondStream[countKey > 5] select key insert into outputStream;

from inputStream[key == 'PQRS']#window.time(1 min) select key, count(key) as countKey insert into secondStream;
fromsecondStream[countKey > 5] select key insert into outputStream;

Let me know if you need further clarifications

Hi @madhurijain97 , you can use custom function extension for creating your own keylist. For eg
from inputstream[custom:keyList(key)]#window.time(1 min) select..
In your function definition you can use any logic which you want. You can also make connection inside your function by your data store where you want to check if key exists there or not.
Check this out for same custome extension https://github.com/siddhi-io/siddhi/blob/master/modules/siddhi-core/src/test/java/io/siddhi/core/ConcatFunctionExtension.java


Error: Could not find or load main class org.apache.activemq.artemis.boot.Artemis

I have created my own version of Docker file using yours and i get the below error when i tried to build the image
Error: Could not find or load main class org.apache.activemq.artemis.boot.Artemis
Any idea ?

Sorry can't help with child images, specially without sharing the DockerFile.


Automatic deploy via CI/CD (hopefully Vercel)

@addyosmani
I think the repository is not configured with CI/CD integration.
I think we can use Vercel as it's a Next.js project, although we used Netlify during the development.

As part of moving the repo over to TasteJS, I've re-setup our CI/CD just now via Netlify so future PRs should get preview builds against them too.
Re: Vercel - I'm certainly not opposed to using Vercel for CI/CD but may need to explore if we can get a paid account there to do so.

@addyosmani
Thank you for letting me know.
One thing I'd like to add is our project is an SSG (static site generation) but if we may want to apply SSR, we would have to figure out how to deploy an SSR project in Netlify. In Vercel, it's supported by default.


var body: some View {                  NavigationView{             Form{                                Section{                     Picker("Units" ,selection: $Unit){                         ForEach(units , id: \.self){                             Text($0 , format: .number)                         }                     }                     .pickerStyle(.segmented)                 }header: {                     Text("From:")                 }                 Section{                     Picker("Units", selection: $Unit){                         ForEach(units , id: \.self){                             Text($0, format: .number)                         }                     }                 }             }         }                  }

Describe the bug
A clear and concise description of what the bug is.
Steps To Reproduce
Steps to reproduce the behavior:
1.
2.
...
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please fill out the following information)

OS: [e.g. macOS 11.0]
Xcode Version/Tag/Branch:

Additional context
Add any other context about the problem here.

var body: some View {

    NavigationView{
        Form{

            Section{
                Picker("Units" ,selection: $Unit){
                    ForEach(units , id: \.self){
                        Text($0 , format: .number)
                    }
                }
                .pickerStyle(.segmented)
            }header: {
                Text("From:")
            }
            Section{
                Picker("Units", selection: $Unit){
                    ForEach(units , id: \.self){
                        Text($0, format: .number)
                    }
                }
            }
        }
    }

}

Closing in favor of #61069 (resubmission).


[tools] Fix build test discovery (not enough arguments)

find_tests() invocation requires platform and toolchain arguments

@bridadan Please review

Good catch @zgoda, thanks for looking at this!

Can one of the admins verify this patch?

Tried with NUCLEO_F103RB:
Build successes:
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-BASIC_TEST
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-BASIC_TEST_DEFAULT
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CASE_ASYNC_VALIDATE
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CASE_CONTROL_ASYNC
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CASE_CONTROL_REPEAT
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CASE_SELECTION
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CASE_SETUP_FAILURE
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CASE_TEARDOWN_FAILURE
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-CONTROL_TYPE
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-MINIMAL_ASYNC_SCHEDULER
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-MINIMAL_SCHEDULER
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-TEST_ASSERTION_FAILURE_TEST_SETUP
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-TEST_SETUP_CASE_SELECTION_FAILURE
  * NUCLEO_F103RB::GCC_ARM::FEATURES-FRAMEWORKS-UTEST-TESTS-UNIT_TESTS-TEST_SETUP_FAILURE
  * NUCLEO_F103RB::GCC_ARM::MBED-OS
  * NUCLEO_F103RB::GCC_ARM::TESTS-INTEGRATION-BASIC
  * NUCLEO_F103RB::GCC_ARM::TESTS-INTEGRATION-THREADED_BLINKY
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-MBED-ATTRIBUTES
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-MBED-CALL_BEFORE_MAIN
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-MBED-CPP
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-MBED-DIV
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-BASIC
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-ISR
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-MAIL
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-MUTEX
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-QUEUE
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-SEMAPHORE
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-SIGNALS
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-THREADS
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBEDMICRO-RTOS-MBED-TIMER
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-CALLBACK
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-C_STRINGS
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-DEV_NULL
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-ECHO
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-GENERIC_TESTS
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-RTC
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-STL_FEATURES
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-TICKER
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-TIMEOUT
  * NUCLEO_F103RB::GCC_ARM::TESTS-MBED_DRIVERS-WAIT_US

Build skips:
  * NUCLEO_F103RB::GCC_ARM::TESTS-STORAGE_ABSTRACTION-BASICAPI

But it fails with a target that does not support RTOS, eg. BLUEPILL_F103C8. Tries to compile RTOS lib and fails because
        Compile: RTX_Conf_CM.c
        [Error] RTX_Conf_CM.c@65,6: #error "no target defined"
        [Error] RTX_Conf_CM.c@105,6: #error "no target defined"
        [Error] RTX_Conf_CM.c@269,6: #error "no target defined"

I think "needs:work" is appropriate here.

@bridadan Happy with this?

@zgoda Please see my comment from above about how tests are dependent on the target and toolchain now.
@0xc0170 The current solution will pickup incorrect tests for certain platforms (ex. IPV4 tests for targets that don't have an LWIP implementation). So not quite ready to merge.

#2429 has been merged. is this PR still needed?

#2429 Should be a suitable replacement for this, I think it's ok to close this one. If you feel differently @zgoda feel free to say so.

@zgoda I'm closing this. If it should stay open or any further work done, please reopen. Thanks for understanding


[Bounce] [Reviewed] Add "Bounce Count" property (and simplified wording)

Playable game
https://gd.games/victrisgames/common-hair--breakout-
Project files
BounceCount.zip
Video
https://user-images.githubusercontent.com/8879811/230795866-68270ecb-ef07-4033-91c8-9280b5e1d122.mp4

Are you sure you used the last version of the extension?

Are you sure you used the last version of the extension?

Good catch.  I made the mistake (again) of starting from the version in the game example repo.
I have imported the current extension and then applied my changes.

Why did you close it?

I have no idea, it was not intentional. I have reopened this PR.


Lint Molecule files with ansible-lint

Also includes a few other minor cleanups to dotfiles

@ablbot rebase

I had to add a14c846, mind taking another look @rco-ableton ?

@ablbot autosquash

@ablbot runci


Support for casks from other repos

Hi. I'd like to use brew-nix to install casks from repos other than https://github.com/Homebrew/homebrew-cask, like https://github.com/nikitabobko/homebrew-tap for example.  I'm ignorant about all this, so I don't know if this is easy or hard or impossible to support 🌞.
Thanks!

I am not affiliated with this repo, but I think to achieve this, you would have to parse tap repos and .rb files manually. the brew-api repo just pulls the .json from the main homebrew repo, but such an API doesn't seem to exist for taps.

As @MatthiasGrandl said, its not possible without rewriting how the project works


TypeError: 'type' object is not subscriptable   - while running on a docker container

I am trying to user this library inside a docker container, As soon as i am importing, it throws an error
from dialogflow_log_parser.es import response_to_dict
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.7/site-packages/dialogflow_log_parser/init.py", line 1, in
from . import es
File "/usr/local/lib/python3.7/site-packages/dialogflow_log_parser/es/init.py", line 1, in
from . import parser
File "/usr/local/lib/python3.7/site-packages/dialogflow_log_parser/es/parser.py", line 2, in
from .logic import response_conf_logic, response_hocon_logic
File "/usr/local/lib/python3.7/site-packages/dialogflow_log_parser/es/logic/init.py", line 1, in
from .conf_logic import ResponseConfLogic
File "/usr/local/lib/python3.7/site-packages/dialogflow_log_parser/es/logic/conf_logic.py", line 5, in
class BaseConfLogic():
File "/usr/local/lib/python3.7/site-packages/dialogflow_log_parser/es/logic/conf_logic.py", line 9, in BaseConfLogic
def get_indeices_of_regex(self, config_list: list[str], regex: str):
TypeError: 'type' object is not subscriptable

I think this error was because of "type hinting generics", which was introduced in python 3.8 only and i was using python 3.7 on that docker container.


update R code to work with new database structure

Database structure has been modified a bit; @mmw590's R code may need to be modified to run correctly.

Hi @teixeirak I'd also be happy to do this--it would be a good way to get my feet wet so to speak.
Ben

That would be great, @bpbond, but with the caveat that I'm currently revising the disturbance history, so there are some more changes to come. I will try to get all this up on Github ASAP, but in the meantime feel free to contact me with questions.


Hook for Field Middleware that trigger when all of the subgraph is evaluated

Product
Hot Chocolate
Is your feature request related to a problem?
So,
I've been experimenting with builder patterns in mutations, not something I've seen before, but it makes sense
mutation X {
  # not TransactionScope
  withTransaction {
     SomeTask( ... )
     SomeOtherTask( ... )
  }
}

... and for withTransaction it would be great if I can hook into an event where all of the sub-tree is resolved.
Using normal middleware, I can only observe before the result from withTransaction and the actual result from withTransaction, but not wait, or know when the subtree is resolved. Maybe there's a way? I've tried RegisterCleanup(), or even implementing IDisposable/IAsyncDisposable to no avail.
Just a thought. Not a critical issue.
The solution you'd like
Similar to RegisterForCleanup(), but still in the scope of evaluation, so that errors can be properly emitted;

being able to register for a callback when all of the sub graph is started to resolve (i.e, all async fields have at least been called, but not fully awaited)
being able to register for a callback when all of the sub graph is fully resolved and awaited.

This is not graphql spec conform an violates the execution principals. Mutations are only toplevel in graphql


Merge pull request #1 from ctripcorp/master

github fork后更新合并

Coverage remained the same at 52.231% when pulling 4ea351e0a694f9baf08a11f1d3da5166c0ce9175 on jiji87432:master into 0733f18c13789fa5cf5d072445605e1bda10efd9 on ctripcorp:master.

merge的方向搞反了吧。。


🚀 : Delete unused attributes in database

Is your feature request related to a problem? Please describe.
The problem is that there are unused attributes in our database collections which are taking up unnecessary space and potentially slowing down operations.
Describe the solution you'd like
I propose we delete the following unused attributes:

From the 'users' collection:

profilePhoto
otherPhotos

From the 'messages' collection:

audio
image

Describe alternatives you've considered
An alternative solution could be to archive these attributes instead of deleting them, in case we need to reference them in the future. However, this would still take up space and may not be necessary.
Additional context
Cleaning up our database by removing these unused attributes will help improve the efficiency of our operations.
If you agree with this proposal, please react with 🚀 to speed up the process of this issue.

This issue has been fixed but it causes a problem about rewriting old profilePictures and otherPictures.

📢 Important Update: We've restored profiles from our latest backup to resolve an storage images issue. Thanks for your patience! 🙌 #BugFix #Update #Tech

Done!


docs: Configure keycloak 18 dns resolution

@yelhouti. Thanks for your contribution. Since the change applies to the upcoming JHipster version (yet not released), I will put this on hold for now.

of course thanks

It seems to be not required anymore. Can we close @yelhouti ?

Indeed yes please go ahead


Multithreading with PointNeighbors.jl and Polyester

There are differences in performance (see https://github.com/kaipartmann/Peridynamics.jl/pull/107#issuecomment-2182414620) that seem to be related to combining Polyester.@batch and Base.Threads.
PointNeighbors.jl uses Polyester.@batch within the @threaded macro.
With threaded_nhs_update=true and changing all Threads.@threads calls in Peridynamics.jl, the following differences occur for the benchmark in https://github.com/kaipartmann/Peridynamics.jl/pull/107#issuecomment-2182414620:
# `@threads :static`
#  49.821336 seconds (2.93 M allocations: 3.263 GiB, 0.13% gc time)

# `@threads`
#  27.514394 seconds (2.92 M allocations: 3.262 GiB, 0.39% gc time)

# `Polyester.@batch`
#  11.450976 seconds (2.34 M allocations: 3.199 GiB, 0.49% gc time)

Originally posted by @kaipartmann in https://github.com/kaipartmann/Peridynamics.jl/issues/107#issuecomment-2182525712

@efaulhaber

Closed with #153.


chore: update rust bindings

I found that the test in binding cannot pass, so I update it
maybe the repo need base ci? like dependencybot and rust check?

yeah, I will set up the CI later when i have access to my laptop at the weekend.

I think you need to include the scanner.c file in the binding also.

I think you need to include the scanner.c file in the binding also.

ha, thanks. I have foggetten that


Clean the script to make it more readable

The current script is messed up, we can split them to individual functions and add docstrings as well.

Working on this now!

Thanks !

A request, please make this 4 spaces tab. The 8 spaces tab messes up my system.

Is it 8 ? Damn, 8 is too much 😞

Yeah. It is showing 8 on my system. By the way do use Windows/Mac? The tabs are really messed up in my system.

Will do

I use linux majorly and sometimes windows, but this project i did on windows i think @FadedCoder, code current;y looks ugly and has messed up indentation/spacing/newlines, hence opened this.

There are also a number issues with the code when it's run on different platforms, for example the parser that bs4 uses for lxml has issues when run on osx (and maybe linux). I'm resolving all of this now, I'll have a pull request soon.

Thanks so much for you hard work @NikolaJankovic 👍

I guess this issue should be closed, @anshumanv?

Thanks for the reminder @FadedCoder


How to Get Distance and Time Estimate

Hi Alex , I want to get Time Estime  , Distance in KM using this library how to get it please help me I'm new in android

The library does not currently support that.  Will think about restructuring so that such data can be returned.

The Google Maps Distance Matrix API have been released. Hope you can add the Get Distance and Time Estimate function into the app. Thanks!
https://developers.google.com/maps/documentation/distance-matrix/intro#Introduction
https://www.youtube.com/watch?v=tXPEOJaeFm8


Show zero instead of empty cell

Hi
Thanks for all contributors in this lovely project.
How to show zero instead of empty cells

show full example

Updating an old issue: this aesthetic choice has been reversed, and zeros are always displayed now when there is data in the cell (i.e. 'count' will never show zero because there is nothing to count).


TRACKING - remove distribution owned docs from website

This issue was spawned from the discussions raised in PR #3004.

Some time ago, the community agreed that distributions would "be owned and maintained outside of Kubeflow".
We have already removed distribution-owned YAML from kubeflow/manifests, we should now also remove the distribution-owned docs from kubeflow.org.
NOTE: It is important that we get started on this soon to minimize disruption of the “Certified Kubeflow” program.
As once this program is implemented, distributions will need to be certified if they wish to be linked on kubeflow.org.
Deadline for Removal - February 1st, 2022
Proposed Plan:

Update the "Installing Kubeflow" table with links to each distribution's nominated "external website":

(Most active distributions already have their own "external website" or GitHub repo that can serve this purpose)

Remove the distribution-owned docs from kubeflow.org:

(Target February 1st, 2022 (70 days) for removing any remaining distribution docs)
(We can prevent 404 errors by redirecting existing docs pages to their "external websites")
(As "Kubeflow on AWS" and "Kubeflow on Azure" are abandoned, and thus unlikely to set up an "external website", we can move the still-relevant information into the ./docs/ folder of the kubeflow/manifests repo, and update the kubeflow/manifests installation guide with links to this)

Tracking Table:

Name
Docs Path
OWNERS
PR to Remove
Status

Kubeflow on AWS
docs/distributions/aws
@Jeffwan @PatrickXYS
#3233
✅

Kubeflow on Azure
docs/distributions/azure
@aronchick @berndverst @eedorenko @sudivate
#3547
❌

Kubeflow Charmed Operators
docs/distributions/charmed
@RFMVasconcelos @knkski @DomFleischmann
#3148
✅

Arrikto Enterprise Kubeflow
docs/distributions/ekf
@kubeflow/arrikto
#2641
✅

Kubeflow on Google Cloud
docs/distributions/gke
@gkcalat  @zijianjoy
#3419 (redirect) #3548 (remove)
❌

Kubeflow on IBM Cloud
docs/distributions/ibm
@animeshsingh @Tomcli @shawnzhu @yhwang
#3546
❌

MicroK8s Kubeflow add-on
docs/distributions/microk8s
@RFMVasconcelos @knkski @evilnick @DomFleischmann
#3148
✅

Arrikto MiniKF
docs/distributions/minikf
@kubeflow/arrikto
#3247
✅

Kubeflow on Nutanix Karbon
docs/distributions/nutanix
@johnugeorge @deepak-muley
#3473
✅

Kubeflow on OpenShift
docs/distributions/openshift
@vpavlin @crobby @nakfour @pdmack @animeshsingh
#3518
✅

Kubeflow Operator
docs/distributions/operator
@animeshsingh @adrian555 @animeshsingh @shawnzhu
#3545
❌

Argoflow
N/A
N/A
N/A
✅

/priority p1

@thesuperzapper  you should also highlight here how a user will reach to these distro specific documentation.
I believe most of the KubeFlow users uses one of these distro (or cloud provider).  We need to take care of those user well.

@goswamig you are correct, but the decision of what "external link" will be listed in the Getting Started / Installing Kubeflow table, will be up to the maintainers of that distribution.
For example, they might choose to link directly to their GitHub repo, or to their documentation website.

@thesuperzapper Are there any restrictions on the pictures and wordings we can use in our documentation website? Since the distribution websites are going to be outside of Kubeflow.

@thesuperzapper Are there any restrictions on the pictures and wordings we can use in our documentation website? Since the distribution websites are going to be outside of Kubeflow.

DISCLAIMER: This is not legal advice.
@Tomcli I would argue that most of these distributions already meet the definition of "outside Kubeflow", it's just that we are hosting their docs on kubeflow.org for some reason.
You may want to review Google's brand guidelines for Kubeflow, but any questions about those should be directed at Google.

@thesuperzapper can you change the following wording related to Kubeflow on AWS

As "Kubeflow on AWS" are abandoned

It might mislead AWS users, Kubeflow on AWS is not abandoned. Documentation is not updated to the latest version 1.4 and we are working on it. Here are the tracking issues:
https://github.com/awslabs/kubeflow-manifests/issues/27
https://github.com/awslabs/kubeflow-manifests/issues/26

@zijianjoy @james-jwu mentioned today that google will need more time to move their docs, so this is just a ping to ask them to comment here on the timeline they need.

Checking in from AWS side. We have started working on this and will complete this in phases. As part of Phase 1 and Kubeflow 1.3.1 update (see #3166), we are moving most of the deployment and customizing Kubeflow on AWS related documentation to the new Github repository as we figure out the legal and marketing side of things to acquire a new website.

AWS distribution documentation is now hosted on external website: https://awslabs.github.io/kubeflow-manifests/

OpenShift distribution documentation will be relocated to https://github.com/opendatahub-io/manifests

A quick update for everyone is that we are almost finished with this issue!
The remaining PRs are:

remove legacy "kubeflow operator" docs: https://github.com/kubeflow/website/pull/3545
redirect ibm distribution docs to new website: https://github.com/kubeflow/website/pull/3546
redirect azure distribution docs to new website: https://github.com/kubeflow/website/pull/3547
remove shadowed gke distribution docs: https://github.com/kubeflow/website/pull/3548

We are now only one PR away from getting this closed out!
Once https://github.com/kubeflow/website/pull/3572 is merged, the distribution section will be removed from the sidebar, and old links will be redirected to the external websites!


Add useActiveWorkspaceFromNavigationState

cc: @parasharrajat
Details

This PR fixes an issue where the Expensify icon is displayed instead of the currently selected workspace icon after the app is refreshed.
Fixed Issues

$ https://github.com/Expensify/App/issues/39936
PROPOSAL:
Tests

[ ] Verify that no errors appear in the JS console

Open New Expensify and log in.
Click on the workspace switcher.
Select another workspace.
Refresh the page.
Verify that the icon of the selected workspace is displayed on the workspace switcher.

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: mWeb Chrome

https://github.com/Expensify/App/assets/47774969/d4a05b2e-05ab-4f68-ac40-20cab1e2f63f

iOS: mWeb Safari

https://github.com/Expensify/App/assets/47774969/add0aa63-95b6-47be-94a7-becca7c9ae3a

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/47774969/3e7d5d94-1fed-4c69-aeb2-4ee4e373c25e

MacOS: Desktop

https://github.com/Expensify/App/assets/47774969/bafc6bd8-cff0-4655-97eb-2b975f7b2c4c

Looking good to me! 🎸

@roryabraham It's ready :)

more conflicts

more conflicts

Fixed 🙏

lint and tests failing, bad merge

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.4.74-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR caused this regression https://github.com/Expensify/App/issues/42190#issuecomment-2112679058

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.4.74-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


docs(EventController): onGesture and offGesture corrections

updates onGestures and offGesture methods to be correct.

thanks!


HTTP/1.1 responses w/o Content-Length or Transfer-Encoding

Fixes isssue noted on list; HTTP/1.1 responses that don't have Content-Length or Transfer-Coding cause a parse error.
See:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4  (#5)
... and its successor-in-the-making:
http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-12#section-3.3   (#6)

Closing, as I believe this was fixed by #72. Mark, please re-open if you disagree.

Oops, sorry, I did not notice this.


Location Services not configurable enough

Our current system tries three systems to try and ascertain what country the visitor comes from.
This potentially could work for systems that fall within these kind of usage limits, but in systems with higher numbers of visitors, this could be more problematic.
We should provide configuration options that allows people to use the services we've coded for using an API key for their paid product and provide an easy (documented) way for them to host their own service.

Being fixed in #153

Fixed in #153.


Fix old name OS X -> macOS

Hey @hungrxyz !
Thanks a lot, guess I'm too used to the old name 😅 Merging now, take care !

@glouel My OCD made me fix it for you. Thanks for taking care of it. 😄


Getting started example does not work

Hi!
I first followed the getting started section on the website and it looks like the list of posts is always empty (the posts prop).
I then trying to clone and run the getting started example and same, the list is empty on the example.
Am I doing something wrong or the example is broken?
Thanks :)

Yeah really sorry about that. I need to cut a new release as docs reflect a minor breaking change in master. See https://gitter.im/phenomic/phenomic?at=5ae9c69cf2d2d53704593c22

I will leave it open until I cut a release, which you can expect in the coming hours/days depending on the mess in my life :)

Ahah, got it working with the branch docs thanks :)


Images are just smal icons in png

Are you loading other images with FF? If so make sure you set your priorities properly to prioritize local images before remote images.

RE : Yes
If so make sure you set your priorities properly to prioritize local images before remote images.
RE:
How do I do this?
Added
.WithPriority(LoadingPriority.Highest)
did not help
Placeholders from ApplicationBundle
.LoadingPlaceholder(localPath, ImageSource.ApplicationBundle);
are displayed correct, but I want them and the images loaded from file.

@jorgenstorlie

Could you define "slow"? Are you loading the same image multiple times ar are these different images?
Do you use custom FFImageLoading configuration?
If placeholders images are not shown, do you specify it correctly? There should be some logs if there are errors. Could you provide it?

I missed this:

seems to work now


Update _llm_openai.py

For initializing the llm_async_client by user passed value(base_url、api_key、model)
we also need to pass the base_url info to AsyncOpenAI. Otherwise, we cannot initialize an llm_async_client with a customized oai-api like service.
This commit just passing the base_utl to AsyncOpenAI

Thanks for this, I completelty missed that :(
I also added it to the embedder


Auth and Guest middleware redirects when fails

Am I wrong to say that these redirects should be related to authentication guards somehow?
Auth::guard($guard)->check() obviously depends on $guard, so why just put redirect('/') there  instead of something related to that $guard, e.g redirect(Auth::guard($guard)->redirects['check']) which make the redirection more meaningful?
For example I have two drivers frontend and backend. That would be great to have redirects configuration on each of them.
'guards' => [
        'frontend' => [
            'driver' => 'session',
            'provider' => 'users',
            'redirects' => [
                'guest' => '/login',
                'check' => '/'
            ]
        ],

        'backend' => [
            'driver' => 'session',
            'provider' => 'admins',
            'redirects' => [
                'guest' => route('backend.getLogin'),
                'check' => '/backend'
            ]
        ],
]

Hope to hear your thought !

I think this would not be his job, but the middleware. how is today.

I think there should be some kinds of default behaviours when failing.

anyway, it is a setting you can make q no impact at all.
You need only retrieve these values in your middleware.


Copy icon moves on horizontal scroll

Installed and configured from https://www.npmjs.com/package/@dovyp/vuepress-plugin-clipboard-copy
When viewing the docs with the plugin enabled, there's the copy icon moves on horizontal scroll and stays there.
The issue was reported before but looks like it's not fixed.
Can you please have a look?

This can be fixed by adding
div[class*="language-"] pre[class*="codecopy-enabled"]
  position: static

to file .vuepress/styles/index.styl


Suggestion: fixed grid mode

WARNING~ VERY LONG POST!
First of all. Take a look at current search results grid:

Different number of images in a row and very different thumbnails size for some sites. Moreover, all images in a row are center-aligned. This grid system is svery different compare to classic fixed system.
The current system is causing some problems too:

Different number of images in a row make more dificult to compare image rows from different sources.
Results from some sources are smaller then the others, and as result, less visible to view.
Results from some sources are much bigger then the others,
Too different space between images from different sources.
Not everyone prefers center-alignment.
And finally, current mode causing situations like this:

Fixed grid mode can solve all these problems.

It's fully predictable(main advantage)
You can easy compare results from different sources, because all rows has the same number of images and all images has the same sizes.
Left-alignment is a classic way of showing results almost on every boorus

Here is comparing two modes with same number of results from same sites:

So I suggest you to add Fixed grid mode to grabber.
Fixed grid mode means following changes:

All images in a rows must me aligned to the left.
All thumbnails has the same fixed size(150x150 is the most common one, but you can make it changable). All thumbnails with different sizes must be auto resized to this size in results grid.
All thumbnails in results for every source must follow the same rules: same space between images, sam images number in the rows. Number of images in the row must can be changed by resizing window. Good example of it is Sankaku site, It can show 20 images page as 5 images in a row for small window and as 8 images in a row for wide window.

wide window

small window

Merged results mode
And one more thing. Fixed grid mode is perfect fits for the merged results mode, besause it shows different images from different sites in one grid, so they anyway need to follow same rules. And using Fixed grid mode for that will solwe all problems connected to displaying merged results. And it will perfectly work with Progressive merged results processing, suggested erlier.
And once again, for guys, who think, that I suggest to replace current grid with fixed grid, I'm repeat:
I'M SUGGEST AN ADDITIONAL MODE, I DON'T SUGGEST ANY CHANGES IN CURRENT GRID MODE HERE.

I don't really have a preference, however, I'll just throw this in there anyway.
Let's say you were going to go with a fixed grid. If you don't want to force cropping at 150x150, you can always scale the image to be 150px high if it's tall or 150px wide if it's fat and then have a bounding box that remains 150x150 to keep the grid on track.

Wouldn't that mode cause a lot of blank space between images, since most of them are not perfectly square?
Wouldn't that make sense for this to be the default behavior when using scrollable results ? Since you're already agreeing to scroll, that doesn't really make sense to have 10x10 images instead of 5x20 vertically (5 = window width / column width).

Let's say you were going to go with a fixed grid. If you don't want to force cropping at 150x150, you can always scale the image to be 150px high if it's tall or 150px wide if it's fat and then have a bounding box that remains 150x150 to keep the grid on track.

That could fix the white space problem, at the cost of cropping the image. However, most images are already bounded at 150x150 pixels server-side, so that would imply to scale them up to then crop them.

And it will perfectly work with Progressive merged results processing, suggested erlier.

That one's already on its way to fixed land. :smile:
PS: the grid items are already left aligned, with their contents centered. So that'd be more:

however, I'll just throw this in there anyway.

Not sure that I can translete it right. I just don't get it. :(

That could fix the white space problem, at the cost of cropping the image. However, most images are already bounded at 150x150 pixels server-side, so that would imply to scale them up to then crop them

Cropping? What? I never even mentioned that, I'm telling about rescaling, without cutting something. Oh come on! Just look at any booru results grid, all images rescaled to 150x150, and there are no users, who have problems with it. So use EXACTLY same grid system, which already uses on almost all boorus will be very native for users(espesially for new users), than current system. Thumbnails from zerochan and yande.re can be easyly rescaled to 150x150 box.

Wouldn't that mode cause a lot of blank space between images, since most of them are not perfectly square?

Well, look at any classic booru: is there too much blank space between images? I think, not. But in current mode there are TOOOOO MUCH SPACE between images sometimes, so obviously here fixed grid mode is prefered.

Wouldn't that make sense for this to be the default behavior when using scrollable results ? Since you're already agreeing to scroll, that doesn't really make sense to have 10x10 images instead of 5x20 vertically (5 = window width / column width).

I don't think, that I fully understood you. You asking about using fixed grid mode as default way of showing results? I don't know here. Many Grabber users like current system. But I can suggest you an intresting solution. You can make an preferring mode settings in first-grabber-setting dialog, and set fixed grid mode as default mode there. Then new users, who expecting to see booru-like grid will see in grabber common for them view, and old Grabber users, who accustomed to current mode will notice nothing and will continue use current mode, but will can change it anytime manyally in settings.

PS: the grid items are already left aligned, with their contents centered. So that'd be more:

PS: Nice paint work, dude) You showed it more correct. And my IMHO that this way of filling rows is the ugliest way ever. Just an opinion)

And one more important thing!
In fixed grid mode little  free space between the images should not be clickable, as it done on booru sites:

I think my description was misunderstood most likely due to language the barrier. I know you didn't mention cropping, I was just describing the alternative to cropping. What I described above was exactly what is pictured in the post above made by @Masterpetrik and ultimately I don't care how it's handled like I said before. Maybe you could allow the user to decide how they want the grid to function.

Your image regarding clickable areas has the fixed grid like how I described it with one difference. The wider images are aligned to top (which I actually like better). That's a perfect example, and maybe the user should be able to decide how they want the display to be in preferences.

Btw, about fixed grid mode constants.
I'm analized booru sites and found their grid structure very good
I suggest you to make fixed grid mode with following constants, to make grid more booru-like:
constants:
images width is 150 px
frame area is 2 px (1 to the left and 1 to the right, 1 to the bottom 1 to the top)
space between images in row is 16 px (8 to the left and 8 to the right) but i guess that this is too much.
I guess is 10 px (5 to the left and 5 to the right) will be enough.
so every image will fill 170px = [8-[2-[150]-2]-8]
or 164px = [5-[2-[150]-2]-5]
frame area - 2px width invisible border around any booru image. It can be colored in yellow, green or another color. for example, if booru has 2 same images, but one of them is PNG and the other is JPG then they will have this border and it will be colored different. So it can be useful in grabber too.

That's a perfect example

Because of it, all boorus uses this variant)

maybe the user should be able to decide how they want the display to be in the program options.

I thought, I wrote clear about it in first post:

And once again, for guys, who think, that I suggest to replace current grid with fixed grid, I'm repeat:
I'M SUGGEST AN ADDITIONAL MODE, I DON'T SUGGEST ANY CHANGES IN CURRENT GRID MODE HERE.

I hate having options, after a while there are too many to keep track of.
On Tue, Apr 11, 2017 at 11:33 PM, MasterPetrik<EMAIL_ADDRESS>wrote:

Btw, about fixed grid mode constants.
I'm analized booru sites and found their grid structure very good
I suggest you to make fixed grid mode with following constants, to make
grid more booru-like:
constants:
images width is 150 px
frame area is 2 px (1 to the left and 1 to the right, 1 to the bottom 1 to
the top)
space between images in row is 16 px (8 to the left and 8 to the right)
but i guess that this is too much.
I guess is 10 px (5 to the left and 5 to the right) will be enough.
so every image will fill 170px = [8-[2-[150]-2]-8]
or 164px = [5-[2-[150]-2]-5]
frame area - 2px width invisible border around any booru image. It can be
colored in yellow, green or another color. for example, if booru has 2 same
images, but one of them is PNG and the other is JPG then they will have
this border and it will be colored different. So it can be useful in
grabber too.
That's a perfect example
Because of it, all boorus uses this variant)
maybe the user should be able to decide how they want the display to be in
the program options.
I thought, I wrote clear about it in first post:
And once again, for guys, who think, that I suggest to replace current
grid with fixed grid, I'm repeat: I'M SUGGEST AN ADDITIONAL MODE, I DON'T
SUGGEST ANY CHANGES IN CURRENT GRID MODE HERE.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Bionus/imgbrd-grabber/issues/883#issuecomment-293463866,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AS2t8F9V5Guk96opcNZ-44H64_v6MZYaks5rvEYmgaJpZM4M6kCK
.

@brodycas3 I understand disliking a lot of options if they cause significant problems or if the program won't work without tediously setting everything just right. Also if the menus are very cluttered I wouldn't like it either. I don't think Grabber has any of these problems though. It works out of the box. The only setting you really have to set is the output directory and the source.
Customization is always a plus in my opinion so long as it's structured well. I'm guessing this one would end up in the interface category which has a lot of things, but you don't have to touch any of them to use the program.

Cropping? What? I never even mentioned that, I'm telling about rescaling, without cutting something. Oh come on! Just look at any booru results grid, all images rescaled to 150x150, and there are no users, who have problems with it. So use EXACTLY same grid system, which already uses on almost all boorus will be very native for users(espesially for new users), than current system. Thumbnails from zerochan and yande.re can be easyly rescaled to 150x150 box.

I was answering barryanders.

Well, look at any classic booru: is there too much blank space between images? I think, not. But in current mode there are TOOOOO MUCH SPACE between images sometimes, so obviously here fixed grid mode is prefered.

My point was that there are other options to fix the spacing problem, such as capping the height and width of images, without always forcing it.

I don't think, that I fully understood you. You asking about using fixed grid mode as default way of showing results? I don't know here. Many Grabber users like current system.

I'm not sure that many users like the current system. It just so happens that most sources return 20 images per page, so it makes sense to show them on a 5x4 grid. I'm not that sure that users who use zerochan wouldn't prefer having a 5x20 grid rather than the current 10x10 grid. If you already have your results scrollable, it does not make sense to have many images on a single line (current layout). Since you already agree to scroll, might as well have all images clearly visible.

And my IMHO that this way of filling rows is the ugliest way ever. Just an opinion

That's also the most basic way. If you make a grid with two images, the total width will be divided by 2, with each image centered inside their cell.

In fixed grid mode little free space between the images should not be clickable, as it done on booru sites:

That's already the case (as said in issue #884.

Your image regarding clickable areas has the fixed grid like how I described it with one difference. The wider images are aligned to top (which I actually like better). That's a perfect example, and maybe the user should be able to decide how they want the display to be in the program options.

Noted, I'll add alignment options when I do it then (same as the ones for the image window).

I hate having options, after a while there are too many to keep track of.

Me too, that's why I'm trying to have as few of them as possible (unlike a few years back when I kept adding dozens of them), but sometimes that's simply unavoidable.

I hate having options, after a while there are too many to keep track of.

Hmm... you answered this on my post with description of grid mode constants?
Anyway you are wrong here.
Because there are only two ways of building your GUI:

Many options. Many functions.
If you making really powerful programm with many functions, you obviously will have many different options. This is software for expiriensed users, who really need all these functional. They can easyly set up software for their needs. This way uses most of specific software, anв almost all opensourse projects(for example look at some other programms with similar functional, Hidrus Network for example, they all have a lot of options too, and this is normal).

Very simple options, poor functional.
This way uses software developers, who develpe software for inexpiriensed users. so their options doesn't contain specific functions, there are no customisation, and list of options is very poor and simple. For example, you can compare options from Paint(very poor and simple) and for example any spesific soft, like Photoshop(many options, many functions). That happens, because inexpiriensed users doesn't use specific functions. And this way is good only for inexpiriensed users.

But! Grabber doesn't have problems with too many options. As @barryanders said, even without visiting settings window inexpiriensed user can easyly use grabber. And experiensed users can use it rich customisation, naming, and DB-connecting potentials. If you are not need some options, there is very selfish to suggest remove some of them. If you don't need it, just don't use it, very easy, isn't it?
Moreover, clever customisation is always a plus for any user-friendly programm. Moreover, rich customisation options is the one of main killer features of grabber. And this is right way of thinking.

That's already the case (as said in issue #884).

Nope. Here it is a part of describing fixed grid mode. There it is suggestion to flow grid mode, I'm specially separated it. Because there are different implementation of it. Here it's just a obvious 150x150 clickable squares, and for flow grid clickable size and form is a debatable question.

Me too, that's why I'm trying to have as few of them as possible

Then you can remove unscrollable results mode, nobody use it anyway, you can even ask anyone, or make a voting, heh. Because anyway all its advantages have scrollable mode.

YOU: Wouldn't that mode cause a lot of blank space between images, since most of them are not perfectly square?

ME: Well, look at any classic booru: is there too much blank space between images? I think, not. But in current mode there are TOOOOO MUCH SPACE between images sometimes.

YOU: My point was that these are other options to fix the spacing problem, such as capping the height and width of images, without always forcing it.

Don't get me wrong, by there examples I don't critisize flow grid mode, or suggest you to do something with blank space in it. I think this is a part of flow grid conception) I'm only answered you to part, where you worried about too much blank space in fixed grid mode. I just showed examples of even bigger blank spaces areas in current mode, showing you that this woulsn't be a problem. Just an answer. Nothing more.

Some tweaks to do, but the basics are here:

I know that this isn't topic of this thread, but I think, if you already decided to improve results grids in 5.2.5, will be good to do also this:
I guess that not very convinient to each time open preview window and only then revers search.
So it will be very useful to add this rightclick menu to all results in results grid window too.
that is what I mean:

connected with https://github.com/Bionus/imgbrd-grabber/issues/754

Looks good. Can you store "min. space between images in a row" value somewhere in options ini file, or even make an option is settings?

It's already been there for a while:

Note that "margin" may be misleading, to clarify it's the space between two columns/rows.

I guess that not very convinient to each time open preview window and only then revers search.
So it will be very useful to add this rightclick menu to all results in results grid window too.

As you said it's already in issue #754, I just haven't decided whether and how to do it.
I don't forget open issues, don't worry. I often go back to "old" issues to check their state, and I have a prioritized backlog of issues to solve. :smile:

Looks great.


Allow the Service Type and ExternalIPs to be set

This accomodates Services which need to be a type other than ClusterIP (such as NodePort, etc).

On second thoughts, special cases can just build the corev1.Service struct directly


Edit WebSocket response

Well, the title says it, is it possible to edit the websocket data after receiving it with OnDataReceived?

No, it is not possible currently.


Add caveat about expression syntax

Why:

For if conditionals, expressions must be explicitly marked for evaluation if they contain any operators.
See github/docs#3001 for context.
What's being changed:

An inaccuracy in documentation about if conditionals implicitly evaluating expressions without needing to enclose with ${{ }}.
Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

@jidicula Thanks so much for opening a PR! I'll get this triaged for review ✨

It looks like our new action inadvertently closed this 🙃 Sorry about that! Reopening and triaging this for review 💛

@janiceilene oh phew, thanks for reopening! 😅

My pleasure @hubwriter !


new_metrics_validation_services

Hi,
I added 2 new metrics that will most likely be used in the validation services.
1: Explained Variation (EV). That on is straight forward. Formula added in docstring.
2: Peak Ratio (PR):

For this one I need an ancilliary function called 'partial_duration_series', very similar to the PoT function from the EVA_editor in Mikezero toolbox (to identify peaks).

The peak ratio then is just the ratio of the mean of model peaks/ measured peaks.

Added scipy to dependencies list

Also added tests

Great - thanks for adding this

Great work. Almost there - see comments and maybe add a few more tests

Answered the comments here (waiting for confirmation) but regarding the tests, all metrics seem to have a single test.
I could add a 2nd test to metrics EV and PR with some expected output, but what other test could it be?

@daniel-caichac-DHI is this PR done in your opinion? You mentioned: "maybe if number of peaks =< 1 then we should return NaN or something like that."... But should we postpone that? Or do you have other things?

I was suppossed to do more tests but I didn't manage as I went on vacations :)

I added  the changes as requested. I did not add on purpose the 'example' of the peak ratio because it needs a timeseries as input (instead of just a numpy array) as it needs to detect the peaks on time, but did add the Explained Variance.


Modernize Python 2 code to get ready for Python 3

Make the minimal, safe changes required to convert the repo's code to be syntax compatible with both Python 2 and Python 3.  There may be other changes required to complete a port to Python 3 but this PR is a minimal, safe first step.
Run: futurize --stage1 -w **/*.py
See Stage 1: "safe" fixes http://python-future.org/automatic_conversion.html#stage-1-safe-fixes

One change that I was not so sure about was the change of a ur'string' to be just a u'string'.
In Python 3, you can have u'strings' or r'strings' but ur'strings' are a syntax error.
./cakechat/utils/text_processing/str_processor.py:9:66: E999 SyntaxError: invalid syntax
_tokenizer = nltk.tokenize.RegexpTokenizer(pattern=ur'\w+|[^\w\s]')
                                                                 ^
1     E999 SyntaxError: invalid syntax

Hi @cclauss, thanks for your interest!
In my opinion, the best way to provide both python 2 and 3 compatibility is to use the six library or consider rewriting the code to be version-agnostic. I don't think that automatic replacement is a good option for now.
We'll create a feature-request list and try to fulfill the most popular requests.

I too prefer the six approach but I often find that people are resistant to adding an additional dependency.  I have modified the PR to use six instead of try/except blocks.

Great, six approach is much better, thanks :) We don't have enough tests yet, so I think we need to take a time to fully test your PR because it's a global modification.
I hope we'll return to this PR as everything will be properly tested.

Hi, @cclauss
Thank you for your PR.
Unfortunately, the current version of the code is not compatible with Python 3.
There are still some imports that should be done from six package. For example:
https://github.com/cclauss/cakechat/blob/modernize-python2-code/cakechat/dialog_model/model_utils.py#L3
You can test that everything is working by running python bin/cakechat_server.py under Python 3.
Can you please fix this and update the PR?
Thank you


Java api run slowerly than Python

I compared java and python performance with CPU and MKL enabled, Java(20ms) is much slower than Python(10ms).
BERT parameters:
batch_size=1, seq_length=24, num_hidden_layers=6, num_attention_heads=12
ENV variables:
export OMP_NUM_THREADS=8
export KMP_BLOCKTIME=0
export KMP_AFFINITY=granularity=fine,verbose,compact,1,0
Then I tested Java Native Api(JNI) instead of JNA, it's also the same phenomenon. I suspect that it's something about cuBERT.so (maybe MKL configuration) making java run slower than python?

I think I fond the problem. when set MKL_VERBOSE=1, java show "MKL_VERBOSE Intel(R) MKL 2019.0 Update 3 Product build 20190220.." and python show "MKL_VERBOSE oneMKL 2021.0 Update 4 Product build 20210904...". So the old version of MKL may show worse performance?


Cleanup Tests: #bytecodes check Pharo10 vs Pharo11 not needed

I backported the #bytecodes methot to Pharo10, so we can remove the versions checks

Will redo as part of https://github.com/ApptiveGrid/Soil/pull/65 which touches the same tests


Make TextureButton and Button update on texture change

Fixes: #63801 (partially)
Using the approach from #75532
Does not work for click_mask as BitMap does not use the changed signal, out of scope for this PR to add that

Ping, can this get a review?

Thanks! That should actually address some editor issues with custom type icons too.

Thank you!

Should I go ahead and cherry-pick this one as #75016 is getting a 3.x version?

@AThousandShips Yes, sure, I think we can backport both changes.

Then I'll open, tested it out and code works


Fix diffusion caching

fixes https://github.com/huggingface/optimum-neuron/issues/593

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

I need to update the TGI neuron test repos as it seems that the CI user does not have the rights to create them.


EOL package dependency

xmldom 0.6.0 is EOL and unmaintained, see README.md
It is replaced by @xmldom/xmldom
https://github.com/scalar/scalar/blob/525343179a32574df40a3363ab2d44cf0ea581f1/packages/api-reference/package.json#L42

Good catch!

That was fast 👍 Awesome work


failed to get workflow after creating it by argo golang client

Checklist:

[x] I've included the version.
[x] I've included reproduction steps.
[ ] I've included the workflow YAML.
[ ] I've included the logs.

What happened:
I use golang code to create workflow without error, but cannot get the workflow.
	helloWorldWorkflow := mockWorkflow()
	wf, err := wfClient.Workflows(ns).Create(helloWorldWorkflow)
	checkErr(err, "failed to create workflow")

	err = AddWorkflowLabel(wfClient.Workflows(ns), wf.Name, LabelKeyWorkflowState, LabelValueArchived)
	checkErr(err, "failed to add label")

Got some error log found in workflow-controller:
time="2019-12-23T04:44:47Z" level=info msg="Processing workflow" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s
time="2019-12-23T04:44:47Z" level=info msg="Updated phase  -> Running" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s
time="2019-12-23T04:44:47Z" level=info msg="Pod node hello-world-hqh9s (hello-world-hqh9s) initialized Pending" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s
time="2019-12-23T04:44:47Z" level=info msg="Created pod: hello-world-hqh9s (hello-world-hqh9s)" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s
time="2019-12-23T04:44:47Z" level=warning msg="Error updating workflow: Operation cannot be fulfilled on workflows.argoproj.io \"hello-world-hqh9s\": StorageError: invalid object, Code: 4, Key: /registry/argoproj.io/workflows/argo-test-8ab0cdf/hello-world-hqh9s, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 4e954a14-d0d4-4110-bc54-a61342103e73, UID in object meta:  Conflict" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s
time="2019-12-23T04:44:47Z" level=info msg="Re-appying updates on latest version and retrying update" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s
time="2019-12-23T04:44:47Z" level=info msg="Failed to re-apply update: workflows.argoproj.io \"hello-world-hqh9s\" not found\ngithub.com/argoproj/argo/errors.Wrap\n\t/go/src/github.com/argoproj/argo/errors/errors.go:88\ngithub.com/argoproj/argo/errors.InternalWrapError\n\t/go/src/github.com/argoproj/argo/errors/errors.go:71\ngithub.com/argoproj/argo/workflow/controller.(*wfOperationCtx).reapplyUpdate\n\t/go/src/github.com/argoproj/argo/workflow/controller/operator.go:495\ngithub.com/argoproj/argo/workflow/controller.(*wfOperationCtx).persistUpdates\n\t/go/src/github.com/argoproj/argo/workflow/controller/operator.go:409\ngithub.com/argoproj/argo/workflow/controller.(*wfOperationCtx).operate.func1\n\t/go/src/github.com/argoproj/argo/workflow/controller/operator.go:140\ngithub.com/argoproj/argo/workflow/controller.(*wfOperationCtx).operate\n\t/go/src/github.com/argoproj/argo/workflow/controller/operator.go:220\ngithub.com/argoproj/argo/workflow/controller.(*WorkflowController).processNextItem\n\t/go/src/github.com/argoproj/argo/workflow/controller/controller.go:304\ngithub.com/argoproj/argo/workflow/controller.(*WorkflowController).runWorker\n\t/go/src/github.com/argoproj/argo/workflow/controller/controller.go:230\ngithub.com/argoproj/argo/workflow/controller.(*WorkflowController).runWorker-fm\n\t/go/src/github.com/argoproj/argo/workflow/controller/controller.go:171\nk8s.io/apimachinery/pkg/util/wait.JitterUntil.func1\n\t/go/src/k8s.io/apimachinery/pkg/util/wait/wait.go:152\nk8s.io/apimachinery/pkg/util/wait.JitterUntil\n\t/go/src/k8s.io/apimachinery/pkg/util/wait/wait.go:153\nk8s.io/apimachinery/pkg/util/wait.Until\n\t/go/src/k8s.io/apimachinery/pkg/util/wait/wait.go:88\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1333" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s

What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Argo version:

$ argo version
argo: v2.4.0-rc1
  BuildDate: 2019-08-08T22:59:15Z
  GitCommit: 6131721f43545196399d7ffe3a72c1b9dc04df87
  GitTreeState: clean
  GitTag: v2.4.0-rc1
  GoVersion: go1.11.5
  Compiler: gc
  Platform: linux/amd64

Kubernetes version :

$ kubectl version -o yaml
clientVersion:
  buildDate: "2019-10-15T19:07:57Z"
  compiler: gc
  gitCommit: 20c265fef0741dd71a66480e35bd69f18351daea
  gitTreeState: clean
  gitVersion: v1.15.5
  goVersion: go1.12.10
  major: "1"
  minor: "15"
  platform: linux/amd64
serverVersion:
  buildDate: "2019-10-15T19:07:57Z"
  compiler: gc
  gitCommit: 20c265fef0741dd71a66480e35bd69f18351daea
  gitTreeState: clean
  gitVersion: v1.15.5
  goVersion: go1.12.10
  major: "1"
  minor: "15"
  platform: linux/amd64

Other debugging information (if applicable):

workflow result:

argo get <workflowname>

executor logs:

kubectl logs <failedpodname> -c init
kubectl logs <failedpodname> -c wait

workflow-controller logs:

kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)

Logs
argo get <workflowname>
kubectl logs <failedpodname> -c init
kubectl logs <failedpodname> -c wait
kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)

This is the error:
time="2019-12-23T04:44:47Z" level=warning msg="Error updating workflow: Operation cannot be fulfilled on workflows.argoproj.io \"hello-world-hqh9s\": StorageError: invalid object, Code: 4, Key: /registry/argoproj.io/workflows/argo-test-8ab0cdf/hello-world-hqh9s, ResourceVersion: 0, AdditionalErrorMsg: Precondition failed: UID in precondition: 4e954a14-d0d4-4110-bc54-a61342103e73, UID in object meta:  Conflict" namespace=argo-test-8ab0cdf workflow=hello-world-hqh9s

Can you make sure you're not submitting the same UID twice? These must be unique.

The UID is not generated by my code. Here's workflow generate func:
func mockWorkflow() *v1alpha1.Workflow {
	return &v1alpha1.Workflow{
		ObjectMeta: metav1.ObjectMeta{
			GenerateName: "hello-world-",
		},
		Spec: v1alpha1.WorkflowSpec{
			Entrypoint: "whalesay",
			Templates: []v1alpha1.Template{
				{
					Name: "whalesay",
					Container: &corev1.Container{
						Image:   "docker/whalesay:latest",
						Command: []string{"cowsay", "hello world"},
					},
				},
			},
		},
	}
}

There's two process update workflow, maybe that's the reason.


Update index.js

Node 10 requires fs.unlink to have a callback defined, so I added one that just logs errors (if there are any).

Merged! Thanks for PR!


Assertions

Extracts assertions into their own module

So patch and virtual_element modules could share inAttributes state
It's still eliminated when minified, I checked.

Adds assertion that currentElement is not called between elementOpenStart and elementOpenEnd
Adds assertion keys are not duplicated
Adds tests for every assertion

Fixes #157.

Way too many changes for 1 PR. Break this down into several PRs, starting with moving assertions into a separate file.

Pared it back to just the extracted assertions module.

looks good, just 1 little indentation issue


Travis CI

Looks reasonable.
Though perhaps we could use luarocks make for some bits?

Though perhaps we could use luarocks make for some bits?

I assume this would get us an easier route to test on macOS and Windows as well.
But this is great for a first iteration! Merging it as it is, we can improve on it afterwards.


[ENG-1266] chore: Add all types

Thanks for getting this kicked off! I'm a bit torn on whether to commit the generate Go structs to this repo or to leave them in the repos where they are used. Since if the generated Go structs are in this repo, it means that we'll have to keep updating the dependency that the server/cli has on the packages in this repo (similar to how we have to keep updating the server dependency on connectors). It might be better to keep the Go struct generation out of this repo (assuming that oapi-codegen CLI can read from a public repo, and not just local files). But I could also be convinced to keep them here.
Also, in a follow up PR can we add a Github action for linting?

Makes sense. I don't see a very strong argument for keeping them here, so I'll take the go types out. And do you mean a rdme openapi:validate action?


Definition of "component"

Nvidia is considering entering a submission with a standard GPU that includes custom VBIOS that would not be available to customers. It is consistent with the rules of Closed division, and we think this is consistent with intent of Closed RDI.
We want to confirm with the WG that a custom VBIOS counts as a separate component under RDI rules, as the RDI rules state: "The RDI components may not be submitted as Available components until the submission cycle after next or 181 days whichever is longer".

I think that's correct.

WG agreed


Silent logout, login without cache token

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.20.0
Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
2.0.6
Description
Hi guys,
i have a little special use case: I have a signed in user in my application, but the app requires also an four eyes principle. So I have to aquire a token(which will be checked in backend) for a second user with prompt login.
This is where my problems start:
If i aquire the token for the second user, the second user stays logged in and i have to show the logout page where the second user must interactivate again.
Currently this is a security issue, because if logout is not properly executed it is possible to sign in to all microsoft services via SSO
So i look for a solution to aquire a token without being cached or an option to logout silent. Can you help me please?
MSAL Configuration
auth: {
    clientId: 'XXX',
    authority: 'https://login.microsoftonline.com/XXX/',
    redirectUri: '/',
    postLogoutRedirectUri: '/logout'
  },

  cache: {
    cacheLocation: BrowserCacheLocation.SessionStorage,
    storeAuthStateInCookie: false
  }

Relevant Code Snippets
this.msalSvc.acquireTokenPopup({ loginHint: user.userPrincipal, prompt: 'login', scopes: ['api://XXX/sign']} as PopupRequest).subscribe({
...
this.msalSvc.instance.logoutPopup({ account: response.account, postLogoutRedirectUri: null});

Identity Provider
Azure AD / MSA
Source
External (Customer)

@bumbel42so We are currently working on a feature to improve the logout experience, and will have documentation when it is ready. In the meantime, you can try setting the browser cache location to BrowserCacheLocation.MemoryStorage so tokens are not persisted across page loads.

@jo-arroyo I tried it with cacheLocation: BrowserCacheLocation.MemoryStorage and  storeAuthStateInCookie: true but the SSO problem that i can login via SSO on other sides remains. Any other ideas for a workaround?
Do you have a timeline for the improved logout experience?

Assigning to @hectormmg, who will be working on this.


[SPARK-45419][SS] Avoid reusing rocksdb sst files in a dfferent rocksdb instance

What changes were proposed in this pull request?
When loading a rocksdb instance, remove file version map entry of larger versions to avoid rocksdb sst file unique id mismatch exception. The SST files in larger versions can't be reused even if they have the same size and name because they belong to another rocksdb instance.
Why are the changes needed?
Avoid rocksdb file mismatch exception that may occur in runtime.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Add rocksdb unit test.

@anishshri-db @jerrypeng @siying

@HeartSaVioR

Thanks! Merging to master.

Just ported the fix back to 3.5 as well.


Lint request: avoid FutureOr

Context at https://github.com/dart-lang/sdk/issues/35237
This seems like something that should be easy to lint against.

If this is a request for a new lint rule to be implemented, that would go to https://github.com/dart-lang/linter. I'm happy to move this issue over if that's the case.

Ahh yes sorry about that

They're only 2 letters off 😛  This is surely the first of hundreds of issues to be moved from here to dart-lang/linter.


[BUG] Ansel

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
I followed everything i could, and theres 2 problems.
1, the only thing i see when i open up  game filter is a frozen image sharpening bar that i cant move
2. I have no idea how to change the installation name for bloxstrap. it keeps creating new .exe files when i rename it to "eurotrucks2"

We don't yet have support for Nvidia Ansel. I recommend that you check out Bloxshade for the time being.


Intune Enrollment Status Page

For Shared Devices the ESP will run for every user who is logging on. Is this supposed to be the case as this is causing delays to logon.
And is it possible to filter on ESP rather than having it on for all users?

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

ID: a5d94e38-75da-740c-d0cc-82bf27ba9c24
Version Independent ID: 800a29d5-425c-7c32-b901-c425658ada81
Content: Windows Autopilot Enrollment Status page
Content Source: windows/deployment/windows-autopilot/enrollment-status.md
Product: w10
Technology: windows
GitHub Login: @greg-lindsay
Microsoft Alias: greg-lindsay

I would also like to know this answer. Also, my SCCM imaged Co-Managed devices get stuck at Account Setup stage and never go past that even though there are no policies assigned

@officedocsbot assign @mypil

@bally-singh - Thank you for submitting feedback.
I will get this issue over to the Win10 ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@mypil To add to my comment. Not only do SCCM imaged Hybrid Azure joined machines receive the Enrollment page, but the reason they get stuck is because the users dont have an Intune license. This entirely defeats the purpose of have "Co-managed" machines where your workloads are split.
Now I cant simply have an on-premise AD authenticated user sign into a machine without being stuck at this page.

@bally-singh I published a blog post yesterday explaining how you can create a device configuration profile that allows your shared devices to skip the account setup phase of the enrollment status page. Might be of use to you: https://srdn.io/2019/05/fast-sign-in-experience-on-windows-autopilot-enrolled-shared-devices/

@jseerden Thank you for your article. @bally-singh Since Windows 10, version 1803, you can opt-out of the account setup phase. When it is done, the settings will be applied for the users when they access their desktop for the first time. @mypil shall I add this to the article?

@Malind19 - Please proceed to create a PR for this then we will get the doc owner to review it for merging. Thanks.

@mypil Created PR https://github.com/MicrosoftDocs/windows-itpro-docs/pull/3515

@bally-singh - From our understanding, the issue has been resolved but it may take a few days for the merged content to appear in the article. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!

@officedocsbot close


replace less references with sass

The README file references less instead of sass in the examples

no problem 👍


Upgrading to emojione 4.5

Well, since @mervick is busy and probably switching to joypixels/emoji-toolkit would be time-consuming, it would be nice to have at least an upgrade to emojione 4.5, which includes the 157 new emojis of Emoji 11.0.
I tried using useInternalCDN: false and loading<EMAIL_ADDRESS>manually, but it seems the lib still uses the old 3.1 emoji images URL and probably doesn't include the new emojis in the picker too.
I can help with it, if @mervick is interested, I'd try upgrading the lib and making a PR.

Hello. If you will create PR I will merge it.
Thank you

@DanielVip3, I tried emojione 4.5 and emojionearea 3.4.2 with useInternalCDN: false.

[ ] The new emojis are not included in the picker. I couldn't find :zany_face: (zany_face) and :hot_face: (hot_face).
New emojis' name have to be added to the defaultOptions.filters in src/function/getDefaultOptions.js.
I believe this requires a PR which @mervick will merge and build the dist folder.

[X] For the existing emojis, the library already uses the new 4.5 emoji images.
I identified by Ogre and Raising Hands.

I extracted the 4 zip archives (mentioned in the code below) and place them in a libraries folder.
<!-- emojionearea pre-req: emojione 4.5.0 -->
<!-- src: https://github.com/joypixels/emojione/archive/refs/tags/4.5.0.zip -->
<link rel="stylesheet" href="../libraries/emojione-4.5.0/extras/css/emojione.min.css">
<script src="../libraries/emojione-4.5.0/lib/js/emojione.min.js"></script>

<!-- emojione offline assets: emojione-assets 4.5 -->
<!-- src: https://github.com/joypixels/emojione-assets/archive/refs/tags/4.5.zip -->
<script type="text/javascript">
  /* global emojione */
  // https://github.com/joypixels/emojione/blob/master/USAGE.md
  emojione.imagePathPNG = "../libraries/emojione-assets-" + emojione.emojiVersion + "/png/" + emojione.emojiSize + "/";
</script>

<!-- emojionearea pre-req: jquery.textcomplete 1.3.4 -->
<!-- src: https://github.com/yuku/textcomplete/archive/refs/tags/jquery-v1.3.4.zip) -->
<script src="../libraries/textcomplete-jquery-v1.3.4/dist/jquery.textcomplete.min.js"></script>

<!-- emojionearea v1.3.4 -->
<!-- src: https://github.com/mervick/emojionearea/archive/refs/tags/v3.4.2.zip) -->
<link rel="stylesheet" href="../libraries/emojionearea-3.4.2/dist/emojionearea.min.css">
<script src="../libraries/emojionearea-3.4.2/dist/emojionearea.min.js"></script>

Last reply here was October 2021. Out of curiosity, any further progress on this since then?

@Maikuolan Sorry about that. I don't have much time to do this, especially after Russia invaded my country. I could not even do my main paid job for months because of war...
Any pull requests are welcome.

No stress, and totally understandable. :-)
Please stay safe. We all love seeing progress at open-source projects like these, but life and personal safety is always much more important than that, or than anything else. Anything else can wait.
Also, because there are multiple people participating at this issue, I figure, better to ask first, instead of assuming anything. I could try doing something in my spare time, but I've come to this issue more than a year late since it first started, and maybe some other people have already started working on this in their own spare time, and there is already work in progress, but I just can't see it, because there are any draft PRs or things like that yet? If that's the case, better to just wait instead of trying to do work which is already being done.

@Maikuolan, while I didn't get started on anything, I hope my previous comment, https://github.com/mervick/emojionearea/issues/436#issuecomment-932768897, provides you with some direction to get started.


Batch updates - Via selective field

This issue is just for thinking about how the workflow would look for a scenario like this:
Relatively manageable scenario that happens a few times per year:
A group of records (say 100) is newly added to the geoportal. A few weeks later, the TF member emails a list of record IDs that need a different download link (say 20 records)
As GEOMG is configured now, my current workflow would be this:

use the TF member's email to make a spreadsheet just of the Identifiers and the new Download links
Go to GEOMG and export the full collection
Use a spreadsheet function to match on the identifiers and selectively update the Download link for just the 20
Re-import a CSV of the full metadata of the changed records

This happens monthly and is a bit clunky:

We run the ArcGIS re-accession. This queries all of the ArcGIS Hubs that we pull from and spits out a list of new & retired items.
I take the list of retired items (just Identifiers) and compare it to my master list of ArcGIS records in a spreadsheet. Like above, I use a spreadsheet function to find just the records from my list and update these fields:

Status: Retired
Date Retired: today's date
Suppressed: TRUE

I re-publish the retired records so they stay in Solr. (this is needed to maintain accuracy in our Tableau analytics and to minimize broken direct links. Plus, the records often "come back" and are re-published in the original source portal)

I am wondering if GEOMG can help improve this. In particular, performing the spreadsheet matching process is not ideal - it can take me a few tries, and it is not a straightforward thing I can easily assign to someone else. Ideally, we could just upload a CSV to GEOMG that only has an identifier and the fields we want to update. In lieu of that, perhaps there would be a way of uploading a CSV of Identifiers to "bookmark" or tag those items?

Relatively manageable scenario that happens a few times per year...
Well... Here I'd be tempted to export the CSV of their collection and send it to them (the TF member) for correcting the URLs. We get the updated CSV back from them and upload it. Pain of updating the data is shared with the provider.

However, this really does jive with the our GEOMG Bulk Actions feature, too. We could make a workflow where you have a CSV file with IDs and Field columns to update. You'd upload it to Bulk Actions, and each CSV row would spin off a job to update the associated document.

This happens monthly and is a bit clunky...
If you can make a spreadsheet like from above (IDs and Field columns to update) then the same CSV upload to Bulk Actions workflow would help you retire documents easily.

Let me know what you think. Could be a nice way to expand Bulk Actions functionality and save you some trouble.

It would be ideal to be able to have a spreadsheet with IDs that I can upload to GEOMG to make certain changes. For records that get retired, I change these fields:

Suppressed
Date Retired
Status/Publication State

Being able to do one or all of these with a Bulk Action would be great.

Check out this script by Gene that lets us do this with a Python script: https://github.com/BTAA-Geospatial-Data-Project/dcat-metadata/blob/Working_Gene/retired_items_GEOMG.ipynb
This potentially provides a ton of flexibility for doing this programmatically.


Change signature of decodeClientDataJSON to accept Base64URLString as paramater

Describe the issue
At the moment, decodeClientDataJSON accepts a string as a parameter. In order to communicate effectively what kind of string it expects to receive, we should change the type to Base64URLString, as that's the type of clientDataJSON in AuthenticatorAssertionResponseJSON.
const credential = await startAuthentication(optionsJson);

if (!credential) {
  return null;
}

const decodedClientData = decodeClientDataJSON(credential.response.clientDataJSON) // `clientDataJSON` is of type Base64URLString`

Thanks for the suggestion to improve the developer ergonomics of decodeClientDataJSON(). The change has been made and will be available in the next release of @simplewebauthn/server@TBD (since this isn't a big enough change to warrant a release it'll have to wait till the next time I publish an update.)

@carlos-menezes This change is now available in the recently-published<EMAIL_ADDRESS>✌


Auto-detecting RFY rollershutters

This may be a forum topic rather than an issue, if so please close it and I'll raise it there.
FAO @samriley.
Why are you unable to auto-detect devices using the RFY protocol?
I see your documentation notes that you must manually identify the device ID using rfxmngr and then add it the the HA config, however I do not see a technical reason why.
When you have a new device which is not in your configuration and you press a button on it does it create a log line in the HA logging output?

I wasn't able to get any received data (listening to packets on the socket - not just within homeassistant). According to the rfxtrx433e docs RFY (eg somfy) doesn't support receive - only transmit (admittedly that does seem odd - but explains why I wasn't able to receive any packets).

Ah that does make sense. I think the low level protocols have to be in the firmware for them to be detected and passed on. 433mhz serial connections have a lot of noise on them.
That being said you are able to receive the packets in rfxmngr to get the device ID?

On 23 Jun 2016, at 19:56, Sam Riley<EMAIL_ADDRESS>wrote:
I wasn't able to get any received data (listening to packets on the socket - not just within homeassistant). According to the rfxtrx433e docs RFY (eg somfy) doesn't support receive - only transmit (admittedly that does seem odd - but explains why I wasn't able to receive any packets).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Not exactly - the process is that you give the app an id, use a remote to set the blind in to pair mode, then send a program command via the rfx device. It will then be paired with the id you've given - thats the id you then use in homeassistant.
On 23 Jun 2016 21:33, Jacob Tomlinson<EMAIL_ADDRESS>wrote:Ah that does make sense. I think the low level protocols have to be in the firmware for them to be detected and passed on. 433mhz serial connections have a lot of noise on them.
That being said you are able to receive the packets in rfxmngr to get the device ID?

On 23 Jun 2016, at 19:56, Sam Riley<EMAIL_ADDRESS>wrote:
I wasn't able to get any received data (listening to packets on the socket - not just within homeassistant). According to the rfxtrx433e docs RFY (eg somfy) doesn't support receive - only transmit (admittedly that does seem odd - but explains why I wasn't able to receive any packets).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.

As there is not more action here, I will close it. Please re-open this issue or create a forum posting.


Extract mhtml content into Python dictionary

New: Extract mhtml content into Python dictionary.
Bug fix: Handling break properly in try-except block.

I've modified some stuff in the extractor. Maybe it will be useful in certain scenarios. If you are using the script - with the presented modifications - inside Python code, you can extract mhtml content into Python dictionary. It is useful, if you need the content, but you don't want/need to handle files (e.g. if you only need to extract some info from html).

My apologies for the delay in getting this reviewed, work has pretty much taken over most of my days. I'll see if I can take a look at this over the weekend!


[release-1.7] fix verify codegen

the go code in third_party was modifying the root go.mod file
add an empty go.mod which is essentially like a .gitignore

/lgtm
/approve


Caption numbering and cross-references

When adding a caption to a figure or table, the caption is inserted as flat text.
In order to have automatic caption numbering, and to be able to create cross-references and index tables, this should be a field.
Is there already functionality to achieve this or should I clone the project and try to implement this myself?
Kind regards,
Kevin

Solved by implementing #359.
Thanks!

How did you solve the cross-reference part?

I would like to reference specific figures and tables in text paragraphs. I used  #359 to add numbered captions. How can I reference them?

any updates on the create cross-references feature?