JNLP with jenkins/jnlp-slave not working

I'm running:
Jenkins v2.132
YADP v0.1.0-rc48
Docker Version: 1.12.6 API version: 1.24
I've already pull jenkins/jnlp-slave image and set pull strategy to never.  The rest of the YADP settings are the default. When I run a pipeline build it starts the container but then its trying inspect and pull the image. Why is it doing that?
Here's the console log:
[Pipeline] node
Still waiting to schedule task
All nodes of label ‘docker’ are offline
Running on YAD-Lewisville-17902e0bef5f in /home/jenkins/workspace/docker-test
[Pipeline] {
[Pipeline] sh
[docker-test] Running shell script
+ docker inspect -f . jenkins/jnlp-slave
<EMAIL_ADDRESS>2<EMAIL_ADDRESS>docker: not found
[Pipeline] sh
[docker-test] Running shell script
+ docker pull jenkins/jnlp-slave
<EMAIL_ADDRESS>2<EMAIL_ADDRESS>docker: not found
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE

I see docker: not found.  You might be misunderstanding how to use this plugin.  I’ll try to explain.
It appears you’re using the pipeline docker step, if so then that will not work here.  What you need to do is treat this plugin like traditional slaves in Jenkins.  Here’s a pipeline example:
node("yadp-docker") {
    // stages and steps go here
}

Under the hood the yet-another-docker plugin (YADP) will talk to Docker and provision a static agent which will only be available for your pipeline node.  When you mode code is done, YADP will delete the docker agent.
YADP was not designed to work with pipeline docker step and visa versa.

@samrocketman I forgot to post my pipeline that I'm using. I'm not using docker build step, but docker agent. I want it to behave exactly as you mention. Bring up a container agent, run build on that agent, delete the agent.
pipeline {
    agent {
        docker {
            label 'docker'
            image 'jenkins/jnlp-slave'
        }
    }
    tools {
        docker "docker-latest"
    }
    stages {
        stage ('Prepare') {
            steps {
                script {
                    echo "TESTING DOCKER"
                }
            }
        }
    }
}

Examining the log file:
Running on YAD-Lewisville-17902e0bef5f in /home/jenkins/workspace/docker-test
[Pipeline] {
[Pipeline] sh
[docker-test] Running shell script
+ docker inspect -f . jenkins/jnlp-slave
<EMAIL_ADDRESS>2<EMAIL_ADDRESS>docker: not found

This is inside the container.  So the container is running and the build is running but why is it trying to run 'docker inspect -f . jenkins/jnlp-slave'? And then in the next command its trying to pull the image. So inside the already started container for 'jenkins/jnlp-slave' its trying to pull the image into the container?

I’m saying you shouldn’t be using the docker directive at all.  Since you’re using declarative you’ll do this instead.
pipeline {
    agent {
        label 'yadp-docker'
    }
    stages {
        // all stages happen inside of the docker container
    }
}

@samrocketman Ah, thank you. Changing the agent declaration like that works.


'requested_tool_name': 'directly_answer', 'available_tool_names': ['google_search_tool']

Hello. I need help.
I need google_search_tool only as in the context of the message there are launches like "search", "find". How to call agent_executor with such questions, everything works fine, but how to ask a normal question without search, then I get the error directly_answer is not a valid tool, try one of [google_search_tool]., latencies are higher than 6 times, but the model gave a normal response.
class Chat:

    def __init__(self):
        model = ChatCohere()
        agent = create_cohere_react_agent(llm=model, tools=[], prompt=prompt)
        self.agent_executor = AgentExecutor(agent=agent, tools=[google_search_tool], verbose=True)
        self.chain = prompt | model

    def prediction(self, question, history):
        return self.agent_executor.astream({
            "question": question,
            "chat_history": history
        }, config={"callbacks": [langfuse_handler]})

    def invoke(self, question):
        return self.chain.invoke({"question": question})

cohere = Chat()

from langchain_google_community import GoogleSearchAPIWrapper
from langchain_core.tools import Tool

from config import GOOGLE_API_KEY

search = GoogleSearchAPIWrapper(google_api_key=GOOGLE_API_KEY)

google_search_tool = Tool(
    name="google_search_tool",
    description="Search Google for recent results.",
    func=search.run
)

Hi there, you don't need to input directly_answer as a tool. It is automatically added. Does removing it solve your problem?

I did not specify the "directly_answer" tool anywhere. I wrote all the code related to the model


feat(storage): introduce streaming_table write and point-get

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
As discussed, we have decided to refactor relational layer. New Design of Relational Table
In the future, folder table will be split into two folders

streaming_table, which includes StateTable and MemTable, is responsible  for the streaming executors writing/read from state store
batch_table, which includes StorageTable, is used by batch mode.

This PR:

creates streaming_table
change MemTable to store Row in vec<u8>, and serialize Row before writing into MemTable
change materialize executor to use streaming table

Note that Scan(StateTableIter) will be implemented in later PRs to avoid a PR hard to review.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
part of https://github.com/singularity-data/risingwave/issues/4557

Will continue to refactor the encoding part.

Some offline discussion: the RowSerialize interface abstraction is for cell-based encoding and not suitable for our current demand, we will use a more clear and lighter method for it and add back if we really need


Library may need SendableMessage and RecievedMessage classes.

Because the messages that the bot send and the messages that the bot get from the users have almost completely different parameters and use. But, how to name and correctly implement them?

This is already fixed at messages branch, issue will be closed as soon as it's merged to main branch


Issues in Notion API, 400 error, library broken

The library has broken due to issues in the notion unofficial API
https://github.com/jamalex/notion-py/issues/351
Refer above issue

.

HI, whats the status on this issue?

Bump - I'm also facing this issue

Also facing a similar issue

Facing the same issue.

Hi @anshulahuja98 , I rewrote the code from the ground up. It now relies on notional for the read/write operations to the Notion database. It should be working smoothly now.


Fix flaky DefaultServiceRequestContextTest.setRequestTimeoutAfter

Motivation:
Found this flasy test
com.linecorp.armeria.server.DefaultServiceRequestContextTest > setRequestTimeoutAfter() FAILED

The passed time from start is recorded in the middle of setRequestTimeoutAfter.
The last passedTimeMillis could be saved in DefaultServiceRequestContext for the exact time value.
However, It seems overkill because DefaultServiceRequest is created for every request.
Modification:

Record the passed time right before execution

Result:
Fixes #2379
TODO: Revert @RepeatedTest(xxx) to @Test after CI pass

It seems like the build is taking much longer than usual?

It seems like the build is taking much longer than usual?

I added @RepeatedTest(1000) intentionally for checking the flaky. 😆
The test was passed except Window because of timeout. Now, let me revert the @RepeatedTest.


TOPCONS.net is down with internal error

https://topcons.net is down with internal error. Need to be fixed immediately.

The problem is solved by downgrading lxml to 4.2.5. It seems the newer version of lxml is not compatible with spyne 2.13.2-alpha. However, if Spyne is upgraded to a version later than 2.13.2-alpha, major changes in the API code need to be done.


get length of unique array in ng-repeat ?

i have applied unique in ng-repeat to one of my array key.
but when i use Arr.length it gives me original array length not the unique Arr length
my code

 sports.Ranks.Rank.length

after unique my Rank array length becomes 6 but it still shows 9 (the original Arr length)

I got the issue resolved on stachoverflow.. the answer is
{{ (sports.Ranks.Rank | unique:'_position').length }}


CI build stability issue on GitHub Actions

The test execution on GitHub Actions is sometimes very unstable. The common reasons are:

Permission defined error when spinning up a mock HTTP server in tests --> rerunning the tests helps
Somehow the execution hangs --> rerunning the build may help

I'm still unsure about the best (or the most acceptable) way to eliminate (or mitigate) this issue yet but we can explore the ways to improve this.

Change the runs-on env

We switched from ubuntu-latest to ubuntu-18.04  for mitigating this issue before but it may be about time to revisit this

Select the tests to run

We currently run all the unit tests with Java 8, 11, and 14 but it may be possible to select some for Java 8 and 11

If someone who is knowledgeable on this, your inputs would be greatly appreciated!

Merged #780 and dropped Java 11 build. As we still have Java 8 and 14, removing the version should be okay. We've never observed any issues specific to the version - 11.

Do you have any links to logs or output showing the permission denied issue, or have any insight into what is causing the issues? I wouldn't mind taking a look.

@filmaj It sometimes happens but retrying the job helps (thus, I always retry it..). So, we don't have any logs so far. https://github.com/slackapi/java-slack-sdk/issues/757 is a bit more specific about the issue. The situation can start when something on the GitHub Actions side has been changed (perhaps, new runtime version deployment or any other server-side events). Introducing retries by https://github.com/slackapi/java-slack-sdk/pull/758 mitigated the issue but it didn't eliminate it.

It seems that @filmaj's amazing pull request https://github.com/slackapi/java-slack-sdk/pull/800 eliminated the permission denied error issue! As we are not observing "Somehow the execution hangs --> rerunning the build may help" issue recently, let me close this issue for now!


Remove double " from Discord gateway webhookurl=

A tiny correction, I know. Just removing the double quotation marks from the webhookurl parameters for the Discord gateway example.

No hey, little things appreciated :) Pls do feel welcome to chip in with docs as you're going through for the first time! Fresh eyes are always the clearest

o hey, little things appreciated :) Pls do feel welcome to chip in with docs as you're going through for the first time! Fresh eyes are always the clearest

Sure thing, no problem! Gotta agree with the fresh eyes part too. Happy to help out no matter how trivial then. This is quite a nice project :)

Thanks!


Style Settings, Export Style, Sources: Apply changes

Changes are only applied when closing the modal via the close button.
It is also possible to close the modal with a click beside the modal but then changes are discarded.

This is confusing (it was at least to me :smile:).
It would be better to make the behavior consistent, so that a closing click beside the modal also applies the changes.
Another option would be to add a "save" button to apply changes and the close button only closes the modal (without applying the changes).

Good find, I would bet quite a few people are really annoyed/confused by this bug.

This bug is also present when pressing ESC to exit the modal. Although it's slightly different than described. The <input/>'s update the style when they lose focus (blur), so if I edit the style name in the 'settings modal' then press ESC no changes will be saved back to the style. However if I were to move focus to another field in the settings modal before pressing ESC then the changes would be saved.
I think we should fix the issue, without adding a 'Save' button. This is how the editing layer properties works at the moment, you edit the background color it updates the style, without any other interaction. Also note the current codebase makes a few assumptions that a blur events update the values.
So where do we go from here. I think what's going on here is that react-aria-modal uses keydown/mousedown events for underlayClickExits/escapeExits which means that the blur events on the <input/>'s don't trigger before the DOM is destroyed.
I think react-aria-modal should ideally be using keyup/mouseup, but I'm assuming that would be a big breaking change for that lib, also there are probably good reasons (I'm unaware of) why they are not using these events.
All we need to do is delay the event until the next iteration of the event loop. There is a pull request for this <>


Production:ModuleNotFoundError: No module named 'debug_toolbar'

We are installing the app in the production. While installing we are getting the following error. But in the production.yml there is no app for debug_toolbar.
django config in .envs/.production/.django
General
------------------------------------------------------------------------------
USE_DOCKER=yes
IPYTHONDIR=/app/.ipython
Any thing am i missing here. Below is the complete error stack. new to python ```
idpass-card-generator-django-1    | Traceback (most recent call last):
idpass-card-generator-django-1    |   File "/app/manage.py", line 31, in
idpass-card-generator-django-1    |     execute_from_command_line(sys.argv)
idpass-card-generator-django-1    |   File "/usr/local/lib/python3.9/site-packages/django/core/management/init.py", line 446, in execute_from_command_line
idpass-card-generator-django-1    |     utility.execute()
idpass-card-generator-django-1    |   File "/usr/local/lib/python3.9/site-packages/django/core/management/init.py", line 420, in execute
idpass-card-generator-django-1    |     django.setup()
idpass-card-generator-django-1    |   File "/usr/local/lib/python3.9/site-packages/django/init.py", line 24, in setup
idpass-card-generator-django-1    |     apps.populate(settings.INSTALLED_APPS)
idpass-card-generator-django-1    |   File "/usr/local/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
idpass-card-generator-django-1    |     app_config = AppConfig.create(entry)
idpass-card-generator-django-1    |   File "/usr/local/lib/python3.9/site-packages/django/apps/config.py", line 193, in create
idpass-card-generator-django-1    |     import_module(entry)
idpass-card-generator-django-1    |   File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
idpass-card-generator-django-1    |     return _bootstrap._gcd_import(name[level:], package, level)
idpass-card-generator-django-1    |   File "", line 1030, in _gcd_import
idpass-card-generator-django-1    |   File "", line 1007, in _find_and_load
idpass-card-generator-django-1    |   File "", line 984, in _find_and_load_unlocked
idpass-card-generator-django-1    | ModuleNotFoundError: No module named 'debug_toolbar'

Hello @NagarjunaKuchi , please try adding DJANGO_SETTINGS_MODULE=config.settings.production to .envs/.production/.django

Sample production envs
General
------------------------------------------------------------------------------
USE_DOCKER=yes
IPYTHONDIR=/app/.ipython
DJANGO_SETTINGS_MODULE=config.settings.production
Change this
DJANGO_SECRET_KEY=secret
REDIS_URL=redis://redis/0
DJANGO_ADMIN_URL=admin
SENTRY_DSN=
DJANGO_ALLOWED_HOSTS=your.host.com

Thank you @renceInbox.  We are able to deploy now.

@renceInbox can you add it to the doc if it is not there and close this issue ?


Clean up display of method signatures.

This preceeds a couple of related issues:

Multiple constructors for a type

When a type has multiple constructors, is there a way to gather them all together with the type in the generated documentation instead of having them listed with the rest of the methods?

Argument types in documentation

Duplicate entries generated for methods with default arguments.

Show keyword arguments in generated output

I think it would be nice if keyword arguments would also show up in the generated docs. I think this is currently not the case?

When a type has multiple constructors, is there a way to gather them all together with the type in the generated documentation instead of having them listed with the rest of the methods?

Yes, might be best to group constructors with their type and also methods with their function (as I've mentioned before).

maybe that should be an option because not everyone might want to mix types with there constructor methods: might get also a bit strange with the filtering. Anyway lets see how things go... won't have much time the next couple of days.

maybe that should be an option because not everyone might want to mix types with there constructor methods

Yeah, we'll just have to try different options out and see what works nicely.

won't have much time the next couple of days

No rush, I'll mostly be working on the query code so hopefully won't get too much in the way of your current PR.

Do you know of an easy way to get the constructor for a type? Except matching the name: somthing like the functions. methods?
I did not yet look into it just asking.
And about other methods (which also do similar things) with other names like you use for
section(args...; kwargs...) = (Section, args, config(kwargs))
page(args...; kwargs...)    = (Page,    args, config(kwargs))
docs(args...; kwargs...)    = (Docs,    args, config(kwargs))

Do you know of an easy way to get the constructor for a type? Except matching the name: somthing like the functions. methods?
I did not yet look into it just asking.

Does
julia> type T x end

julia> methods(T)
# 1 method for generic function "T":
T(x)

in 0.3 and
julia> type T x end

julia> methods(T)
3-element Array{Any,1}:
 call(::Type{T}, x)
 call{T}(::Type{T}, arg) at essentials.jl:53
 call{T}(::Type{T}, args...) at essentials.jl:54

in 0.4 do what you're needing?

And about other methods (which also do similar things) with other names like you use for

Not sure what you're asking here. Those are lowercase simply to make typing out a document tree slightly easier.

Method Groups.
"f_36"
(:f_36, Vararg)

f_36() = ()
f_36(x) = ()
f_36(x, y) = ()
f_36(x, y, z) = ()

Vararg: did not find a documentation for this variation. here

Question: is that on purpose or needs to be corrected?
Method Groups.
"f_36"
(:f_36, Any, Any, Any)

f_36(x, y, z) = ()
f_36(x::Dict, y, z) = ()

Cache.objects(mod)

generates 2 objects: line number: 154
Method f_36 (154,"Functions.jl") f_36(x::Dict{K,V}, y, z) at Functions.jl:158
Method f_36 (154,"Functions.jl") f_36(x, y, z) at Functions.jl:157

If one has an additional docstring that does not show up in the group?
"f_36"
(:f_36, Any, Any, Any)

f_36(x, y, z) = ()

"Some additional text"
f_36(x::Dict, y, z) = ()

generates ONLY 1 objects: line number: 154
Method f_36 (154,"Functions.jl") f_36(x, y, z) at Functions.jl:157
Method f_36 (159,"Functions.jl") f_36(x::Dict{K,V}, y, z) at Functions.jl:160

did not find a documentation for this variation. here

Yeah, that example is misleading and needs to be changed. The signatures must match exactly for the tuple syntax.

If one has an additional docstring that does not show up in the group?

Only one docstring can be stored per Method. The second one ("Some additional text") overwrites the first ("f_36"). We could warn the user when that happens perhaps, I'd rather not disallow it completely though.

Yeah, that example is misleading and needs to be changed. The signatures must match exactly for the tuple syntax.

If we only change the example this is not true, isn't it?

If one has an additional docstring that does not show up in the group?
I'd rather not disallow it completely though.

No, but would it be possible to have a meta: with all obj belonging to a group.

Anyway I'm a bit stuck with the whole  group / method / function definitions and type / constructor how to possible group them in the output.
The best I can think of is to group per docstring line number which should always produce just one output.
All othere cases seem to get mixed up if one uses filters: per categories or isexported etc...
I will start rebasing some of the code now and split it into separate PR

If we only change the example this is not true, isn't it?

It's just using methods(::Function, ::Tuple) to determine which methods are applicable. See here. We can mention the behaviour mirrors that of a methods call.

Anyway I'm a bit stuck with the whole group / method / function definitions and type / constructor how to possible group them in the output.

I'll try have a look into this myself today.

I'll try have a look into this myself today

I thought like this: for each actual docstring to have one output. (based on the :textsource line)
User can anyway overwrite this but I thought as default:
methods: as you suggested use the name function as object definition line and below the actual methods as written in the source code.
Your example
"f_14"
f_14{T<:FloatingPoint}(f, a::T,b::T,c::T...;
                       abstol=zero(T),
                       reltol=sqrt(eps(T)),
                       maxevals=10^7,
                       order=7,
                       norm=vecnorm
                       ) = ()

f_14
f_14{T <: FloatingPoint}(f, a::T, b::T, c::T...; reltol=sqrt(eps(T)), maxevals=10 ^ 7, order=7, norm=vecnorm)

To save space and avoid extra spliting or extraction I would use the return of the expr args as they are and only add space between the commas.
For methods with defaults I would also only output the main method as written in the source code. Reason: if a method has many defaults listing all would maybe not be the best as well I belief it is has a reason the coder used such a method instead of multiple methods.
For all your special groups it would probably nice to list each one - but for this Docile needs to provide something.

Doing it like that above would solve already most of this 3 issues

Argument types in documentation

Duplicate entries generated for methods with default arguments.

Show keyword arguments in generated output

Issue:

Multiple constructors for a type

When a type has multiple constructors, is there a way to gather them all together with the type in the generated documentation instead of having them listed with the rest of the methods?
For the default implementation I would just skip this or make it optional

Uploaded an example to: http://peter1000.github.io/new_lexicon_example_docs1/api/docile/

Yes, that output looks clearer. I'll post a some ideas I've had regarding this today a bit later.

I think the modules should remain as part of the signature. Especially since we can combine several modules and change the sorting order.
Longer signatures should perhaps be split across lines like so:
Foo.Baz.baz{
    T <: Integer,
    S <: AbstractString,
}(
    x :: Array{T, 2},
    y,
    z :: S = ""
)

I think the modules should remain as part of the signature. Especially since we can combine several modules and change the sorting order.

Maybe this should be optional.
Reason most julia Pkg seem to be quite small and if one has a structure as the current Docile http://docilejl.readthedocs.org/en/latest/api/Docile.Cache/
I think it is a lot of repetition. if already the sidebar says: Docile.Cache, the header of the page says Docile.Cache and the url ends in api/Docile.Cache/ I don't think each method needs to also start with Docile.Cache.getmeta(m::Module).
Is that not the point in having named Sections and a page title.
Maybe for combined modules it makes sense to me. Anyway just a personal thought, I have read somewhere on the julia (can't find it now) list that some do prefer having the whole signature with everything in the output. (it was unrelated to Docile/Lexicon)

Foo.Baz.baz{
    T <: Integer,
    S <: AbstractString,
}(
    x :: Array{T, 2},
    y,
    z :: S = ""
)

Maybe it is worth to consider not adding all the additional spaces between and use the return of the :parameters as they are only adding a space after the comma (or in your example a new line)

How's about this as an idea (I was doing with LightGraphs):

(Then could do the other signatures that share an different docstring.)
In this way, docstrings can be shared and the source(s) can be linked to, whilst being less "in your face"/longwinded.
@MichaelHatherly and I were discussing this on another issue/commit (#126 and https://github.com/JuliaGraphs/LightGraphs.jl/commit/9bf32d4f4b9d61b5a5f0c4ef89fddd65fb8b8722) how to extract all the methods defined in your package which share a docstring).

That looks really nice! So the source: 1 2 3 are each links to the source of their respective signatures?

In the new Docile (julia 0.4/0.5) not anymore relevant.


Update HWIMO-TEST mocha timeout to 10s.

This is necessary for some build machines where dependency
loading is too slow to stay under the 2s per test timeout.
@RackHD/corecommitters

@jimturnquist Nice work! The same change could be made to package.json.
Besides the following two PRs, you could also pull requests on all other repos such as on-http, on-core and on-tasks, etc.
rackhd/on-taskgraph#132
rackhd/on-dhcp-proxy#47

@lanchongyizu we've resisted actually landing these changes into an area of the code that affects everybody. In this case, the core issue is the build servers that @jimturnquist is using have all code mounted on an NFS share, which is what is causing the latency that leads to timeouts. As far as I know, the HWIMO-TEST script is only being used by that same team, so these changes effectively serve as a workaround local to them, without forcing everybody else to use an unnecessarily large timeout.
👍

👍


Update idol of the dream

Slight alternative approach to https://github.com/wowsims/sod/pull/645 but I'd like to retain the other QoL docs improvements

Done in #679


[Minor][ML] add missing since annotation of meanAveragePrecision

What changes were proposed in this pull request?
add missing since annotation of meanAveragePrecision
How was this patch tested?
existing tests

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/11358/
Test PASSed.

Test build #106107 has started for PR 24778 at commit 64df398.

Test build #106107 has finished for PR 24778 at commit 64df398.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/106107/
Test PASSed.


Performance Test - Monitoring Plan Script - Troubleshoot the Auth Token Expiration and scale up the number of users.

SCOPE:

Troubleshoot the Auth Token Expiration Issue. During the "Monitoring Plan Script Execution" the Auth tokens expires after 20 mins and then the script starts erroring out.

Scale up the number of users during the script execution.

Successfully ran the MP workflow script with 250 users from both JMeter and BlazeMeter.
The Test Results are consistent.
Only received 4 Errors related to Import (for which there are existing tickets #6377 and #5942)
#6377  – Import issues for MP records that begin on the same date/hour
#5942  – Import issues on inactive records.
Import Errors (in JMeter)

BlazeMeter Results


Support multiple sinkers

Support multiple sinkers to write in different databases or PUB/SUB channel.
Currently, the application cannot do the two events - publishing the feed and storing data into the database, at the same time.
It is hard to trace back issue in trading system.

 Support multiple sinkers


About @extra

@levlam
I'm sorry to disturb you again. This problem bothered me for a day. I added the @extra before sending to join the channel and chat , but I have not received the return information about this command, and my code follows There have been no changes before. I could receive this information before. I used version 1.4.0
Hope to get your help, thank you

@AquariusHunters What exactly do you use for sending requests?

@levlam
When I found some group IDs pushed by the server based on the keywords, I joined the chat based on the IDs of the different lists selected. I used to get whether the user joined the chat from the updateNewMessage method, but now I can't get whether the user joined the chat from here, or prompt him to join the chat failed, how can I do it now? The sending method I use is as follows:
				Json::Value JoinChatJson;
				Json::Value extraJson;
				JoinChatJson["@type"] = "joinChat";
				JoinChatJson["chat_id"] = chatID;
				extraJson["Main"] = 1;
				extraJson["Sub"] = 5;
				extraJson["describe"] = chatID;
				JoinChatJson["@extra"] = extraJson;
				td_json_client_send(client, JoinChatJson.toStyledString().c_str());
				LOG(INFO) << "JoinChatJson.toStyledString()" << JoinChatJson.toStyledString();

It is worth mentioning that the version of TdLib I use is 1.4.0, is it related to the version?

@AquariusHunters The @extra field in the response to the request will be exactly the same as in the request. This doesn't depend on the TDLib's version.

@levlam
The current situation is that I cannot receive the returned information about the server that contains these fields. What is the reason? I executed the command to send the request in other threads, but I did not receive information about the identification field, but I received a message such as updateNewChat, but he did not include the @extra I set

The method joinChat returns Ok. Whatever update received after request and between response is not related to the request and shouldn't contain @extra. Moreover updates from TDLib never contains @extra, because they aren't responding to any request.


chore(r5): update r5 dependency version

This includes some optimizations that were already deployed to production (but in a SNAPSHOT dependency,  which was then locked to a specific version)

Codecov Report

Merging #105 into dev will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev     #105   +/-   ##
=========================================
  Coverage     14.19%   14.19%
  Complexity       36       36
=========================================
  Files            47       47
  Lines          1853     1853
  Branches        141      141
=========================================
  Hits            263      263
  Misses         1584     1584
  Partials          6        6

Continue to review full report at Codecov.

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

This made the expected change on staging and passed our integration tests.


Make dart:ui Image disposed state public

Use case
I'm trying to develop an alternative image rendering widget for my app, which also includes an ImageCache.
It is up to ImageCache to properly dispose images whenever appropriate, therefore it is important for my widget to know when an Image has been disposed.
Right now I'm just wrapping Image in another class where I can keep track of disposed state, but this is wasteful in terms of resources given that Image already keep tracks of it.
Proposal
Make dart:ui Image disposed state public

Can you explain why you need access to the disposed flag in release builds, perhaps sharing some of the surrounding code (or using debugDisposed as a placeholder to make it compile)
There might be a better way of doing what you want without exposing this state that appears intentionally hidden.

In general dispose means "This object is the equivalent of null now" so any time you would access an object that is marked disposed it's equivalent to a null deref and you should pretend your app is crashing. :-)
The usual way to handle this is to make the actual act of disposing the resource be the end result of having determined that the resource is no longer used by anyone, not the other way around. In the case of images, there is a clone method so that at any time you can make sure that each Image only has a single owner, and that owner is responsible for disposing it, and once it is disposed there's no other object that would ever be referencing it. If you ever want to share an Image with another part of the code, you first clone it and then that part of the code has its own entirely owned object that it can dispose and so on.

Thanks for your explanation, before further describing my issue, I'd like to know, how expensive is cloning an image? Will it double the amount of memory used or is it more about cloning some pointers, and thus has a negligible memory footprint?
If it's the latter, that would be indeed a much cleaner approach :)

It's negligible in the common case (just creates a new wrapper around the same backend data, which the engine manages). That said, I would always recommend measuring costs directly when worrying about performance, because it's very common for our intuition about costs to be incorrect.

Yes, clone is exactly what I needed, thank you very much! I'll close this issue and the PR


"Connecting" View

@tladesignz @mtigas @n8fr8 I have a couple ideas I'd like to explore for this view—

I'd like to fade the entire background from one shade of purple to another, back and forth, to give a 'pulsing' effect while the app is connecting to Tor. This would be a subtle way to make the app feel alive and working while the connection is being made.
tla, Is this something that is implementable? :)

The other idea for this view is to make the characters in this illustration 'tappable' so that when you select one, it would tell you how that person uses Tor. Ex: "Normal people use Tor to protect their privacy..." These phrases would be pulled from the Tor website. Some of them may need to be tweaked a little bit to be more concise for mobile. We could even animate the character slightly (like nudging it up and back down) when it's selected.
tla, Are there any challenges that you perceive in doing something like this?

ad 1) Should be doable without much problem. Memo to self:
http://stackoverflow.com/questions/3762561/how-to-animate-the-background-color-of-a-uilabel
ad 2) This is going to be a little more tricky:

In order to have the characters jump up and down, I need everyone as a single, masked out, image.
To have that image composition working on different screen sizes (from a 3.5" iPhone 4s in portrait to a 13" iPad Pro in landscape orientation) can get quite tricky. (Even if we would let go of the bouncing and wouldn't have masked-out single images.)
Adding network traffic code for this kind of feature seems a little over the top to me.
Last issue: Network traffic? Unobfuscated? A TOR network connection is not established at that point. That means, when a user taps a character, they will leak a network connection to a static address. If I were an opressive regime, I would reset all connections a client is currently doing, when that connection is triggered. @n8fr8: What's your take on this?

Here are notes to document the discussion @tladesignz and I had regarding the design for this view.

The connecting view has multiple states:

initial state ("Our diverse community...")

a state for each character when tapped, which displays different text about how people use Tor.

an error state, displayed when the app gets stuck in the progress for 'x' seconds and needs to be shut down and re-opened. @mtigas please confirm the time we should wait before asking the user to restart. (Note: the first thing to try if the app is not getting a connection to Tor, is to use a bridge. We should only show an error if the app absolutely has to be restarted to get Tor to work.)

The progress indicator behaves independent of everything on the screen. (The illustration interactions and progress indicator are not interdependent.)

The illustration will be designed to work on multiple screens—mobile portrait being the smallest; iPad landscape being the largest. The final illustration will have a ratio of about 1.5:4 to optimize for the ipad landscape view. It will be cropped starting on the left side at a 1:1 ratio to optimize for the mobile portrait view. There needs to be a decent amount of padding around the illustrated characters so that the interactive spots can be effectively and more simply implemented.

We have initial illustrations from Vahid at Vivido! I'm getting clarity on whether he intends to merge them into one view or keep them separate.
@tladesignz what is your opinion? I think these look quite nice separate. If they were kept this way, I imagine having the app cycle through the views while it's connecting. In addition, we could add a tap that would allow users to manually move to the next one.

These are hilarious and lovely. I would love to have one with all the animals together. A group shot of some sort perhaps?

@cstiens I love them!
If we could all have them against transparent background, all issues about scaling, different device sizes and orientation would be off the table. Only the owl and the penguins images would need a slight rework to look good on all devices and orientations. Or we need more thinking on how to crop and size them right so they always work.

If we could all have them against transparent background, all issues about scaling, different device sizes and orientation would be off the table.

@tladesignz Do you mean if we have them against a transparent background and show them as separate images rather than one?

@cstiens Yeah, exactly. The pictures somewhat imply that, and also you did say so on your comment. :-)

@tladesignz, I have .svg files for the illustrations in the connecting view. There will be 7 separate ones that we cycle through. I'm not sure which format you'd like, so I've attached the first image as a png @1x and @2x, and a pdf. The image is formatted so that you can position the bottom of the image at the bottom of the screen in portrait mode. I think that will work, but you probably have a better idea. Let me know!
For landscape mode, I think we can scale the image down by 50% and position it at the bottom center. I will mock this up with the images to see if it works for them all. If not, I'll provide separate images for the landscape view.
Lastly, the images will have transparent backgrounds so we can set the background color for each in the app. Each image will have a different background color.

img-activitst.pdf

Yeah, that's nice. I like the idea and the pictures!
@cstiens The format which is best, would be a PDF containing vector graphics but with a defined target size in points. The point reference is the logical resolution of the devices, not the physical one. With all "Retina" devices, the physical resolution is double (in each direction) or even triple (on the "Plus" iPhones) of the logical resolution.
The Xcode IDE will then render the needed bitmap images on build, from this source files.
Please see these websites for reference:
http://iosres.com/
https://www.paintcodeapp.com/news/iphone-6-screens-demystified
BTW: Besides all this, the images still can be defined to display in a different (logical) size, which of course will introduce additional processing overhead and a theoretic haziness (or non-sharpness) :-) But that can normally be ignored, due to the enormous power, high resolution and small sizes of the screens, where this all operates in. One won't recognize a difference, normally.

The format which is best, would be a PDF containing vector graphics but with a defined target size in points.

@tladesignz Perfect. We can do PDFs containing vectors. Now I'm just wandering if it's best to give you images that are the full size of the screen or only part of the screen. Which is best for positioning—A or B? I read the link you sent, but it didn't seem to answer this question.

@cstiens Smaller than A. Only the box containing the images.
The vector graphics will be converted to bitmap, so even when the image is transparent, it will still be pixels which have to be stored. Transparent ones, but nevertheless pixels which eat up storage and especially RAM!

Ok thanks!

@tladesignz I've attached the single illustrations as .pdfs. The group and background colors are still to come.
single-illustrations.zip

@cstiens I'm sorry, Carrie - I didn't express my self well enough... Can you please make the images in a box of the same size? Since they will get swapped with each other, they should nominally occupy the same screen estate, even if the real content is not exactly of the same size.

Yep. No problem. That's what I was getting at with A. Since some of the images bleed to the side and/or bottom.

@tladesignz Here they are—
single-illustrations_same-size.zip

Here are the background colors:
Group: 7D4698
Activist: 2196F3
People: CDEA52
Worker: 69D5A1
Journalist: FFCFBF
Business: FFDE2A
Facebook: 4A4A4A
Blogger: EE8B3C

First try with f99ae9a87e88b7c6c81333602f4a62b24648b6e3.

@tladesignz Here's a screenshot showing which views need black text instead of white.

Here's a version of the group photo that is not cropped on any side: img-groupv2.pdf

@tladesignz I've asked our illustrator for a version of the owl that doesn't bleed to the edge. I'm going to wait to hear back and give you all of the final updated illustrations at once so you don't have to keep making updates.

@cstiens Fine by me!

@tladesignz I've attached a zip file that contains all of the illustrations scaled appropriately so that there's not extra padding, and adjusted so that they do not bleed to any of the edges.
Also, please put these under this CC license: https://creativecommons.org/licenses/by-nc/2.0/
Thank you!!
illustrationsv2-scaled.zip

Great! Who's name should be mentioned for the artwork?


Can't edit variables in Variable explorer for IPython Console

From<EMAIL_ADDRESS>on 2011-12-01T02:14:17Z
Spyder Version:  2.1.4
Python Version:  2.6.5
Qt Version:      4.7.2, PyQt4 (API v1) 4.8.4 on Windows
What steps will reproduce the problem?

run "a=1" in IPython Console
a is shown in Variable explorer
try edit it. What is the expected output? What do you see instead? I got error messagebox or traceback in Internal console:

Here is the traceback in Internal console:
>>> Traceback (most recent call last):
File "C:\Python26\lib\site-packages\spyderlib\widgets\dicteditor.py", line 486, in setModelData
self.get_value(index),
File "C:\Python26\lib\site-packages\spyderlib\widgets\dicteditor.py", line 1174, in get_value
return self.get_value_func(name)
File "C:\Python26\lib\site-packages\spyderlib\widgets\externalshell\namespacebrowser.py", line 334, in get_value
raise pickle.PicklingError(msg)
pickle.PicklingError: Object <b>a is not picklable
Please provide any additional information below
.
Attachment: edititem.png
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=857

From pierre.raybaut on 2011-12-01T00:36:58Z
Ok, I know exactly what it is.
This is a regression of v2.1.4.
Please downgrade to v2.1.2 if possible.
I'm fixing this ASAP.
Status: Started
Labels: -Priority-Medium Priority-Critical Cat-VariableExplorer Milestone-Release2.1

From pierre.raybaut on 2011-12-01T02:02:34Z
I thought I knew what is was about, but actually I don't and I even can't reproduce it.
Is anyone able to reproduce this bug?

From pierre.raybaut on 2011-12-01T00:57:01Z
Labels: Component-IPython

From<EMAIL_ADDRESS>on 2011-12-01T16:45:36Z
There is nothing in monitor.log. I enabled the DEBUG=True,
When I double "a" in the variable explorer, I got the error message, and here is the monitor_debug.log.
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:command: 'set_remote_view_settings()'
DEBUG:root: result: None
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:command: u"isdefined('m.getglobal', force_import=False)"
DEBUG:root: result: False
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:connection timed out -> updating remote view
DEBUG:root:****** Introspection request /End ******
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:connection timed out -> updating remote view
DEBUG:root:****** Introspection request /End ******
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:command: 'get_global("a")'
DEBUG:root: result: 1
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:connection timed out -> updating remote view
DEBUG:root:****** Introspection request /End ******
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
DEBUG:root:connection timed out -> updating remote view
DEBUG:root:****** Introspection request /End ******
DEBUG:root:updating remote view
DEBUG:root:sending result
DEBUG:root:****** Introspection request /End ******
DEBUG:root:****** Introspection request /Begin ******
I will do some debug, and report later.

From pierre.raybaut on 2011-12-01T05:21:24Z
You may post here the monitor.log file that may have been created in Spyder's conf directory (in your home directory: folder named .spyder2).
Or, you could try to enable the Debug mode in the monitor (set the DEBUG global to True in spyderlib/widgets/monitor.py) and take a look at the monitor_debug.log.

From<EMAIL_ADDRESS>on 2011-12-01T17:38:25Z
I add some print code in communicate(), write_packet(), read_packet() in bsdsocket.py:
When I double click the "a=1" in variable explorer
In the spyder GUI process, bsdsocket.communicate() output:
===================================================
communicate write_packet get_global("a")
write_packet 1a000000800255135f5f6765745f676c6f62616c5f5f282261222971012e
communicate read_packet
read_packet 4 80024e2e
communicate write_packet a is not None
write_packet<PHONE_NUMBER>02550d61206973206e6f74204e6f6e6571012e
communicate read_packet
read_packet 5 80024b012e
===================================================
here "80024e2e" is None:
>>> print pickle.loads(binascii.unhexlify("80024e2e"))
"80024b012e" is 1:
>>> print pickle.loads(binascii.unhexlify("80024b012e"))
In the IPython process:
===================================================
read_packet 4 80024e2e
write_packet<PHONE_NUMBER>024e2e
read_packet 26 800255135f5f6765745f676c6f62616c5f5f282261222971012e
command: 'get_global("a")'
write_packet<PHONE_NUMBER>024b012e
read_packet 20 8002550d61206973206e6f74204e6f6e6571012e command: 'a is not None'
===================================================
So, afther it get the get_global("a") command, it write 1 to the socket.
It seems that the None object sent before get_global("a") is received by
the GUI process.

From<EMAIL_ADDRESS>on 2011-12-01T18:37:36Z
I changed the communicate function to:
def communicate(sock, command, settings=[]):
## new com implementation: (see solution (2) in issue #434 )
#def communicate(sock, command, settings=[], timeout=None):
"""Communicate with monitor"""
flag = False
if command == 'get_global("a")':
flag = True
if flag: print "communicate", command
write_packet(sock, command)
if flag: print "after write"
for option in settings:
    write_packet(sock, option)
if flag: print "after option"
\# old com implementation: (see solution (1) in issue #434 )
try:
    output = read_packet(sock)
except:
    output = "read_packet error"
if flag: print "after output", output
if flag and output is None:
    output = read_packet(sock)
    print "read again", output
return output

here is the output, the first time get_global("a") will get a None object and then the correct object 1. After this, the communication is OK. And it also fixes issue #858 .
=======================================
communicate get_global("a")
after write
after option
after output None
read again 1
communicate get_global("a")
after write
after option
after output 1
communicate get_global("a")
after write
after option
after output 1
communicate get_global("a")
after write
after option
after output 2
communicate get_global("a")
after write
after option
after output 2
communicate get_global("a")
after write
after option
after output 2
communicate get_global("a")
after write
after option
after output 3

From<EMAIL_ADDRESS>on 2011-12-01T21:32:07Z
it seems that I got why there is an excess None object.
I added the following lines at the beginning of communicate():
import threading
print "communicate", sock, command, threading.current_thread().name

and add a line in ask_monitor() in pythonshell.py after except MemoryError:
print "ask_monitor MemoryError"

and some codes that output what is received and returned in Monitor.run() in monitor.py.
When I start spyder, the Internal console shows :
---------------------------
communicate <socket._socketobject object at 0x074DEEA0> set_remote_view_settings() Thread-2
communicate <socket._socketobject object at 0x074DEEA0> isdefined('gc.get_objects', force_import=False) MainThread
ask_monitor MemoryError
---------------------------
So, two thread Thread-2 and MainThread use the same socket to send command. the isdefined() command is failed by MemoryError exception.
the IPython console shows:
read_packet set_remote_view_settings()
communicate <socket._socketobject object at 0x050C8F48> {'data': {}, 'command': 'remote_view'} Thread-1
write_packet 4 bytes
read_packet isdefined('gc.get_objects', force_import=False)
write_packet 4 bytes
both the set_remote_view_settings() and isdefined() commands are received and None object is returned.
Because the call of communicate() in ask_monitor() failed, one of the None object is remained.
So a quick fix is by using a Lock:
from threading import Lock
communicate_lock = Lock()
def communicate(sock, command, settings=[]):
"""Communicate with monitor"""
try:
communicate_lock.acquire()
write_packet(sock, command)
for option in settings:
write_packet(sock, option)
# old com implementation: (see solution (1) in issue #434 )
return read_packet(sock)
finally:
communicate_lock.release()

From pierre.raybaut on 2011-12-03T00:41:11Z
Thank you very much for all this debugging work.
I'll take a look at it today or tomorrow.

From<EMAIL_ADDRESS>on 2011-12-01T18:51:55Z
I added the following code before write_packet(sock, command) in communicate() to clear the receive buffer, and it fixed the problem. I don't know how to figure out why IPython process send an excess None object yet.
timeout = sock.gettimeout()
sock.settimeout(0)
try:
    sock.recv(1024)
except:
    pass
sock.settimeout(timeout)

From pierre.raybaut on 2011-12-04T00:30:05Z
This issue was updated by revision bb5e4d94bc3d .
Thanks a lot for your contribution to the project.
Update issue #858 Status: Fixed
Status: Fixed


Fix jinja import

Update Jinja version to prevent soft_unicode Markupsafe import error.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 51.253%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
962

Relevant Lines:
1667

💛  - Coveralls


Fix missing null check in HystrixCacheKeyGenerator.

When no @CacheKey are specified, a null pointer occurred. This fixes it.

NetflixOSS » Hystrix » Hystrix-pull-requests #179 SUCCESS
This pull request looks good

Thanks, @fredboutin


364 sharing photos to inat

Ok, after the recent changes, I can get this to build and work in Android and iOS, and it seems to work as expected, so remaining todos are

[ ] pack the App.js config stuff away into a hook or some other file
[ ] resolve conflicts
[ ] let everyone on the team know that they may need to run this in xcode at least once before it will build properly for iOS

@kueda -

Pushed a fix for the iOS simulator issue
However, couldn't recreate the crash you've experienced - tried iOS device, iOS simulator and Android. I did add an additional check there that might prevent the crash + some additional debug print
Something to note - while trying to merge with latest main branch - , Android build is broken (cannot run on Android device, getting a build error).

Something to note - while trying to merge with latest main branch - , Android build is broken (cannot run on Android device, getting a build error).

I tried merging and was able to build on both but sharing won't work on iOS (obs edit never opens). Fun. I'll spend a little more time banging my head against it.

@budowski I made https://github.com/inaturalist/iNaturalistReactNative/tree/364-sharing-photos-to-inat-kueda, which builds on both platforms and works for me in Android, but in iOS (on device and in simulator), when I share a photo, iNat opens but it just lands on My Observations and the handleShare function never gets called. Can you spot anything in the iOS config there that looks off to you?


[Snyk] Security upgrade socket.io from 3.1.2 to 4.8.0

Snyk has created this PR to fix 1 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

package.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Denial of Service (DoS) SNYK-JS-WS-7266574
  169

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

Checkmarx One – Scan Summary & Details – ef5dc108-93f7-46d8-9814-d14cfcebeb1c
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

CVE-2024-34393
Npm-libxmljs2-0.33.0
Vulnerable Package

CVE-2024-40643
Npm-htmlparser2-3.3.0
Vulnerable Package

CVE-2024-40643
Npm-htmlparser2-4.1.0
Vulnerable Package

CVE-2024-40643
Npm-htmlparser2-3.10.1
Vulnerable Package

CVE-2024-43788
Npm-webpack-5.76.1
Vulnerable Package

Cx14b19a02-387a
Npm-body-parser-1.20.3
Vulnerable Package

Fixed Issues

Severity
Issue
Source File / Package

CVE-2024-38355
Npm-socket.io-3.1.2

CVE-2022-41940
Npm-engine.io-4.1.2


onEdgeMouse[Move/Enter/Leave] event handlers not recognized

Attempting to use these event handlers with <ReactFlow /> causes an error: Warning: Unknown event handler property `onEdgeMouse[Move/Enter/Leave]`. It will be ignored.

are you using the latest version v9.2.0?

Thanks for the response, updated and everything working as expected. Definitely did not expect releases to be coming out at the rate they are.

Unfortunately we only have docs for the latest version.


Feature request: Hover Actions: Method References

rust-analyzer in VSCode currently offers:

[x] Lens: Implementations
[x] Lens: Method References
[x] Hover Actions: Implementations
[ ] Hover Actions: Method References

I find the Method References feature rather handy (i.e. one sees the usage count without invoking references search), but I find Lenses rather intrusive. Would it be possible to add Method References under Hover Actions as well?
I'm using rust-analyzer v0.2.384 from open-vsx.org + VSCodium 1.51.1.

Working on it.


Installed ArcGIS Pro but not appearing in Programs and Features/Start menu

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request

Module Version

3.0.0

Affected Resource(s)

ArcGIS_Pro

Configuration Files

{
    "AllNodes": [
        {
            "NodeName": "MACHINENAME",
            "Role": [
                "Pro"
            ]
        }
    ],
    "ConfigData": {
        "ProVersion": "2.5",
        "Pro": {
            "AuthorizationType": "NAMED_USER",
            "BlockAddIns": "",
            "SoftwareClass": "",
            "AllUsers": "",
            "EnableEUEI": "True",
            "CheckForUpdatesAtStartup": "True",
            "Installer": {
                "Path": "\\\\SHARE\\gis\\software\\pro\\ArcGISPro_25_172639.exe",
                "InstallDir": "E:\\Programs\\ArcGIS\\Pro",
                "PatchesDir": ""
            }
        }
    }
}

Expected Behavior
Install ArcGIS Pro, and be visible in Start menu and Window's Programs and Features menu.
Actual Behavior
Directory in E:/Programs/ArcGIS/Pro was created, and I can successfully navigate to the bin folder and find the exe. Software successfully launches as well. However, as noted, ArcGIS Pro does not appear in the Start menu nor in the Programs and Features.
Tested both Named User and Single Use with the same result, and also tested on two different server machines (both running Windows Server 2016 English) with the same result.
Running the installation manually outside of PowerShell does not have this issue.
Steps to Reproduce
In Powershell ISE:
Invoke-ArcGISConfiguration "\\SHARE\gis\powershell\gii\configs\Pro-Named.json" -Mode Install

Hello @eanderson2030 ,
I suspect the issue is related to missing or blank parameters during the installation. What values were used for "BlockAddIns": "", "SoftwareClass": "", "AllUsers": "",? If these are present in the json but left blank they still get passed during the silent install command which could cause this behavoir.
We will be updating the Sample Json files in the next release. Here is a better sample:
{
    "AllNodes": [
        {
            "NodeName": "[Machine Name 1]",
            "Role": [
                "Pro"
            ]
        }
    ],
    "ConfigData": {
        "ProVersion": "[Version of ArcGIS Pro ]",
        "Pro": {
            "LicenseFilePath": "[License File Path - Pro ]",
            "AuthorizationType": "SINGLE_USE",
            "LockAuthSettings": "[ True(Default) | False ]",
            "BlockAddIns": "[0 (Default All Addins Allowed), 1 (Signed by CA), 2 (Esri Addins Only), 3 (Esri Addins Only from Admin Folder), 4 (No Addins Allowed), 5 (Only Addins from Addmin Folder)]",
            "SoftwareClass": "[Viewer | Editor | Professional]",
            "PortalList": "[List of Portals for Pro]",
            "AllUsers": "[1 (Per Machine Install), 2 (Default Per User Install]",
            "EnableEUEI": "[ True (Default enables participation of Esri User Experience Improvement Program) | False]",
            "CheckForUpdatesAtStartup": "[ True (Default enables automatic update notifications of ArcGIS Pro) | False ]",
            "Installer": {
                "Path": "[Pro Installer Path]",
                "InstallDir": "[Pro Install Dir - Ex. C:\\ArcGIS\\Pro]",
                "PatchesDir": ""
            }
        }
    }
}

Hi @cameronkroeker ,
Thanks for the response. I tested what you suggested with the Single Use config, however, it has the same issue. I'm open to any other suggestions you may have. Thank you!
{     "AllNodes": [         {             "NodeName": "MACHINENAME",             "Role": [                 "Pro"             ]         }     ],     "ConfigData": {         "ProVersion": "2.5",         "Pro": {             "LicenseFilePath": "\\\\SHARE\\gis\\software\\_licenses\\ArcGISProAdvanced_SingleUse_570626",             "AuthorizationType": "SINGLE_USE",             "LockAuthSettings": "True",             "BlockAddIns": "0",             "SoftwareClass": "Professional",             "PortalList": "https://www.arcgis.com",             "AllUsers": "2",             "EnableEUEI": "True",             "CheckForUpdatesAtStartup": "True",             "Installer": {                 "Path": "\\\\SHARE\\gis\\software\\pro\\ArcGISPro_25_172639.exe",                 "InstallDir": "E:\\Programs\\ArcGIS\\Pro",                 "PatchesDir": ""             }         }     } }

Hi @eanderson2030 ,
For the parameters that are boolean, true|false, let's remove the double quotes. For example:
"LockAuthSettings": True,
"EnableEUEI": True,
"CheckForUpdatesAtStartup": True,

Also, if not passing in a directory for "PatchesDir": "", let's remove that as well.

Hey @cameronkroeker ,
Good catch on the license file extension, I tested adding the extension first without making the other changes you suggested, however, it had the same issue. Guess that makes sense since I'm seeing the issue using either the Pro-Named or Pro-SingleUse config.
When I make the suggestion to remove the double-quotes around the boolean parameters, I get the following:
ConvertFrom-Json : Invalid JSON primitive: True.
At C:\Program Files\WindowsPowerShell\Modules\ArcGIS\ArcGIS.psm1:589 char:45
+ ...  $ConfigurationParamsJSON = (ConvertFrom-Json (Get-Content $cf -Raw))
+                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-Json], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

Hey @cameronkroeker ,
Good catch on the license file extension, I tested adding the extension first without making the other changes you suggested, however, it had the same issue. Guess that makes sense since I'm seeing the issue using either the Pro-Named or Pro-SingleUse config.
When I make the suggestion to remove the double-quotes around the boolean parameters, I get the following:
ConvertFrom-Json : Invalid JSON primitive: True.
At C:\Program Files\WindowsPowerShell\Modules\ArcGIS\ArcGIS.psm1:589 char:45
+ ...  $ConfigurationParamsJSON = (ConvertFrom-Json (Get-Content $cf -Raw))
+                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [ConvertFrom-Json], ArgumentException
    + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromJsonCommand

My apologies @eanderson2030, I forgot json is case sensitive. The boolean values need to be all lowercase and without quotes.
Try:
"LockAuthSettings": true,
"EnableEUEI": true,
"CheckForUpdatesAtStartup": true,

Hey @cameronkroeker
Thanks again for your help. I actually just had some success and was able to resolve this by setting AllUsers to "1", instead of the default of "2".

Hey @cameronkroeker
Thanks again for your help. I actually just had some success and was able to resolve this by setting AllUsers to "1", instead of the default of "2".

Thanks @eanderson2030 for this clue. We found when using per user installation option (AllUsers=2), the module is installing Pro as NT Authority\System account rather than the Current User. This is why the installation appears to be incomplete because its getting installed into the LocalSystem registry/profile rather than the Current User (therefore current user wont be able to see the start menu shortcuts or listed in Programs List of Control Panel). So for now it is best to use per machine installation option (AllUsers=1).
In the next release we will push a change that will only allow per machine installations to prevent this confusion of the installation being incomplete. And for future releases We will also evaluate adding a parameter to each individual dsc resources to allow for installation to be by a specific user rather than NT Authority\System:
https://powershell.org/forums/topic/running-an-entire-dsc-configuration-as-a-user-with-admin-rights/

Excellent, thanks for the explanation @cameronkroeker and glad to hear you and the team will be making changes in the future to prevent this confusing issue. Thanks again for the responsive and helpful support.


I have signed the CLA, but pr tracking says cla not signed yet

I have signed the CLA but the error says aparna_kesarkar seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
The user aparna_kesarkar is from another version control service provider. How to I change this commit to my github user? Also I wasn't allowed to create the same user on github since github doesn't allow '_' in usernames.

Closing this issue for now, as the problem seems to be addressed.
@aak7912, if you have further issues please open a new issue.


Documentation - More Details & usage for boost with file / images

Currently, I am experimenting to implement boost with plenty of images e.g. as an alternative comparable to
if($file = $site->file('file://'.$uuid)){
   // do something
}

but using  something like:
if($file = boost($fileuuid)){

}
// or
if($file = boost('file://'.$fileuuid)){

}

Didn't seem to work.
Also, my question would be, if I call an image via UUID - if the performance would be increased in a one by one image scenario.

the bigger issue with the image is that kirby will load the parent page slower than boost would (using the old bolt code).
if i were to add a tracker for files i would store try to solve that first and formost.
what is you dataset/setup like exactly? how many pages and files? what does the pages tree look like?

so far i am just playing around, looking to see how the performance could hold up.
Basically as an idea, having an image gallery where the file can be bought as like stock photo, or wallpaper.
Which could be 100, 1000 or even 10000 photos.
File Structure
- category 1
-- subcategory 1
---files list
-- subcategory 2
---files list
-- subcategory 3
---files list

- category 2
-- subcategory 1
.....
.....

so far i have been playing around to see the performance, while using LAPSE to cache/store the files collection (let's say 500 to 600 images) each subcategory which will be paginated and displayed ... like 50 per page which then could be acting like a cart ....
the cart function could be using the uuid as key to make sure the picture exists, as well as only keep one occurance (digital download, there's no quantity)
the basic test functionality is already there and working. I am just wondering if with as many files as 10000+ the UUID will become a bottleneck.
        $image = $site->file('file://'.$uuid);
        if($image){
            if(!isset($cart[$uuid])){
                $cart[$uuid] = 1;
            }
            $session->set('cart', $cart);
        }

In the Cart and calculations and whatever, the $cart will be run through,
    foreach($cart as $key => $item){
        if($image = $site->file('file://'.$key)){
            $total += $image->page()->parent()->price()->float();
        }
    }

So let's say there's 10 Files in the Cart, it will run though each File via UUID to confirm it's actually available, as well as getting the price from a parent page.
in a later scenario, the file uuid will saved in an order, and the download functionality would access the file via the uuid as well to trigger a secured download.

i had an idea how to solve it simple enough and will add a lookup for files later today.

i added support for looking up files.
i assume you did set the core uuid cache to apcu already to get max performance there.
on dev-setup with filecache in unittesting... so boost will only get even faster in production...
10000 call to get the same file
boost(): 0.68
site()->file(): 1.09

personally i would create a cache that updates on the parent page update hook to cache the price for all images. i would not cache it for more than 1day just to be save but i might create a lots of hit for apcu write then.
'hooks' => [
        'page.update:after' => function (Kirby\Cms\Page $newPage, Kirby\Cms\Page $oldPage) {
            if ($newPage->template()->name() === 'myPageWithPrice') {
               foreach($newPage->index()->images() as $image) {
                  kirby()->cache('pricesPerImage')->set($image->uuid()->toString(), $newPage->price()->toFloat(), 24*60*60);
              }
         }
        }
    ]
``

 instead
```php
$total += $image->page()->parent()->price()->float();

get for cache and use 0 for nonexisting
$total += kirby()->cache('pricesPerImage')->get($key, 0);

TIP: you can also set your custom cache to apcu or use lapse with apcu.

this means you would have do file lookup at all. maybe you should add hooks for file and page delete to flush the unneeded caches but its not really that important imho.

I've updated via composer and was trying out to replace
$image = $site->file('file://'.$uuid);
$image = boost($uuid);

and it seems not to work, is the usage correct to use boost($uuid)
e.g. it is already identifing automatically that this uuid will be a file?
since kirby introduced uuids, i find it very straight forward using the uuid instead of diruri, or uuid, while diruri und uids change, the uuids doesn't.
to your comments above, i am trying out different caching methods, but locally my setup does not allow me to try out apcu, so i am usually doing tests with no caching / debug on, or sometimes sqlite driver, but locally sqlite having sqlite being locked error

you need to have the schema for the file.
boost('file://'.$uuid);
i decided to do it this way because kirby stores them with schema in their pages and files fields.

in your updated documentation you write boost($uuid) for images, which seems missleading if it's supposed to be boost('file://'.$uuid) according to your last comment
is 4.0.0. backwards compatible? as far as i can see composer wants kirby v4 to be installed.
i am still stuck with using boost with files...
Infos:
Kirby 3.9.7
Boost 2.4.1
PHP 8.2.11
site()->boost();
// boostmark showing like 3109 results

if($file = $site->file('file://'.$uuid){
 // works
}

if($file = boost($uuid){
 dump($file); // empty / null / no dump
}
if($file = boost('file://'.$uuid){
 dump($file); // empty / null / no dump
}

tried with debug on, debug off, sqlite, file cache etc.pp.
i am having page "has boost" models for the pages which include the images

i added that files feature for the k4 version and plugin 4.x. any reason you will not use k4?
but i think it should be backwards compatible and i will test soon (apart from the composer conflict i set as a precaution).
kirby docs refer to the UUID as including the schema.
https://getkirby.com/docs/guide/uuids

i added that files feature for the k4 version and plugin 4.x. any reason you will not use k4?
but i think it should be backwards compatible and i will test soon (apart from the composer conflict i set as a precaution).
kirby docs refer to the UUID as including the schema. https://getkirby.com/docs/guide/uuids

Eventually I will upgrade, but since it's only in beta I am waiting for a stable release


Update clang-format to 3.8

Pros:

we standardize on just one version of clang
the new version sorts includes
I mostly prefer the new decisions

Cons:

I only mostly prefer the new decisions
Churn

Let's bite the bullet on this. LGTM.


FlutterSecureStoragePlugin.java uses or overrides a deprecated API.

Note: C:\src\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\flutter_secure_storage-4.2.0\android\src\main\java\com\it_nomads\fluttersecurestorage\FlutterSecureStoragePlugin.java uses or overrides a deprecated API.

More info:
/Users/dieter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.5/android/src/main/java/com/it_nomads/fluttersecurestorage/ciphers/RSACipher18Implementation.java:131: warning: [deprecation] locale in Configuration has been deprecated
        config.locale = locale;
              ^
/Users/dieter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.5/android/src/main/java/com/it_nomads/fluttersecurestorage/ciphers/RSACipher18Implementation.java:132: warning: [deprecation] updateConfiguration(Configuration,DisplayMetrics) in Resources has been deprecated
        resources.updateConfiguration(config, resources.getDisplayMetrics());
                 ^
/Users/dieter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.5/android/src/main/java/com/it_nomads/fluttersecurestorage/ciphers/RSACipher18Implementation.java:150: warning: [deprecation] KeyPairGeneratorSpec in android.security has been deprecated
                spec = new android.security.KeyPairGeneratorSpec.Builder(context)
                                           ^
/Users/dieter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.5/android/src/main/java/com/it_nomads/fluttersecurestorage/ciphers/RSACipher18Implementation.java:150: warning: [deprecation] Builder in KeyPairGeneratorSpec has been deprecated
                spec = new android.security.KeyPairGeneratorSpec.Builder(context)
                                                                ^
4 warnings

Same as #162

I also received this error in the version 4.2

@mogol any news?

@mogol any news?

The same for me
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.0, on macOS 11.3.1 20E241 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] Connected device (3 available)

All Possible working solution here [Solved] FlutterFirebaseCorePlugin.java uses or overrides a deprecated API

This is not a solution:

Don’t use Firebase
minds 25, target 30

On 25 Jun 2021, at 03:54, flutterq2<EMAIL_ADDRESS>wrote:
All Possible working solution here [Solved] FlutterFirebaseCorePlugin.java uses or overrides a deprecated APIhttps://fluttercorner.com/solved-flutterfirebasecoreplugin-java-uses-or-overrides-a-deprecated-api/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/mogol/flutter_secure_storage/issues/234#issuecomment-868139300, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANWQYPOQO3SRY4RN7XJC62TTUPOVPANCNFSM4337OXIA.

Duplicate of #162

I have the same issue

Because reasons is AsyncTask

I had the same issue and the reason was the flutter secure storage package version is lower than minSdk 23
So, the solution was:

flutter pub outdated to visualize dependencies with low version
flutter pub upgrade --major-versions to upgrade that dependencies

Deprecation warning still exists. Would this please be solved?

any solution abaout this ?

still no solution?

Any solution on this problem?


[Bug] Changing activity type name should result in non deterministic error

The following change should result in non deterministic error:
const activities = proxyActivities({ startToCloseTimeout: '1m' })
export async function myWorkflow(): Promise<void> {
-  await activities.foo();
+  await activities.bar();
}

Today, the workflow can be replayed and no error is emitted.

Validating activity type name would also help detect many cases where significant changes to workflow code structure does not result in non-determinism error on replay because former history events get perniciously matched to totally unrelated commands in the new code.
I have seen this situation myself a few time, but here is a very interesting example submitted by a slack user. He starts a workflow execution using this code, then, while the workflow is waiting on the final sleep (at E), he stops the worker, and modifies parseWebhook from being a workflow function to being an activity (ie. comment line B and uncomment line C), without using a patch (the user was actually trying to figure out if a patch was needed in that case), and restarts the worker to test.
The user gets no non-determinism error, but he's puzzled observing that the workflow is now stuck inside the main loop. Turns out that the newly added activity at line C is incorrectly matched with the historical execution of activity at line D. webhookType is now undefined, so the code takes the continue statement, and the implicit sleep done by the condition at line A now get incorrectly matched to the sleep at line E.
export async function testWorkflow(): Promise<void> {
  let status = 'pending';
  let webhook: object | null = null;
  let webhookType;

  setHandler(webhookSignal, (wbh: object) => {
    webhook = wbh;
  });

  while(!isFinalStatus(status)) {
    if (await condition(() => webhook !== null, WEBHOOK_TIMEOUT)) {       // *A*
      // Before
      ({ status, webhookType } = parseWebhook(webhook));                  // *B*

      // After
      // ({ status, webhookType } = await coreAct.parseWebhook(webhook)); // *C*

      webhook = null;
      if (webhookType !== 'test') continue;
    } else {
      status = await coreAct.getTransactionStatus();
    }

    await coreAct.updateTransaction({ status });                          // *D*
  }

  await sleep(120 * 1000);                                                // *E*
}

Slack user here 👋
If somehow there's the need of the full code example, I can provide it.

This always should have been considered nondeterminism. Surprised this one slipped by somehow. I'll fix shortly.

Will be addressed in this issue https://github.com/temporalio/sdk-core/issues/443.

@bergundy Lol what you just linked this issue to itself

🤦

For some reason I thought this conversation was in the TS SDK issues...


Evaluate the detected mitosis location

This PR adds the evaluation functions for the mitosis prediction:

compute F1 score for the prediction result.
record the image ID where the trained model detect the mitosis but not in the ground truth data.
visualize the prediction result and the ground truth data on the image.

@dusenberrymw Could you help review this PR when you have time? Thanks!


[SPARK-45484][SQL][FOLLOWUP][DOCS] Update the document of parquet compression codec

What changes were proposed in this pull request?
This PR follows up https://github.com/apache/spark/pull/43310 to update the document of parquet compression codec.
Why are the changes needed?
Update the document of parquet compression codec.
Does this PR introduce any user-facing change?
'No'.
How was this patch tested?
N/A
Was this patch authored or co-authored using generative AI tooling?
'No'.

ping @dongjoon-hyun @srowen @wangyum

Merged to master

@srowen Thank you!


Oracle-Xe image on Dockerhub

Since this is an official dockerfile is there any reason an image can't be pushed to dockerhub?

The Oracle Standard Terms & Conditions do not permit you to share Oracle binaries on any platform. That's why we provide these Dockerfiles: so that you can build your own image after downloading the software in an approved way.
If you want pre-built Docker images that include Oracle proprietary software, please check the Oracle Container Registry at https://container-registry.oracle.com.

Thanks, I didn't know about the registry

The Oracle Standard Terms & Conditions do not permit you to share Oracle binaries on any platform.

Do the T&Cs also prevent Oracle from sharing its own binaries?


net::ERR_CONNECTION_TIMED_OUT

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.24.0
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20220503.4
Platform
Windows
OS Version
No response
Bug Description
Unable to retrieve child resources.
Details:
{
"name": "Error",
"message": "net::ERR_CONNECTION_TIMED_OUT",
"stack": "Error: net::ERR_CONNECTION_TIMED_OUT\n    at SimpleURLLoaderWrapper. (node:electron/js2c/browser_init:105:7169)\n    at SimpleURLLoaderWrapper.emit (node:events:390:28)"
}
I was trying to copy a large folder from one blob to another under the same storage account, after a while I was getting a timeout error, then when I try to list all the blobs of that storage account, it fails every time with the above error.
Steps to Reproduce

Launch Storage Explorer
Select that particular storage account, list blobs, then fails

Actual Experience
The list of blobs fails
Expected Experience
Showing a list of blobs for that storage account
Additional Context
No response

@taoisu can you give using system proxy setting a try? You can read more about it here: https://docs.microsoft.com/en-us/azure/storage/common/storage-explorer-network#use-system-proxy-preview

Closing due to lack of response. If you are still encountering this issue, we recommend you either open a ticket via the Azure Portal or you can open a new issue here.


Add support for node v8 to travis+appveyor

Baby step towards #829

Coverage remained the same at 86.312% when pulling 636a6d91132e281b58c30fec04a463c0757e9060 on v8-redux into f1456b1cc96e89b82ac37b1896f23ef14aff80b6 on master.

Coverage remained the same at 86.312% when pulling 4ea0269212980f963b8d3ca55d38175cba97798f on v8-redux into f1456b1cc96e89b82ac37b1896f23ef14aff80b6 on master.

ugh, [publish binary] does not seem to work from a branch. Will merge now and do from master.


Swift source files should be recompiled when a library it uses changes

When I have a Swift component A that depends on a library B, when I change the source of the library B, then the source of A is not recompiled, but should be.
The Swift compile task does not consider the module files of its dependencies as inputs, meaning changes to the module files are ignored on later execution. Instead the source should be recompiled when one of the module files it uses changes.

This is specifically for when an ABI change is made to library B. If some implementation detail of library B changes, the compilation of B will not result in a different B.swiftmodule, and so, A needs not be recompiled. Correct? (I'm basing this on the behaviors observed when building with SwiftPM)

That sounds about right. Assuming we aren't mistaking, we should test these scenarios:

[ ] Non-ABI change of a source file of library B does not recompile component A
[ ] ABI change of source file of library B recompile component A

Open Questions

Do we consider a change to a file and adding/removing a file when testing ABI/non-ABI change equivalent? Putting it differently, do we need to test for modification, adding, and removing a file or simply one of the three is good enough for our test coverage?

Out of scope

[ ] Adding a new public method/class in library B doesn't recompile component A
[ ] Removing a public method/class in library B recompile component A

This last one could go deeper and recompile component A only if it was used which is a bit more tricky

For this issue, we should care about correctness rather than performance. So, we should recompile A when an ABI change is made to B, in the simplest way possible. If we also happen to recompile A when a non-ABI is made to B, that is also fine for this issue. We should split out compile avoidance (don't recompile when there's no ABI change) as a separate feature to do later. Without the correctness fixes in this issue, our Swift support is unreliable and basically not usable in practice. Without compile avoidance, it's not as good but at least still works.

Adding a new public method/class in library B doesn't recompile component A

We should in fact recompile A in this case, as adding a new class or function can lead to compilation failures in A. For example, the new class may now collide with a class of the same name in another module used by A, or may cause A to accidentally and incorrectly override a function in a subclass it uses from B, or ...
Until we know the language much better, we should avoid trying to be too clever with compile avoidance, and simply start with recompiling A on any visible change in B.

Thanks for your input Adam, it makes sense to split this into two issues.

This seems to be working, I added some coverage:
https://github.com/gradle/gradle/pull/3529

@eljobe could you take a look at this?

Reviewed. I'm happy with this change. Thanks for picking this up.


Capture logs in grafana using Loki

Setup Loki to aggregate logs in grafanna. Re #44

Done!
https://monitoring.biosimulations.org/explore


Add methods

faker()->boolean(30)
faker()->randomElement(['sum', 'count'])
On the old faker, there were 2 methods boolean() and randomElement(). The boolean() method takes as an argument the chance of obtaining ‘true’ and the randomElement() method takes as an argument an array of values

Will be easy to add, coming soon 🚀

For locales add company() method to have name of companies

For locales add address() method to give complete postal address

Also in person or internet we should add mail() or email() to give a random email address

Merged, thanks @martinsoenen


make sure ApolloBootstrapPropertySources is in the first place

Fix #1034

Codecov Report

Merging #1432 into master will increase coverage by 9.97%.
The diff coverage is 55.55%.

@@             Coverage Diff              @@
##             master    #1432      +/-   ##
============================================
+ Coverage     38.55%   48.53%   +9.97%
- Complexity      151     1800    +1649
============================================
  Files            41      379     +338
  Lines          1092    10923    +9831
  Branches        138     1116     +978
============================================
+ Hits            421     5301    +4880
- Misses          616     5237    +4621
- Partials         55      385     +330

Impacted Files
Coverage Δ
Complexity Δ

...apollo/spring/config/PropertySourcesProcessor.java
88.46% <55.55%> (ø)
16 <1> (?)

...trip/framework/apollo/util/function/Functions.java
100% <0%> (ø)
1% <0%> (?)

...trip/framework/apollo/openapi/dto/OpenItemDTO.java
0% <0%> (ø)
0% <0%> (?)

...rk/apollo/spring/property/SpringValueRegistry.java
100% <0%> (ø)
3% <0%> (?)

...framework/apollo/biz/service/NamespaceService.java
61.87% <0%> (ø)
29% <0%> (?)

...ramework/apollo/common/dto/GrayReleaseRuleDTO.java
0% <0%> (ø)
0% <0%> (?)

...ip/framework/apollo/internals/DefaultInjector.java
66.66% <0%> (ø)
3% <0%> (?)

...rk/apollo/biz/eureka/ApolloEurekaClientConfig.java
25% <0%> (ø)
1% <0%> (?)

...ework/apollo/biz/service/NamespaceLockService.java
80% <0%> (ø)
3% <0%> (?)

...o/configservice/wrapper/DeferredResultWrapper.java
100% <0%> (ø)
12% <0%> (?)

... and 329 more

Continue to review full report at Codecov.

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


block time graph

It would be very helpful if the explorer could display a block time graph

 block time graph

I've started working on this issue.


Toggle-able public terms link in footer

'Terms' link in footer should only appear when logged in, or when SHOW_PUBLIC_TERMS config is True (which is the default)
fixed typo in terms render method

@OptimusRhine thanks for catching that typo!


Generating an Andriod executable for rust application

Hi, I am exploring the package and was wondering how to generate executable that can run on Andriod for a open source project https://github.com/qdrant/qdrant
Not many resources are available
Can anyone provide steps for the same
Any leads in this matter, will be highly appreciated

Do you mean that the normal way of cross-compiling didn't work? (cross supports android)

Yes, it is not supported normally


enable Initializers for kubeadm

ref: 58428

i think this is an OK addition but the sentence needs to be structured better.
@kubernetes/sig-cluster-lifecycle-pr-reviews
@Bradamant3

/assign @Bradamant3
PR related to kubeadm

Thank you for the PR, but this is not recommended.
We should not document enabling alpha features that are intended to be deprecated.


There is a bug in NativeDockerClient.executeAndWait()

The NativeDockerClient.executeAndWait() method is not handling the output buffer properly.
See: http://stackoverflow.com/questions/159148/groovy-executing-shell-commands
When the files including in the container are large (approx. 750mb), the executeAndWait method just hangs indefinitely.
The method should be written like:
private static String executeAndWait(String cmdLine) {
    print "\nexecuteAndWait(${cmdLine})\n\n"

    def process = cmdLine.execute()
    def inStream = new StringBuffer()
    def outStream = new StringBuffer()

    process.waitForProcessOutput(inStream, outStream)
    if (process.exitValue()) {
        throw new GradleException("Docker execution failed\nCommand line [${cmdLine}] returned:\n${outStream}")
    }
    return inStream
}

This is fixed in dev branch already


ZHA: Aqara Magnet

Home Assistant
0.89.0b0
Description of problem:
Aqara magnet is detected also as a thermometer

Its not detected as a thermometer. the binary_sensor is the magnet and the thermometer is a thermometer, mine has it too. Bit of a bonus!

Functions as intended

Ok thank you  very much !! good bonus!!


Display complex CSS compatibility layout

In MDN, certain properties are shared between multiple contexts. For example, justify-items can be used in both flex and grid contexts.
https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items
The Browser Compat Data looks like this: https://github.com/mdn/browser-compat-data/blob/master/css/properties/justify-items.json
In VS Code, we currently display the highest supported browser version. For example, if a property is supported by

Chrome 30 in context A
Chrome 40 in context B

We'll show Chrome 40 as the compat string for Chrome.
MDN has a better layout for examining compat data:

We should find a way to present compat data for multiple contexts.

Not doable unless hover becomes more capable.


Wrong method call in setting collection variables

In section :
3. Select the Test tab and enter in the text section: pm.environment.set("bearerToken", pm.response.json().access_token);
This  pm.environment call does not store the variable for the whole collection to be used. You should call this method instead:
pm.collectionVariables.set

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

ID: a9d1459d-b21b-7a56-d484-50c20a95c628
Version Independent ID: 9adb2b55-d08f-aa34-7d6f-5fa87e1603ae
Content: Access the Azure Healthcare APIs FHIR service using Postman
Content Source: articles/healthcare-apis/use-postman.md
Service: healthcare-apis
GitHub Login: @ginalee-dotcom
Microsoft Alias: ginle

@mkoivi-ms Thank you for the feedback. We are actively investigating and will get back to you soon.

This is being assigned to the content author to evaluate and update as appropriate.

Thanks for the suggestion. We've created a PR to revise the doc.

#please-close


General questions regarding version 3.0.0

Hi Team,
I have been evaluating the solution by upgrading the stacks from version 1.5.X to 3.0.0. I have a few questions:

Where can I find the logs for the scheduling mechanism for ASG, similar to how I can see the logs for EC2 and RDS? For EC2 and RDS, I see the logs under SchedulerLogGroup, formatted as <Stack-Name>-logs with the stream format Scheduler-<service>-<account>-<region>-yyyymmdd.

I noticed three log groups related to ASG resources: <stack-name>-ASGHandler, <stack-name>-ASGSchedulerASGOrchestra, and <stack-name>-ASGSchedulerScheduleUpda. Could you please provide insights into these log groups? This information will help me troubleshoot any scheduling issues for ASG resources.

I conducted scenario-based testing for ASG resources by manually updating the configuration (min, max, desired) to observe how it handles these changes during scale-out. The test worked fine; the ASG resource configured with the latest settings during the next scale-out and updated the scheduled action. However, I couldn't find any logs detailing these configuration changes and the internal workings of ASG resources in my hub account. Could you help me locate these logs?

Hi @shudhanshu03 I believe all the logs you are looking for are under the ASGHandler's lambda log group and the activity history on the ASG itself. Because scheduling is delegated to ASG Scheduled Scaling Rules, there are not Scheduling Decision logs like you would see for EC2/RDS in CloudWatch, but the ASG service itself does provide a pretty detailed audit trail for changes made to the ASG.
For the 3 groups you mentioned, the ASGHandler logs are the ones where you will find actions taken for scheduled scaling rules. The orchestrator and schedule update handlers are responsible for kicking of ASGHandler calls for the purpose of ASG scheduling.

Hi @CrypticCabub, thanks for the reply!
I now understand the purpose of each log group. I have one quick question: As you mentioned, most of the logs are under the ASGHandler's Lambda log group. I checked it and found logs that describe all the ASGs of the spoke accounts for each region, along with the actions taken based on the configured schedules. However, I don't see any logs detailing the min, max, and desired configurations of the ASGs.
For example, if a user from a spoke account manually changes the ASG configuration (min, max, desired), the solution will use the last running configuration in the next scheduled period, which I have tested and confirmed. But I don't see logs for these configuration changes in my hub account under the ASGHandler's log group. Is this expected behavior, and if so, that's fine. I hope you understand my concern.

Instance Scheduler does not currently have a mechanism to detect out-of-band changes to the ASG's scheduled scaling rules. Manual changes to these would need to be tracked through the activity log on the ASG itself.
It does look like we missed including the min-desired-max values in the logs when configuring the schedule. I'll add this to the backlog for our next patch release. Please let us know if there's any other log information you would like to be able to see in the ASG schedule logs.

Thank you @CrypticCabub for considering the request for ASG configuration logging during scheduling.
Upon further evaluation of v3.0.0, I have identified the below things:
1.Scheduled actions for ASG are being created when resources are scheduled. However, when the 'Schedule' tag is removed from the ASG, the scheduled actions are not deleted. This causes the resources to get in the start state even though the 'Schedule' key is not present. So ideally, upon removing the 'Schedule' tag from the ASG resource should also delete the scheduled actions associated to that ASG.
2.As mentioned in my previous comment, if a user manually changes the configuration during the scheduling period, the EC2 changes are reflected immediately based on the min, max, and desired values. However, once the scheduling period ends, the latest configuration changes made by the user in the Console are not captured. It is unclear whether this is a bug or a potential future enhancement. Ideally, the system should capture the latest configuration, and the next scheduling period should reflect these changes.
If you require any scenario-based examples to elaborate on point 2, please let me know, and I will provide further explanation

point 2 was an intentional design desicion due to the fundamental problem of determining when a configuration change should be considered a permanent change or an ephemoral change. This can be updated in the future with a clearer definition of when state transitions should occur, but Instance Scheduler typically errs on the side of not interfering with manual customer action rather than proactive response.
This is the same logic as was applied to 1, as we were not sure if the desired behavior would be to auto-purge all configured actions or to allow that decision to be left up to the operator, so we elected to go with the simpler architecture for the first implementation. If auto-purging these actions on tag deletion is the universally desired behavior we can add it to the backlog as a feature extension for ASG scheduling.

ASG logging has been updated in v3.0.1
To clarify a little more on the way the ASG scheduler interacts with the min-desired-max values on your Autoscaling Groups:
Once an hour, instance scheduler will scan your accounts for newly tagged ASGs and ASGs whose current schedule configurations have expired and need updating (scheduled-scaling actions are considered accurate for 1 month). When an ASG that needs its schedules updated is identified, Instance Scheduler will then determine the Scheduled Scaling Actions to modify and the min-desired-max values to use for those actions. This determination involes 2 parts:

the current min-desired-max configuration of the ASG
the min-desired-max configuration stored on the "scheduled" metadata tag maintained on the ASG by Instance Scheduler

if the current min-desired-max value of the ASG is valid (not 0-0-0) Instance scheduler will default to using this value for all running periods in the schedule. If however, this value is invalid and a meta tag is present, Instance Scheduler will fall back on the min-desired-max values that were used the last time schedules were configured for this ASG. If both of these are unavailable, Instance Scheduler will throw an error that the ASG is not in a schedulable state.
The majority of the control flow is managed by the "scheduled" metadata tag. As such, you can force Instance Scheduler to update the scheduled actions on an ASG outside of its normal control flow by deleting the scheduled tag from the ASG (this tag is different from the schedule tag that specifies the schedule to use). This will make the ASG look like it was newly tagged and will trigger an update of the ASG's Scheduled Scaling Rules at the next hourly scan.
Outside of this hourly scan for updates, Instance Scheduler will also automatically trigger an update when schedules are modified in your schedule config table to ensure that your tagged ASGs always match the schedules you have configured.
Critically, Instance Scheduler does not attempt to monitor alterations to your ASG's min-desired-max values or its Scheduled Scaling Rules.