Appear Offline doesn't work

Appear Offline stopped working for me from patch 6.1 please help

I think we might need to decompile the client to see what changes happend. It seems like this just replaces a couple of lines of code in the client. I would also want appear offline fixed :+1:
@snowl what do you use to decompile the source so we can submit a PR if you have stopped supporting the project


Textual Inversion code giving error

Description
Hi,
@lukemelas, great work. Wanted something like this for a while. Your model's accuracy is better than earlier versions of 2D to 3D models.
I am running all my code on Google Collab(free version). I am following the Readme, however, I encountered the following error at the Text Inversion step. I had to edit few lines to make it run but in no vain. @lukemelas or anyone could you kindly help me out in setting up the code?
I am uploading 2 screenshots for reference.
Thank you

Steps to Reproduce
.
Expected Behavior
I expected the given code to run as per readme document.
Environment
Google Collab, Python 3.10

Hello!
Perhaps I missed it in your post, but I don't see the error message. Can you provide the error message?
Luke

Yes I missed out on that.
Error message:
text_config_dict is provided which will be used to initialize CLIPTextConfig. The value text_config["id2label"] will be overriden.
text_config_dict is provided which will be used to initialize CLIPTextConfig. The value text_config["bos_token_id"] will be overriden.
text_config_dict is provided which will be used to initialize CLIPTextConfig. The value text_config["eos_token_id"] will be overriden.
2023-07-24 11:20:51.936670: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Traceback (most recent call last):
File "/content/realfusion/textual-inversion/textual_inversion.py", line 925, in
main()
File "/content/realfusion/textual-inversion/textual_inversion.py", line 574, in main
accelerator = Accelerator(
File "/usr/local/lib/python3.10/dist-packages/accelerate/accelerator.py", line 369, in init
trackers = filter_trackers(log_with, self.logging_dir)
File "/usr/local/lib/python3.10/dist-packages/accelerate/tracking.py", line 725, in filter_trackers
raise ValueError(
ValueError: Logging with tensorboard requires a logging_dir to be passed in.

Hi @lukemelas,
When I am running the code below:
Run this from within the textual-inversion directory
from transformers.pipelines.base import Pipeline
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
export MODEL_NAME="runwayml/stable-diffusion-v1-5"
! export DATA_DIR="/content/realfusion/examples/natural-images/banana_1"
! export OUTPUT_DIR="/content/realfusion/examples/Output_Folder"
!python /content/realfusion/textual-inversion/textual_inversion.py
--pretrained_model_name_or_path=$MODEL_NAME
--train_data_dir= DATA_DIR
--learnable_property="object"
--placeholder_token="banana"
--initializer_token="banana"
--resolution=512
--train_batch_size=1
--gradient_accumulation_steps=4
--max_train_steps=3000
--learning_rate=5.0e-04 --scale_lr
--lr_scheduler="constant"
--lr_warmup_steps=0
--output_dir=OUTPUT_DIR
--use_augmentations
I am getting the following error:
text_config_dictis provided which will be used to initializeCLIPTextConfig. The value text_config["id2label"]will be overriden.text_config_dictis provided which will be used to initializeCLIPTextConfig. The value text_config["bos_token_id"]will be overriden.text_config_dictis provided which will be used to initializeCLIPTextConfig. The value text_config["eos_token_id"]` will be overriden.
2023-07-25 10:34:47.636451: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
usage: textual_inversion.py
[-h]
[--save_steps SAVE_STEPS]
[--only_save_embeds]
--pretrained_model_name_or_path
PRETRAINED_MODEL_NAME_OR_PATH
[--revision REVISION]
[--tokenizer_name TOKENIZER_NAME]
--train_data_dir
TRAIN_DATA_DIR
--placeholder_token
PLACEHOLDER_TOKEN
--initializer_token
INITIALIZER_TOKEN
[--learnable_property LEARNABLE_PROPERTY]
[--repeats REPEATS]
[--output_dir OUTPUT_DIR]
[--seed SEED]
[--resolution RESOLUTION]
[--center_crop]
[--train_batch_size TRAIN_BATCH_SIZE]
[--num_train_epochs NUM_TRAIN_EPOCHS]
[--max_train_steps MAX_TRAIN_STEPS]
[--gradient_accumulation_steps GRADIENT_ACCUMULATION_STEPS]
[--gradient_checkpointing]
[--learning_rate LEARNING_RATE]
[--scale_lr]
[--lr_scheduler LR_SCHEDULER]
[--lr_warmup_steps LR_WARMUP_STEPS]
[--dataloader_num_workers DATALOADER_NUM_WORKERS]
[--adam_beta1 ADAM_BETA1]
[--adam_beta2 ADAM_BETA2]
[--adam_weight_decay ADAM_WEIGHT_DECAY]
[--adam_epsilon ADAM_EPSILON]
[--push_to_hub]
[--hub_token HUB_TOKEN]
[--hub_model_id HUB_MODEL_ID]
[--logging_dir LOGGING_DIR]
[--mixed_precision {no,fp16,bf16}]
[--allow_tf32]
[--report_to REPORT_TO]
[--validation_prompt VALIDATION_PROMPT]
[--num_validation_images NUM_VALIDATION_IMAGES]
[--validation_steps VALIDATION_STEPS]
[--validation_epochs VALIDATION_EPOCHS]
[--local_rank LOCAL_RANK]
[--checkpointing_steps CHECKPOINTING_STEPS]
[--checkpoints_total_limit CHECKPOINTS_TOTAL_LIMIT]
[--resume_from_checkpoint RESUME_FROM_CHECKPOINT]
[--enable_xformers_memory_efficient_attention]
[--use_augmentations]
textual_inversion.py: error: unrecognized arguments: DATA_DIR
Could you help?

Are you using $'s with your environment variables? You have to pass them as $DATA_DIR if you export them using export DATA_DIR=...

Hello, this is because accelerate had a breaking change in a recent update. You can either downgrade accelerate or change logging_dir to match the new api (see https://huggingface.co/docs/accelerate/v0.21.0/en/usage_guides/tracking#integrated-trackers)

Hello @lukemelas ,
I did not get exactly how to do the above steps.
How do I downgrade accelerate to match the logging_dir?
I checked my accelerate version. It is :
Name: accelerate
Version: 0.21.0

How do I downgrade this version?

How do I change the logging_dir to match the new api? I tried reading the document you referred above, could not understand much.

Thank you for your replies.

Hello @lukemelas,

As you mentioned I downgraded accelerate version to 18.0 - Gave version error. The code asked me to use version <=20.3.

I then upgraded to 20.3 version, it still gave the same error i.e TypeError: Accelerator.init() got an unexpected keyword argument 'logging_dir'.
This problem is persisting even when I am using 21.0 or 20.3 version.

I then read the link you provided. As per my understanding, tensorboard is being used in the log_with parameter, accelerator.init_trackers is given correctly, accelerator.log is also given correctly, accelerator.end_training() is also given correctly.

However, when it comes to creating a learned_embeds.bin file, it is not getting created. I am not understanding why it is so.

Also in line 570 of textual_inversion.py: logging_dir = os.path.join(args.output_dir, args.logging_dir)
Nowhere, in the github documented code we are giving the logging_dir path like we are passing the output_dir and data_dir path, how will line 570 then concatenate logging_dir if not mentioned by us? Is my understanding right. Kindly correct me if I am wrong.

Also I did not get the part when you mentioned - change logging_dir to match the new api.

How do I get past this step?

Kindly assist.
Thank you

Hi @anandvarrier. I am getting the same error as you with the accelerate package and the logging directory error. Did you manage to get it to work?

@anandvarrier For your point 3. I think you need to upgrade diffusers to at least 0.15.0 . If you run pip install diffusers==0.15.0 then it should work properly and resolve the error.

Hi @lilyuam,
No I was not able to pass through that error. I will try your solution. Were you able to go ahead and run the code?
Thank you for the response.

@anandvarrier @lilyuam @lukemelas
I got the solution for this, delete logging_dir=logging_dir in line 578, textual_inversion.py, and add this as a parameter in line 572, the code should be like this:
def main():
args = parse_args()
logging_dir = os.path.join(args.output_dir, args.logging_dir)
accelerator_project_config = ProjectConfiguration(total_limit=args.checkpoints_total_limit,logging_dir=logging_dir)

accelerator = Accelerator(
    gradient_accumulation_steps=args.gradient_accumulation_steps,
    mixed_precision=args.mixed_precision,
    log_with=args.report_to,
    project_config=accelerator_project_config,
)


Windows2019: Add Jom

This adds the Jom build tool from the Qt project (https://wiki.qt.io/Jom).  It's a drop-in NMake replacement for better supporting parallel C++ builds.
Fixes #112

Is this still being investigated?

/azp run windows2019

@chuckatkins thanks for your contribution but I don't think we should be installing Jom by default in the image. Considering it's quick to install on-demand I suggest instead perhaps creating an Action to make the install simpler? Sorry that it took so long for me to get to this PR, shouldn't have.


[Event Request] codeunit 22 "Item Jnl.-Post Line" Function InsertCapLedgEntry

Describe the request
In codeunit 22 "Item Jnl.-Post Line" I need an event in function InsertCapLedgEntry: OnBeforeOnInsertCapLedgEntry(var IsHandled: Boolean; var CapLedgEntry: Record "Capacity Ledger Entry"; ItemJournalLine: Record "Item Journal Line")

Additional context
I need it to skip the whole function in some cases based on fields in in the Item Journal Line
Internal work item: AB#557535

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 26919.


[docs] add new browser provider plugin puppeteer

Just created a new browser provider plugin based on chromium/puppeteer, allowing better CI integration in Jenkins pipeline sience no external dependencies like xvfb are needed.

Hi @jdobosz,
Thank you very much for your plugin. We'll gladly add information about it to our documentation and also tell about it to our community. But first we need a little time to test it.

Hi @jdobosz,
I've checked plugin, all works perfectly. Please rebase your pull request.


Bump crossbeam-channel and flexi_logger

bors r+

published as 0.5.1 (:exclamation:): channels are strictly internal in this case.


Add all to files

Summary
Re-exporting only specific classes, functions, etc. can help avoid undesirable behaviour:

Why?
Only things from analytix should be importable by analytix, ideally.
Ideal implementation
Adding an __all__ to all files that need to re-export specific things (which is probably all files).
Additional information
No response
Contribution

[ ] I wish to contribute this feature.

Checklist

[X] I have searched the issue tracker for duplicate issues and couldn't find any. If this is a follow-up issue, I have specified as such.

Closed by 8be9552e7faff57520421cac5d371050cfb0f7fe.


Privileged Role Administrator

I think Privileged Role Administrator belongs in this list as well because both Global administrators and Privileged Role administrators can delegate administrator roles.

@BakkerJan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@BakkerJan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks for the contribution. Approved by the PG. #sign-off

Thanks for the contribution. Approved by the PG. #sign-off


Improve user experience when logging unknown calls

I propose to ignore /D and /X in callsigns.
Also return empty array if DXCC is not identified.

Should we set lat and lng to '' / null instead of 0 to prevent mapping of those stations here?

@phl0 good point. Had to set them to blank. Null errors out in JS when I test.


feat: Updated LlmChatCompletionSummary attributes

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Apollo 3.0.0-beta2 subscriptions do not collects

I have this in Fragment and subscription do not collect:
lifecycleScope.launch {
            client.subscribe(<my_subscription>).execute()
                .flowWithLifecycle(lifecycle, Lifecycle.State.STARTED)
                .retryWhen { cause, _ ->
                    cause.printStackTrace()
                    delay(10000L)
                    true
                }
                .collect {
                    Timber.d("onNewMessage invoked")
                }
        }

Timber.d("onNewMessage invoked") is never invoked. Can you tell why this happen? Thanks.

Im using 3.0.0-beta2 version of library.

Hi 👋 Can you share your ApolloClient construction code? It might be that subscriptions require a different url?
val apolloClient = ApolloClient.Builder()
  .serverUrl("https://example.com/graphql")
  .webSocketServerUrl("wss://example.com/subscriptions")
  .build()

See here for more details.

I will send you asap thanks!
S pozdravom / Best regards
Ing. Šimon Dorociak
Android Engineer
Tel: +420 776 226 886

From: Martin Bonnin @.>
Sent: Saturday, November 20, 2021 4:19:02 PM
To: apollographql/apollo-android @.>
Cc: Simon Dorociak @.>; Author @.>
Subject: Re: [apollographql/apollo-android] Apollo 3.0.0-beta2 subscriptions do not collects (Issue #3583)
Hi 👋 Can you share your ApolloClient construction code? It might be that subscriptions require a different url?
val apolloClient = ApolloClient.Builder()
.serverUrl("https://example.com/graphql")
.webSocketServerUrl("wss://example.com/subscriptions")
.build()
See herehttps://www.apollographql.com/docs/android/v3/essentials/subscriptions/ for more details.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/apollographql/apollo-android/issues/3583#issuecomment-974664261, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABXX3PDSMTQR2F4KZZCUYFTUM636NANCNFSM5IMY5LIA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi 👋 Can you share your ApolloClient construction code? It might be that subscriptions require a different url?
val apolloClient = ApolloClient.Builder()
  .serverUrl("https://example.com/graphql")
  .webSocketServerUrl("wss://example.com/subscriptions")
  .build()

See here for more details.

Im configuring ApolloClient like this:
@Provides
    @Singleton
    fun provideApolloClient(
            application: Application,
            prefs: SharedPrefsManager,
            httpClient: OkHttpClient) : ApolloClient {
        return ApolloClient.Builder()
            .networkTransport(
                HttpNetworkTransport(
                    serverUrl = BuildConfig.SERVER_URL,
                    okHttpClient = httpClient
                )
            )
            .subscriptionNetworkTransport(
                AuthSocketSubscriptionTransport(
                    prefs,
                    BuildConfig.SOCKET_URL,
                    DefaultWebSocketEngine(httpClient)
                )
            )
            .addInterceptor(RefreshTokenInterceptor(application, prefs))
            .build()
    }

I dont see function webSocketServerUrl in my project.

In my case I have my own AuthSocketSubscriptionTransport and also WsProtocol because I have to pass JWT token in payload but this I just copy & paste your default subs. transport and I just modified piece of code where Im puting JWT token into payload:
class AuthSubscriptionWsProtocol(
    prefs: SharedPrefsManager,
    webSocketConnection: WebSocketConnection,
    listener: Listener,
    private val connectionAcknowledgeTimeoutMs: Long = 10_000,
    private val connectionPayload: suspend () -> Map<String, Any?>? = { mapOf("Authorization" to  "JWT ${prefs.getJwtToken()}") },
) : WsProtocol(webSocketConnection, listener)

Our socket url is classic : wss:////graphql/.
It worked on version 2 but version 2 had some bugs which were for us important so we switched to version 3 because we want to use new technologies as possible.
I checked code, added some logging and I see in logcat that is called this function in our AuthSocketSubscriptionTransport:
override fun <D : Operation.Data> execute(
        request: ApolloRequest<D>,
    ): { ... }

This normally pass through filter and transformWhile functions and also with map but in Fragment i dont receive event from socket in collect callback.

@martinbonnin  I fixed issue! It was caused by my incorrect implementation of ApolloInterceptor.  I will write my usercase maybe it will help someone else to fix issue.
Scenario: Apollo doesn't have component called "Authenticator" which is used by okhttp it works for REST but not for GraphQL. So. in order to achieve this behaviour I implemented custom ApolloInterceptor in which Im executing request by:
chain.proceed(request).single()
and then checking for errors and exact 401 HTTP code. This works well but that single() function someone changes also request of subscription and this caused that I did not receive collect callbacks.
So I added condition that if I'm intercepting subscription call i will just pass it with proceed and intercept all other http requests (operations).
val operationName = request.operation.name()
if (operationName.contains(OPERATION_SUBSCRIPTION, true)) {
   Timber.d("Subscription request detected -> do not intercept")
      return chain.proceed(request)
} else {
   // intercept other requests
}

Thank you for your time.

Thanks for the follow up 🙏


Update IRuleFunction and ICacheKeyFn types

I noticed that my recent change about typing parent as object does not work when applying more specific types in the implementation, so I reverted that change.
Also, ICacheKeyFn now has correct types added.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


update to lifecycle v0.7.2

Signed-off-by: Ashwin Venkatesh<EMAIL_ADDRESS>

Update the hack/lifecycle/main.go 🙂


geolocation fixed for react-native 0.60

this pull request replace the deprecated navigator.geolocation by the community package @react-native-community/geolocation.

Merge? :)

please merge

please merge it :)

Thanks for the PR!
Closed in favor of #553.


KML preserveViewport bug (Temp Fix Inside)

Plugin is great, does everything I needed but when I load a KML, map recenters to fit the container.
an old closed issue says to use
<KmlLayer options={{preserveViewport: true}} />
but it still didn't prevent the map from shifting. I was able to fix it by modifying the "KmlLayers.js" file to add the missing propType.

var controlledPropTypes = {
// NOTICE!!!!!!
//
// Only expose those with getters & setters in the table as controlled props.
//
// [].map.call($0.querySelectorAll("tr>td>code", function(it){ return it.textContent; })
//    .filter(function(it){ return it.match(/^set/) && !it.match(/^setMap/); })
//
// https://developers.google.com/maps/documentation/javascript/3.exp/reference#KmlLayer
defaultViewport: _react.PropTypes.any,
preserveViewport: _react.PropTypes.any,
metadata: _react.PropTypes.any,
status: _react.PropTypes.any,
url: _react.PropTypes.string,
zIndex: _react.PropTypes.number
}; /* global google */

I added preserveViewport: _react.PropTypes.any, and now it works perfectly!
thanks, again, great plugin

Put in a pull request to address this issue: https://github.com/tomchentw/react-google-maps/pull/428

Please refer to Getting Help section in the README (or #469).

Released 6.2.0


Suspicious virtual address arithmetic

In the DelayImportDirectory::read() function (DelayImportDirectory.h), there is a suspicious arithmetic which possibly subtracts a 64-bit image base from a 32-bit value:
	if (std::abs(static_cast<int>(uiDelayImportsVa - rec.NameRva)) <
	    std::abs(static_cast<int>(uiDelayImportsRva - rec.NameRva)))
	{
		rec.NameRva -= peHeader.getImageBase();
	}

The meaning of the entire block is a mystery to me (perhaps parsing files that are memory image dumps?). However, it may lead to undefined results, as image bases in 64-bit PE files are also 64-bit and typically exceed the 4 GB boundary (default image base for files produces by MSVC linker is 00000001-40000000).

Possibly related to https://github.com/avast-tl/retdec/issues/282.

Fixed in commit ba7126dc13bd378c5360b68b0141488d5ce18d52


Unicode Error

I am currently trying to convert the following .vsi files into .tif files.
20180910_stimulated yfp_YFP-f_003_current
20180911_csf1after5min stimulated flms_PH_001_current
sad323-00a6ls04:untitled folder jared$ python -m microscoper --list
./20180910_stimulated yfp_YFP-f_003_current/stack1/20180910_stimulated yfp_YFP-f_003_current.vsi
./20180911_csf1after5min stimulated flms_PH_001_current/stack1/20180911_csf1after5min stimulated flms_PH_001_current.vsi
Total files found: 2
When I try to convert the following files into the tif format using the command python -m microscoper.  I get the following output.  One .tif file is created, but it gets stuck and doesn't process the rest of the files.  I was able to get this working on my old macbook, but I recently got a new macbook and had to download it onto my new one, but I am having trouble getting it to work.  I can open my files through imageJ using bioformats, but this can save me a lot of time to convert many files at once.  Thanks
Traceback (most recent call last):                        | 0/2 [00:00<?, ?it/s]
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 174, in _run_module_as_main██████████| 100/100 [00:00<00:00, 102.77it/s]
"main", fname, loader, pkg_name)█████████| 1/1 [00:00<00:00, 127.46it/s]
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Users/jared/microscoper/microscoper/main.py", line 3, in
run()
File "/Users/jared/microscoper/microscoper/io.py", line 212, in run
save_metadata(metadata, save_directory)
File "/Users/jared/microscoper/microscoper/io.py", line 138, in save_metadata
xmlfile.write(pretty_xml_as_string)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb5' in position 565: ordinal not in range(128)

It's probably because you're running it on python2, and python-bioformats has some problem reading unicode characters from the metadata associated with .vsi files.
Installing the python3 version of microscoper will solve the problem.

BTW, you can also now run microscoper directly, without having to call it through python -m microscoper.

Hi, thanks for getting back to me so soon.  So, I uninstalled python and reinstalled python 3 on my macbook, and then reinstalled microscoper, but now I have a new problem.  I tried uninstalling both javabridge and microscoper and then reinstalling each of them after I got this error, but I still get the same error.  Thanks
Traceback (most recent call last):
File "/Users/jared/miniconda3/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/Users/jared/miniconda3/lib/python3.6/runpy.py", line 142, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/Users/jared/miniconda3/lib/python3.6/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/Users/jared/miniconda3/lib/python3.6/site-packages/microscoper/init.py", line 1, in
from .io import run
File "/Users/jared/miniconda3/lib/python3.6/site-packages/microscoper/io.py", line 13, in
import bioformats as bf
File "/Users/jared/miniconda3/lib/python3.6/site-packages/bioformats/init.py", line 21, in
import javabridge
File "/Users/jared/miniconda3/lib/python3.6/site-packages/javabridge/init.py", line 38, in
from .jutil import start_vm, kill_vm, vm, activate_awt, deactivate_awt
File "/Users/jared/miniconda3/lib/python3.6/site-packages/javabridge/jutil.py", line 157, in
import javabridge._javabridge as _javabridge
ImportError: dlopen(/Users/jared/miniconda3/lib/python3.6/site-packages/javabridge/_javabridge.cpython-36m-darwin.so, 2): Symbol not found: _kCFAllocatorDefault
Referenced from: /Users/jared/miniconda3/lib/python3.6/site-packages/javabridge/_javabridge.cpython-36m-darwin.so
Expected in: flat namespace
in /Users/jared/miniconda3/lib/python3.6/site-packages/javabridge/_javabridge.cpython-36m-darwin.so


Creating SMTP Client stops execution in multi threaded executor

Describe the bug
If you try to create an SMTP client in a new thread that thread will stop running without an error
To Reproduce
async_global_executor::spawn(async move {
    println!("in new thread"); // prints
    SmtpClient::new_simple("smtp.gmail.com");
    println!("created smtp client"); // doesn't print
}).detach();

Expected behavior
A result is returned from SmtpClient::new_simple(...); and the program continues executing
Environment (please complete the following information):

Lettre version 0.9
Ubuntu 20.10

Strange :thinking:.
On the other hand lettre 0.9 doesn't have async APIs, so it's not a good idea to use it in an async context, unless you spawn it on a separate threadpool (tokio::task::spawn_blocking in the case of tokio, I don't know about async-global-executor).


"Show all cards" menu command (UI)?

Was there a "show all cards" menu item that small images of all the cards in the stack and let you select one that isn't in WyldCard, or am I mis-remembering from 25 years ago?

I believe you're remembering the "Recent" command from the "Go" menu. That will display a window of card thumbnails.
This exists in WyldCard, but needs some work--it's behavior isn't consistent with HyperCard's.


NuGet release

Hi. The latest release on NuGet is 9 months old, are there any plans to update it? I'd like to use the new texture replacement support in my tool and adding it via NuGet would make dependency management much easier.

It should get a nuget/github release soon after I fix a few more things.

Just released a new version on nuget.


Docs for Docker configuration on Synology DSM platforms

Markdown file with step-by-step instructions, and associated screenshots, explaining how to configure a coredns-omada docker container via the DiskStation Manager (DSM) Docker plugin. Synology platforms are not designed to be administered from the command line, and while it's possible to launch a docker container with the provided/example 'docker run' command from an SSH session, this leads to conflicts with the DSM docker plugin and challenges with auto-restart of the container. These instructions explain how to take each element of the example run command and populate the relevant fields in the DSM docker plugin UI.

Hello,
This looks good to me although I don't have a Synology to test it myself. Could you add a link to this on the main readme file?


Test verbosity

Output names of test funcs, otherwise impossible to say what exactly test failed on 'integration-test' and quite difficult on 'test' script

For some reason unit tests are being skipped after this addition. We'll have to figure out why this is the case before merging.

Just unit? With integration-test all is ok? Can't be related to resent change
if [ "$ARCH" = "amd64" ]; then
    RACE="-race"
fi

Just unit tests. If only -v -check.vv is removed then everything seems to work fine again, so I think it is related to this PR.

@tetatetit when I run make test with your change, I get:
 ---> 5acdd3f6a573
Removing intermediate container a5dbf0a25887
Successfully built 5acdd3f6a573
Running tests
?       github.com/rancher/os   [no test files]
INFO[0040] docker cp /go/src/github.com/rancher/os/bin .
INFO[0040] docker cp /go/src/github.com/rancher/os/dist .
INFO[0040] docker cp /go/src/github.com/rancher/os/build/initrd build
sven@i7:~/src/rancher/os-delete$

If I remove your change, I get:
Removing intermediate container c8824b469d2d
Successfully built 15973ca4b604
Running tests
?       github.com/rancher/os   [no test files]
?       github.com/rancher/os/cmd/cloudinitexecute      [no test files]
?       github.com/rancher/os/cmd/cloudinitsave [no test files]
?       github.com/rancher/os/cmd/cloudinitsave/gce     [no test files]
ok      github.com/rancher/os/cmd/control       1.022s  coverage: 1.0% of statements
?       github.com/rancher/os/cmd/control/service       [no test files]
?       github.com/rancher/os/cmd/control/service/app   [no test files]
?       github.com/rancher/os/cmd/control/service/command       [no test files]
?       github.com/rancher/os/cmd/network       [no test files]
?       github.com/rancher/os/cmd/power [no test files]
?       github.com/rancher/os/cmd/respawn       [no test files]
?       github.com/rancher/os/cmd/sysinit       [no test files]
?       github.com/rancher/os/cmd/systemdocker  [no test files]
?       github.com/rancher/os/cmd/wait  [no test files]
?       github.com/rancher/os/compose   [no test files]
ok      github.com/rancher/os/config    1.118s  coverage: 35.9% of statements
?       github.com/rancher/os/config/yaml       [no test files]
?       github.com/rancher/os/dfs       [no test files]
?       github.com/rancher/os/docker    [no test files]
?       github.com/rancher/os/hostname  [no test files]
?       github.com/rancher/os/init      [no test files]
?       github.com/rancher/os/log       [no test files]
?       github.com/rancher/os/netconf   [no test files]
?       github.com/rancher/os/scripts   [no test files]
?       github.com/rancher/os/selinux   [no test files]
ok      github.com/rancher/os/util      1.010s  coverage: 14.4% of statements
ok      github.com/rancher/os/util/network      1.058s  coverage: 0.0% of statements
INFO[0026] docker cp /go/src/github.com/rancher/os/bin .
INFO[0027] docker cp /go/src/github.com/rancher/os/dist .
INFO[0027] docker cp /go/src/github.com/rancher/os/build/initrd build
sven@i7:~/src/rancher/os-delete$

replaced by #1718


Fix Bug: Stop page reload after nutrition plan generation

After Generating Nutrition plan for a user, page auto reloads which removes the generated Nutrition plan

can this issue be assigned to me @ayushmankoley

Could you please assign me I want to work on this?


Convert SET type to TEXT[]

A SET type represents a list of string in MySQL and should be translated to TEXT[] in PostgreSQL

MySQL

SELECT special_features FROM film WHERE special_features IS NOT NULL LIMIT 1;

+----------------------------------+
| special_features                 |
+----------------------------------+
| Deleted Scenes,Behind the Scenes |
+----------------------------------+
1 row in set (0,001 sec)

PostgreSQL

SELECT special_features FROM film WHERE special_features IS NOT NULL LIMIT 1;

            special_features
----------------------------------------
 {"Deleted Scenes","Behind the Scenes"}
(1 row)

A more compatible way is to define a minimal check constraint to preserve logical behind SET type.
ALTER TABLE sakila.film ADD CONSTRAINT film_special_features_chk CHECK(
  string_to_array(special_features, ',') <@ ARRAY[
    'Trailers','Commentaries','Deleted Scenes','Behind the Scenes'
  ]
);

UPDATE sakila.film SET special_features = 'trash' WHERE film_id = 1;
UPDATE sakila.film SET special_features = 'Trailers,Commentaries' WHERE film_id = 1;

ERROR:  new row for relation "film" violates check constraint "film_special_features_chk"
UPDATE 1


style(eslint): Add ordering rule on React props

React props and propTypes should now be set in alphabetical order.
This will help in the diffs and overall visual parsing of props.
Fixes #154
For vim users, you can add vnoremap s :!sort -V<CR> to be able to
sort the current visual selection.

Great! this should be merged after other PR otherwise previous PR will get conflicts while this one should be the one getting conflicts :D (not so much conflicts)


[Algorithm] TD3+BC

Description
Adds the offline RL algorithm TD3+BC as described in the paper A Minimalist Approach to
Offline Reinforcement Learning.
Performance is verified for half-cheeta medium dataset:

Motivation and Context
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.
You can use the syntax close #15213 if this solves the issue #15213

[ ] I have raised an issue to propose this change (required for new features and bug fixes)

Types of changes
What types of changes does your code introduce? Remove all that do not apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds core functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Documentation (update in the documentation)
[X] Example (update in the folder of examples)

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[X] I have read the CONTRIBUTION guide (required)
[X] My change requires a change to the documentation.
[X] I have updated the tests accordingly (required for a bug fix or a new feature).
[X] I have updated the documentation accordingly.

Docstrings are updated :)


Add --format and --output-file flags to oss-characterstics

This should be very similar to the changes in oss-find-source, where I have added the  --format and --output-file flags.
The sarif fields need a look to see if they make sense.

Please check to rebase this on master now that I've merged the nullable annotations in you will need to make some changes to nullify anything you added.

Please check to rebase this on master now that I've merged the nullable annotations in you will need to make some changes to nullify anything you added.

makes sense...I'll resolve it locally and upload. Let me know if you have any review comments. Thanks.


Remove version: Principle.Lusun version 1.8.11

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://releases.lusun.com/lusun-1.8.11-win-x64.exe
Response Error: The remote server returned an error: (403) Forbidden.
(Automated message - build 911)


Try to simplify traits, generics and trait bounds

The FieldType, IntoFieldType, IntoField, IntoOptField and ArrayIntoField traits seem a bit overkill - try to find a more elegant way to express them.

How do you output data to grafana and present it to Grafana?


BotFrameworkAdapter: Make CreateConversationAsync agnostic to the credential type

Pending on decision around binary compat. This PR as-is breaks binary compat. If binary compat is to be maintained, then I'll swap to overloading instead of non-breaking modification.
Fixes https://github.com/microsoft/botbuilder-dotnet/issues/3962

Thanks for the review. I'm using this as an excuse to move the needle on the backward compat checks for source compat only. If that doesn't work, we might need to add the overloads.

I'll add the overloads since we still don't have a replacement compat tool to check for source compat


Improved BuildUSD to not crash on Debug builds on Windows.

It is somewhat different to yours.  The important thing is --build-variant.

Thanks for creating the PR; I cherry picked the "--build-variant" and "copy" changes since the other changes seem specific to your code (like the patch step). The Debug build works on Windows now, thanks!


Support xarray.DataArray and xarray.Dataset batches in PyTorch dataloader

As discussed in https://github.com/pangeo-data/xbatcher/pull/71#discussion_r950377393_, the PyTorch DataLoader should be extended to support either dataarray or dataset batches after the batch generator output was generalized in https://github.com/pangeo-data/xbatcher/pull/71.

I can work on this, got some code already to improve the .torch accessor, can you assign me this issue?

I can work on this, got some code already to improve the .torch accessor, can you assign me this issue?

Super, thanks! Assigned


Changing Layout Impossible

I'm looking for a solution to sites that want to stick all the content into a narrow column in the center of my window.  Often there are code snippets and such that don't fit into the column in spite of the fact that most of the area on my screen is empty!
This project is obviously tuned to people that just want to change colors (I could care less) as I cannot get it to recognize container elements that are not displayed.  I need to change layout widths of containers.  I have even tried typing in the names of various div ids (with and without # prefixes), and it does not pull up the width information or anything about the given id (BUG!).   I can get to these elements with the built-in "Inpsect" tool and can easily change the width of the couple of elements needed to fixup the layout.   Is there some way to just "save" the modifications from the Inspector??  If so, this would mean you don't need to duplicate an existing interface with one that is non-functional (at least for people outside the target needs).
BTW, making things take up all remaining space (100%) is easy even if you have other fixed size elements.  For example, if you have a main column of 1024 pixels split into 800 and 224 pixel columns, you would make the container from 1024 -> 100%, then change the 800 pixel column to "calc( 100% - 224px );"  And it will calculate the remaining space and layout much better.  You may want to add some padding if its at the edge of the screen.

Here's an example of what I'm trying to do ... giving before and after with the window set to the same size, using this page as example...
Before

After


How to build offline?

The make en and make languages commands don't require being online.  Only the one-time make deps requires being online since it downloads the dependencies.


Implement getnetworkinfo RPC so the default s-nomp config works

Motivation
To use s-nomp with Zebra, users need to change the default zec.json coin configs:
https://github.com/s-nomp/node-stratum-pool/blob/d86ae73f8ff968d9355bb61aac05e0ebef36ccb5/lib/pool.js#L394-L398
Here is the config change:
https://github.com/teor2345/s-nomp/blob/38613124cf00cce2d5505bb1880f96088ccff93e/coins/zec.json#L74-L75
This is because we don't implement getnetworkinfo.
But I think this is optional, because s-nomp doesn't support NU5 anyway.
Specifications
https://zcash.github.io/rpc/getnetworkinfo.html
Complex Code or Requirements
Depends on the fields needed by s-nomp.
Testing
Snapshots and manual testing with s-nomp.

Hey team! Please add your planning poker estimate with Zenhub @arya2 @conradoplg @dconnolly @oxarbitrage @teor2345 @upbqdn

But I think this is optional, because s-nomp doesn't support NU5 anyway.

What's optional?

But I think this is optional, because s-nomp doesn't support NU5 anyway.

What's optional?

I think this ticket is optional priority, because s-nomp doesn't have support for generating valid NU5 coinbase transactions with user-specified mining addresses, and we haven't found any other mining software that uses this RPC.
I'll edit the ticket to clarify.


Completed the assignement without bonus, more assignments on mouse po…

…sition tracking would be interesting.
Completeness: 5
Comfort: 3

Let me know if you have any questions about what we discussed in person. Good job :+1:


HttpAppender with Compression is ignoring the User defined Feed header argument

I have a pipeline with an HttpAppender that send to a Stroom instance.
The HttpAppender has a httpHeadersUserDefinedHeader1=Feed: MY-FEED
This pipe works OK if I have useCompression=false
If I set useCompression=true then the transfer fails with No Feed Specified from the remote Stroom

Fixed in > 7.4.4


fix useWalletClient and useConnectorClient performance issues

Description
Fixes the performance issues discussed in #3738
Thank you for all the help @Yuripetusko!
Additional Information
Before submitting this issue, please make sure you do the following.

[x] Read the contributing guide
[x] Added documentation related to the changes made.
[ ] Added or updated tests (and snapshots) related to the changes made.

Hey @tmm, according to GitHub, you are the code owner of the useWalletClient.test.ts & useConnectorClient.test.ts files, could I ask for some guidance here please? 👀
I'd like to add tests for this bugfix, but wonder how could we re-create this case which I described in the original issue description (or basically the one which you could try in the linked Codesandbox) with the renderHook function? 🤔 So the test should look something like this:

render the useWalletClient hook
render a child component, which also calls this hook
WalletClient's uid shouldn't change after the child (re)renders

If I just call the renderHook function 2 times, it'll wrap the 2 hooks in 2 different WagmiProviders, so that wouldn't really work. Should we create & mount actual components in tests with the render method? (I haven't tried that solution yet, because after all wagmi is a hooks library, and I see that you don't do that in other tests)

Hey @tmm, according to GitHub, you are the code owner of the useWalletClient.test.ts & useConnectorClient.test.ts files, could I ask for some guidance here please? 👀 I'd like to add tests for this bugfix, but wonder how could we re-create this case which I described in the original issue description (or basically the one which you could try in the linked Codesandbox) with the renderHook function? 🤔 So the test should look something like this:

render the useWalletClient hook
render a child component, which also calls this hook
WalletClient's uid shouldn't change after the child (re)renders with a different key

If I just call the renderHook function 2 times, it'll wrap the 2 hooks in 2 different WagmiProviders, so that wouldn't really work. Should we create & mount actual components in tests with the render method? (I haven't tried that solution yet, because wagmi is a hooks library after all, and I see that you don't do that in other tests)

I ended up rendering components & basically re-created the behavior which I mentioned in the original issue. I'm pretty happy with it (except that wait(200)), but please let me know if you think there's a simper solution for this ;)
I also fixed the useWalletClient tests, so now they actually test the proper hook (we talked about those on Discord yesterday)

Just ran these tests with and without your fix, and indeed, without the fix, the uuid of wallet client in re-rendered component differs, but with fix, it's the same. 👍


[QUESTION] Fog-World and Client-Server Compatibility?

To begin, I just wanted to state that this mod has some potential.  I've always wanted to have better control over the in-game fog.
That said, I was wondering if installing this on my game's client would restrict me from joining a modded server that doesn't also have the mod installed.
My question is actually two-fold:

If I add this mod to my game, does any multiplayer server I join also need to install the mod?
If the server has the mod installed, will any connecting clients also need to install to be able to join?

I appreciate any information regarding the topic, as I have recently began to learn coding for non-java applications, and I personally enjoy learning about how client-server systems tend to behave and interact with each other.
Cheers,
-- DragonRaiderII

Sorry about replying so late, i've been on a bit of a hiatus from MC modding. If the mod is installed server side, Forge will require all clients to have it installed, if it's only installed locally forge won't care. And since the mod only affects rendering the mod will work exactly as intended on servers. (Unless something has changed with the client-server relationship in MC)


mark the nodes which have been visited

when the users click on a node in the scatter plot, we open a new page and show them the original page. we should mark the node by changing its color after the user has clicked on the node.

fixed


[PL-50895] Note for cleaning up the user accounts in FirstGen

Adding the info note:
:::info note
After migrating from FirstGen to NextGen, please clean up the user accounts in FirstGen.
:::
This has been requested by @meenakshi-harness on ticket: https://harness.atlassian.net/browse/PL-50895
Changes will be reflected on the following page:
https://developer.harness.io/docs/continuous-delivery/get-started/upgrading/upgrade-nextgen-cd/#upgrading-to-nextgen-cd
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://6641e1cfbcb7ce9c6b800c31--harness-developer.netlify.app

@meenakshi-harness @roshnisarangadharan edits added, thanks.
Please approve.

@meenakshi-harness Please review and approve. Thanks

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://664c73619c393e06d68d87e5--harness-developer.netlify.app


viewport for image

Hello.
I'm working on an Android application that uses ARCore and its augmented image function. This more or less works.
With the augmented image located, I want to implement some kind of viewport functionality.
Using this image as an example, I want the user to be able to zoom and drag the floor plan on the right.
In principle this would be possible to do when the texture of a renderable could be changed, based on touch events. I also failed to implement this with a ViewRenderable and Drag- and PinchRecognizers.
Any direct support for such a viewport in Sceneform would be appreciated.

I would suggest implementing your view hierarchy outside of AR in 2D first using standard Android components.
Once you have that working, you should be able to load that same view in AR in a ViewRenderable.

Thanks for the feedback @michaelvogt .  So to paraphrase your request, you're looking for advice/methods for implementing the equivalent of ViewRenderable using ARKit?  Questions like that are better suited for Stackoverflow tagged with both sceneform and arkit.

@claywilkinson
Actually, no, your paraphrasing isn't what I meant. Not interested in ARKit at all (in this case). So forget the mentioning of cross platform for now.
Look at this video at 0:24. The zooming and moving functionality is what I'd like to be able to implement. Basic viewport feature.
Doing so with a ViewRenderable as @malik-at-work suggested works with images, but, as it turns out, I need to have a 3D space in the viewport. That would mean that I create a ViewRenderable that contains a SceneView which is then again used in a ARSceneView.
Is this the way to go? Can the viewport functionality be realized through a custom material?

Thanks for the clarification. I'll look into it.

Thanks.


receive use labels flag while rule use label flag

Thanos, Prometheus and Golang version used
thanos: v0.7.0

What happened
thanos rule use --label to set label flag while thanos receive use --labels
What you expected to happen
both rule and receive use --label to set label
How to reproduce it (as minimally and precisely as possible):
Full logs to relevant components

Anything else we need to know

Agreed, this should be consistent.

@brancz do you mind me to open PR?

Go ahead :)


CSS variables doesn't work properly

I have this CSS inside my element
:host {
      --default-width: 25%;
      width: var(--default-width);
      ...
    }

@media (min-width: 840px) {
     :host([desktop="1"]) { width: 8.3333333333%; }
}

This is the output of my CSS which is wrong, because Polymer extract the section where I did       width: var(--default-width); and create a new tag with that CSS output. My media query doesn't work because that selector overrides the media query one.

The cascade is wrong.

Looks like a duplicate of https://github.com/Polymer/polymer/issues/2439


Draft: Support Knex 2.1 and use babel-cli

Closes https://github.com/jbrumwell/mock-knex/issues/135


Compatibility issues with Java 1.8 and Java 17

As mentioned in title, once we will target Java 1.8 as a target, package becomes incompatible with it, since up to 31 august we have to target SDK 34, I think that should be required from now on.
Execution failed for task ':flutter_contacts:compileDebugKotlin'.
> 'compileDebugJavaWithJavac' task (current target is 1.8) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
  Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain

Will make a PR introducing fix for above issue in a moment 🙇

Hmm I think that it is already resolved @s0nerik, but not published, I tried to fix the problem but master branch has been fixed from what I can see.

Ignore me, Its pushed under 3.1.3, I missed it damn, I though that I have 3.1.3 but I had 3.1.2 :D Never mind then, closing issue as resolved 🙇


[bug] TabViewAnimated initialLayout modifies layout after first render

The title might not be 100% accurate, but that's because I don't fully understand what the initialLayout is used for in the whole code base. Regardless, there is some weird stuff happening to my layout that's flex based.
For clarity's sake I've given each element in the Row component some background colours such that it's easy to see what's happening to the layout.
Note: I've only tested this on iOS as I currently don't have a working Android env.
Expected behaviour
The yellow/blue/grey box sizes do not change when adding an item

Actual behaviour
The yellow/blue/grey box sizes do change when adding an item

Code sample, screenshots
See above
What have you tried
The only difference between expected and actual behaviour is specifying an initialLayout with a width of 1 to TabViewAnimated as such
            <TabViewAnimated
                style={styles.container}
                navigationState={this.state}
                renderScene={this._renderScene}
                renderHeader={this._renderHeader}
                onRequestChangeTab={this._handleChangeTab}
                initialLayout={{ height: 0, width: 1 }} // must set width to 1 to fix some weird bug in flex layouting.
            />

This means I've got my work around, but it might be worth investigating why an initialLayout with width:0 (as set by default at TabViewAnimated.js#L84) causes this behaviour.

I'm seeing the same bug when using TabNavigator and TabViewPagerPan in react-navigation. It seems the default width=0 is problematic.

If you don't provide an exact width,  you could see tab bar indicator jump back and forth, similar like this one: https://github.com/react-native-community/react-native-tab-view/issues/493
The root cause is:
if you provide width, then this.props.layout.width = 0, then initialOffset and _normalizeScrollValue calculation is not right,  which both are used to determine tab bar and indicator offset value.

Hey, I just released a new alpha 2.0.0-alpha.0 of the library. It's rewritten using react-native-gesture-handler and react-native-reanimated addresses a many platform specific bugs and performance problems. The documentation is updated as well.
Please try the new version and see if it addresses your issue. If not, please open a new issue following the issue template.


Regarding document.documentElement.scrollTop

Hi, team.
First of all, thank you for your great work. 👍
I found the change log that scrollTop was changed to return float instead of int. (change log) I'm wondering it seems different from the MDN doc which says it is int value.
// Get the number of pixels scrolled.
var intElemScrollTop = someElement.scrollTop;

// Set the number of pixels scrolled.
element.scrollTop = intValue;

Is there any reason to change the return value to float?

The rationale is explained in #102

@glennsl Clear! Thanks!


How to get sheet by title

Kindly specify a way to get sheet by its title.

Well, I used doc._rawSheets[0]._rawProperties.title for getting the title and comparing it with required Titltes sheet id. There should be a public function to get sheet by its title, as its the easy identifier on gui interface.

It's just looking through an array for the thing you want, so not sure a utility method would make much sense here... But those underscored properties are not meant to be used. Instead just look at the sheet titles.
After you calling doc.loadInfo(), you can just search search through the sheets.
For example, using lodash, _.find(doc.sheetsByIndex, { title: 'titleToLookFor' })

Thanks @theoephraim for the solution. I already tried following function and it works
sheetsByTitle = (title) => {
    for (let i = 0; i < doc.sheetCount; i++) {
        if (doc.sheetsByIndex[i].title == title) {
            let sheetId = doc.sheetsByIndex[i].sheetId
            return doc.sheetsById[sheetId]
        }
    }
    return null
}

I was hoping to have similar kind of function available in default library.


updated design if no data with multi select

updated colspan + 1 when multi select is on and there is no data in table

please accept merge request

@hasan-promact you should have solve the conflict and submit again, thanks~


New package: ContinuumArrays v0.0.1

Registering package: ContinuumArrays
Repository: https://github.com/JuliaApproximation/ContinuumArrays.jl
Created by: @dlfivefifty
Version: v0.0.1
Commit: 736c050ffa24a297214914e755b133d5962103c3
Reviewed by: @dlfivefifty
Reference: https://github.com/JuliaApproximation/ContinuumArrays.jl/commit/736c050ffa24a297214914e755b133d5962103c3#commitcomment-35283472

Needs a retrigger.


Kadane's algorithm - Typescript

Add comment to get assigned to your desired language.
Follow Submission directory Structure for PR merge.
Submission Title
Kadane's algorithm - Typescript - DP
Submission Type
Algorithm
Submission Description
The algorithm is used for finding a contiguous subarray with the largest sum, within a given one-dimensional array A[1...n] of numbers
Submission Directory
DSA-Library/Algorithms/DP/Kadane-algorithm/index.ts
Language

[x]  C++
[ ]  C
[ ]  Python
[ ] Java
[x] C#
[ ] JavaScript
[X] TypeScript

@PraSoonGosWami PR merged.

Kindly assign me the C# part.

@rahul2001dewangan C++ assigned to you.

@g4m3r0 C# assigned to you


Fix verification of SAML message signatures

Status
?? READY/IN DEVELOPMENT/HOLD
Description
Current implementation of validate_signature incorrectly assumes it can reconstruct the relevant URI parts (RelayState, SAMLRequest, SigAlg) from the decoded values it receives. This contradicts the SAML specification, which requires computing the signature based on the URI components as sent by the Identity Provider.
The spec actually explicitly remarks that trying to reconstruct the URI parts is a bad idea because there is no single canonical URI encoding of a given value:

Further, note that URL-encoding is not canonical; that is, there are multiple legal encodings for a given value. The relying party MUST therefore perform the verification step using the original URL-encoded values it received on the query string. It is not sufficient to re-encode the parameters after they have been processed by software because the resulting encoding may not match the signer's encoding.

I've preserved the old behaviour in the case that the caller doesn't provide the the correct (raw URI-encoded) parts, for backward compatibility.
This could probably use a couple of tests, but I figured I'd better see if you're ok with the general approach first.
Todos

[x] Tests
[x] Documentation

Steps to Test or Reproduce

Set up a Service Provider using ruby-saml, implementing IDP-initiated "Single Logout" with HTTP-Redirect binding.
Register your app in Microsoft ADFS as a Relying Party.
Try to log out from Microsoft's ADFS (IDP-initiated SLO).
Observe that ruby-saml will erroneously consider the signature on the logout request to be incorrect.

Those test failures on some configs appear to have nothing to do with the code changes.

Yes, it seems not related, we will need to apply the same at the validate_signature of the Logout Response.
As well as provide tests and documentation on the README.

@pitbulk I've written some tests, and made the equivalent change for Logoutresponse.
I'm not sure what kind of change you'd like to the README; I can't see any existing documentation about using get_params, so it's not as straightforward as just updating what's already there. Can you give me some pointers on where you'd like the documentation added, and how much detail you'd like?

I think we may write an "Update from 1.5.0 to 1.6.0 version" and we ahould describe there that previously we  used in LogoutRequest and LogoutResponse constructor the optioms [get_params] but now we recommend to use raw_get_params... and maybe and example of code of the new use.

@pitbulk I've pushed some documentation in README.md. Does that look ok to you?

Cheers. 😎

Is there anything I can do to help move this (and https://github.com/onelogin/ruby-saml/pull/420) closer to landing?

No drama whatsoever. 😃  Cheers!


GUVNOR-2173,JBPM-5269 - Adding the jbpm-bpmn2-services module

@mswiderski -- what do you think of this?
See the following commit for use of this in designer:

https://github.com/droolsjbpm/jbpm-designer/pull/375/files?w=1#diff-63469f70be2a8501e45bd8454a0045e1R67

PR set:

https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/pull/257
https://github.com/droolsjbpm/jbpm/pull/544

Jenkins retest please

jenkins retest please (especially now that I added the necessary PR from droolsjbpm-build-bootstrap

thanks for the link in designer as it makes it much easier to understand the flow.
Now I start to wonder why we need the BPMN2DefinitionServiceImpl at all, mainly because as you stated in the comment in designer it might fail and during authoring phase it can quite frequently which then leads to fallback using parser.
What would you say to directly use parser approach only with customer listener developed in designer? That way we do have it done in single place and there is no need to rely on BPMN2DefinitionServiceImpl at all.

@mswiderski Sounds reasonable, I'll try that.
However, that will then basically duplicate the code that's now in jbpm-bpmn2-services. Is that okay?

I believe it should be much less then what we need in services - if I got it right change impact mainly concert the data types (variables, imports, globals, interfaces, etc) used in process and does not really care if there are 10 user tasks or what user groups are assigned to the tasks.
Anyway I am ok with bit of duplication as it's for a good purpose :)

Okay, that makes sense.
I'll close this and do the agreed stuff in designer.
Thanks!


feat: add full zip encoding for wide data types

The encoding is only tested on tensors for now.  It should encode variable-width data but, without a repetition index, we are not yet able to schedule / decode variable width data.  In addition, I've created a few todos for follow-up.

Codecov Report
Attention: Patch coverage is 78.00253% with 174 lines in your changes missing coverage. Please review.

Project coverage is 77.20%. Comparing base (c237bcb) to head (bb03752).

Files with missing lines
Patch %
Lines

rust/lance-encoding/src/repdef.rs
69.45%
113 Missing :warning:

.../lance-encoding/src/encodings/logical/primitive.rs
82.77%
36 Missing and 10 partials :warning:

...encoding/src/encodings/physical/fixed_size_list.rs
86.27%
5 Missing and 2 partials :warning:

rust/lance-encoding/src/encoder.rs
73.68%
4 Missing and 1 partial :warning:

rust/lance-core/src/utils/bit.rs
94.28%
2 Missing :warning:

rust/lance-encoding/src/decoder.rs
88.88%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3114      +/-   ##
==========================================
+ Coverage   77.11%   77.20%   +0.08%
==========================================
  Files         240      240
  Lines       80643    81407     +764
  Branches    80643    81407     +764
==========================================
+ Hits        62190    62848     +658
- Misses      15275    15375     +100
- Partials     3178     3184       +6

Flag
Coverage Δ

unittests
77.20% <78.00%> (+0.08%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


bug: kcp apiserver does not serve openapi specifications

Describe the bug
The /clusters/foo/openapi endpoints for kcp apiserver return the kubernetes OpenAPI spec.
Steps To Reproduce
kubectl get --raw /openapi/v2 | grep ClusterWorkspace

Expected Behaviour
We generate the definitions, so I imagine we want to serve them? This would also be nice to allow downstream users to generate clients in non-Go SDKs.
Additional Context
No response

Need to make sure we do this properly so we don't overload the server with too much OpenAPI generation across potentially hundreds/thousands of workspaces

In addition to dynamically determining this based on bound APIs within a workspace, I think we can also get a lot of value today from having (semi-static) published definitions for the core kcp APIs so that devs could explore the API surface and e.g. generate clients for non-Go SDKs.

This should also fix #1449.

Adding some more detail:

We are supposed to be including the built-in k8s types in our OpenAPI doc. But this is not happening at the moment because the MiniAggregatorConfig stores a pointer to a GenericConfig that is used by both it (mini aggregator) and the k8s control plane apiserver:

https://github.com/kcp-dev/kcp/blob/e40bffc1a67e56d780bc97b1ced45d0c1d7c786e/pkg/server/config.go#L520
This is a problem because in the mini aggregator code, we tell it to skip OpenAPI installation so we can install our own aggregated handler:
https://github.com/kcp-dev/kubernetes/blob/6ebb9f064d8cd524bafba7154d5e47619303be0a/pkg/genericcontrolplane/aggregator/aggregator.go#L103-L107
Unfortunately this is the same GenericConfig, which ends up disabling OpenAPI installation for the k8s control plane server.


Empty bank list iDEAL on checkout

3 weeks ago i published a fix for iDEAL empty bank list on checkout.
https://github.com/mollie/PrestaShop/pull/902
On a fresh prestashop installation 8.1.5 with mollie 6.1.0 installed and iDEAL is active. The ideal bank list on checkout is empty.
SELECT * FROM ps_mol_payment_method_issuer
0 results.
This commit fixes the ps_mol_payment_method_issuer table being filled when mollie module settings are saved.
To reproduce the issue for mollie v6.1.0:
empty table with: TRUNCATE ps_mol_payment_method_issuer (if table is not empty when upgrading)
save mollie settings from module
SELECT * FROM ps_mol_payment_method_issuer
what results in 0 results, no ideal bank issuers information is available.
After adding 'include' => 'issuers' to
$apiMethods = $api->methods->allAvailable(['locale' => '', 'include' => 'issuers']);
will fix it, and table is being filled with ideal issuers data for iDEAL.
Module version 6.0.5 does work! But also contains:
$apiMethods = $api->methods->allActive(['resource' => 'orders', 'include' => 'issuers', 'includeWallets' => 'applepay']);
link to ApiService.php:120
We dont use applepay so can't test that, probably have to add that one too.

Hi there,
Thanks for waiting!
I have forwarded the issue to our development team. As soon as we have more information, I will get back to you.
Best Regards,
Invertus Support team.

@sharkooon Hi there,
The changed were merged and will be added to the 6.2.0 release.
Best Regards,
Invertus Support team.

Hi there @sharkooon,
The issue was fixed and the beta 6.2.0 is already available.
If you can, please install it and if you have some feedback, I would highly appreciate it
Best Regards,
Invertus Support team.


fix the example code

https://github.com/okikio/bundlejs/blob/7c2d9001f52dd1900a121fa65b54facd33312414/src/ts/workers/sandbox.ts#L77
I removed the comment because it wasn't reflecting what the code does.

The comment is valid, but you're right the code was incorrect


docker.io/k8ssandra/k8ssandra-operator:1.5.1: not found

What happened?
I tried to install the 1.5.1 helm chart, but it deployed k8ssandra-operator with the image docker.io/k8ssandra/k8ssandra-operator:1.5.1, which is missing the v prefix in the tag. As a result, the pull failed (and has consequently left my cluster in an un-working state, but that's for me to deal with 😄 ).
Did you expect to see something different?
k8assandra-operator deploys successfully.
How to reproduce it (as minimally and precisely as possible):
Install the 1.5.1 helm chart.
Environment

K8ssandra Operator version:
1.5.1

Kubernetes version information:
v1.26.1

Kubernetes cluster kind:
kubeadm

Thanks for reporting this issue.
Our new Helm release process did have a problem indeed and didn't include the v in the image tag.
We released v1.5.2 with a proper version tag.
if you still want to use v1.5.1 instead, you can work around the issue by adding --set image.tag=v1.5.1 when invoking helm install/upgrade.

Have upgraded to v1.5.2, thanks!


Improve packaging to deploy a fully fledged package with init script, config & docs (for debian)

Bump packaged version to v2.0.5 upstream
Make wget output less verbose
Create a file tree with /etc and /usr files
Introduce an init script and config files
Package for debian with awareness of configs, init script and data dir
Package includes postinst and prerm scripts for graceful handling
Make the README relevant to the changes introduced

Whoa!!! This is super!
I have also added you as a contributor. No need to fork anymore, just commit directly when you have improvements! (you can still PR if you want review)

So great.

Thank you!


Degraded elm repl line editing experience on Debian and derivatives (Ubuntu, Linux Mint, ...)

Summary
As elm repl uses haskeline, all its key bindings should be available. However on Debian derivatives (based on Debian versions >= 6), this is not the case. For example CLTR-L to clear the screen does not work, nor does DELETE to delete the character right of the cursor.
Version
Elm 0.19.0
Debian 9 / Ubuntu 18.04 / Linux Mint 19 (and all versions of these distributions since 2011)
Severity
The issue does not prevent to use elm repl and does not seem to have any impact outside of it. It could most likely be classified as "minor" or "low".
Impacted users
All users of a GNU/Linux distribution derived from Debian 6 (2011) or more are impacted, this includes users of Ubuntu and Linux Mint. According to unreliable statistics, this represents most likely the majority of Linux users.
How to reproduce

On a Debian derivative, run elm repl, then CTRL-L. This does not clear the screen as expected.
On others Unix like systems, this can also be reproduced for tests purpose by setting an invalid TERM environment variable, for example by running TERM=badterm elm repl.

Root cause
To work correctly in a given terminal, libraries like haskeline or readline search on the system (through libncurses/libtinfo) the terminal description file with the same name as the $TERM environment variable (usually xterm or some variants) to detect the terminal capabilities. This file is expected to be located inside one of the directories listed in a search path configured during the ncurses library build (using --with-terminfo-dirs). This directory, which is a database containing all terminal description files, is called terminfo.
The elm Linux binary is built on the Alpine Linux distribution that configures the terminfo search path during the ncurses library compilation as /etc/terminfo:/usr/share/terminfo whereas Debian distributions put the terminfo database in /lib/terminfo (and use /etc/terminfo:/lib/terminfo:/usr/share/terminfo for the search path). Consequently the terminal description file is not found on these Linux distributions.
User configuration fixes
As the ncurses library uses several mechanisms to find the terminfo database, there are several configuration work-arounds to help it find it (see the annex or man terminfo).
Any one of the following work-arounds should work:

Add a symbolic link to the terminfo database from the home directory:

ln -s /lib/terminfo ~/.terminfo

Start elm with the TERMINFO environment variable pointing to the correct directory on your system:

TERMINFO=/lib/terminfo elm repl

Export the TERMINFO variable in your ~/.bashrc file:

export TERMINFO=/lib/terminfo

Export the TERMINFO_DIRS extension supported by elm in your ~/.bashrc file:

export TERMINFO_DIRS=/etc/terminfo:/lib/terminfo:/usr/share/terminfo:/usr/lib/terminfo

Possible permanent fixes
Based on the analysis of Linux distributions, documentation and TERMINFO man page, the following set of directories to search for the terminfo database should work on most in not all systems:
/etc/terminfo:/lib/terminfo:/usr/share/terminfo:/usr/lib/terminfo

There are several options to help the elm binary using it:

Tell users to use one of the configuration fix listed in the previous section when appropriate. The issue is that it is not easy to detect the systems on which there is an issue without duplicating a part of the algorithm used by ncurses to find the terminfo database. Users may also be surprised and annoyed by this step as all their other readline/haskeline tools built by the distribution work without any additional configuration.

Rebuild the ncurses library with some additional terminfo directories and statically link the elm binary to it. ~The Alpine Linux may include one day the needed directories but until then, the library would have to be rebuilt as part of the elm Linux binary build process.~ [Edit: the updated Alpine package has been released following our feature request, see the following comment].  This solution requires to update the build process and presents a risk of regression if this process is later changed but has not impact whatsoever on other systems (MacOSX/Windows).

Configure one of the terminfo environment variable inside the elm binary before haskeline use. This is the solution explored by this pull-request using the TERMINFO_DIRS environment variable, which is more or less an automatization of the user configuration fix 4. As this variable is used in complement of the other mechanisms to find the terminfo database and does not override any other configured directory, the risk of regression is low (see the annex below) but the code setting the variable would still run on systems where this is not needed.

Annex - algorithm used by ncurses to find the terminal description file
Excerpt from the TERMINFO(5) man page:
The  ncurses library searches for terminal descriptions in several places.  It uses only the first description
found.  The library has a compiled-in list of places to search which can be overridden  by  environment  vari‐
ables.  Before starting to search, ncurses eliminates duplicates in its search list.

·   If  the  environment variable TERMINFO is set, it is interpreted as the pathname of a directory containing
    the compiled description you are working on.  Only that directory is searched.

·   If TERMINFO is not set, ncurses will instead look in the directory $HOME/.terminfo for a compiled descrip‐
    tion.

·   Next,  if the environment variable TERMINFO_DIRS is set, ncurses will interpret the contents of that vari‐
    able as a list of colon-separated directories (or database files) to be searched.

    An empty directory name (i.e., if the variable begins or ends with a colon, or contains  adjacent  colons)
    is interpreted as the system location /etc/terminfo.

·   Finally, ncurses searches these compiled-in locations:

    ·   a list of directories (no default value), and

    ·   the system terminfo directory, /etc/terminfo (the compiled-in default).

The Alpine Linux package has been updated in edge (rolling release) with the following search path that fixes elm issue:
"/etc/terminfo:/usr/share/terminfo:/lib/terminfo:/usr/lib/terminfo"

See the following commit
So there are now two ways to fix the issue when building the next elm release (using possible fix 2. in previous comment):
1. Build on Alpine 3.7 by just importing the ncurses packages from edge
This can be done with this modification in the Dockerfile:
+# Install edge version of ncurses with fixed terminfo search dir
+RUN apk add ncurses-dev ncurses-static --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/main/
+
 # Install required packages
-RUN apk add --update ghc cabal git musl-dev zlib-dev ncurses-dev ncurses-static
+RUN apk add --update ghc cabal git musl-dev zlib-dev

This modification can be removed later once a new Alpine version has been released and used to build elm.
2. Build elm with the edge version of Alpine (or next stable version once released):

This requires first to fix the build issue with ghc-8.4 as Alpine edge includes ghc-8.4.3: https://github.com/elm/compiler/pull/1784
Then just changing the release in the Dockerfile and adding wget in the packages list is enough (wget is now required by cabal):

-FROM alpine:3.7
+FROM alpine:edge

 # Install required packages
-RUN apk add --update ghc cabal git musl-dev zlib-dev ncurses-dev ncurses-static
+RUN apk add --update ghc cabal git musl-dev zlib-dev ncurses-dev ncurses-static wget

As the fixed ncurses package will be included in the next Alpine stable release, this release can be used instead of edge once released (most likely 3.8.1)

Edit: The fixed Alpine package has been backported to Alpine 3.8 stable release. I updated the previous comment consequently.

This issue is not limited to Debian based distros as I have it on my Manjaro system as well.

I see it on Cygwin too.
To be fair, I get same error on irb (ruby) and iex (elixir) read/evaluate/print/loop tools as well so it's not clear to me if fault is best assigned to elm-compiler or to the environment? :J

I think that this bug is fully fixed on Linux in elm 0.19.1 (by building with Alpine 3.10 which includes our PR).

Cool, I can confirm repl readline behaves itself in Ubuntu linux, now.

On a mild tangent, I also think it's worth noting that the Windows Installer trips a relatively worrisome trigger on virustotal:

McAfee-GW-Edition: BehavesLike.Win32.Ransom.wc

Thanks guys. :D

@HappMacDonald It may be better to open another issue specific to Cygwin as this bug was about Linux and could be closed. Same for the virustotal thing.

Elm 0.19.1 Linux binary has been built with Alpine 3.10.
This Alpine release includes our feature request to add /lib/terminfo and /usr/lib/terminfo to the searched directory for the terminal description that was not found in 0.19.0 on Debian derivatives and other distributions that store it there.
Consequently this bug should be fixed for all Linux distributions listed in this issue for Elm releases >= 0.19.1.
If you still have some issues with some elm repl key bindings on another OS or another Linux distribution, please open a new issue.


Uploading tables from CSV files omitts all fields if only header row is defined

Describe the bug
Using the upload from CSV file option of tables results in missing fields but the ID field, if only headers are provided.
To Reproduce
Steps to reproduce the behavior:

Create a csv file upload.csv:
Field1, Field2

Select Upload from CSV File. Input table name and file to be uploaded

Press Create. A table will be created

The table contains only an ID field. The other fields (Field1, Field2) are missing

Expected behavior
The expected behavior is that all fields (Field1, Field2) can be found in the table
Screenshots
Can be provided, if necessary
Thanks

Somewhat related to #1307 and #1107

Probably the way to solve this is to add a few more lines as done in #1307. However there is no way to change the Type afterwards?

This doesnt work because there is no way to guess the field types. you need to provide some data or create the fields manually


ENH: Update extension metadata

Set EXTENSION_ICONURL using the GitHub raw URL instead of the file hosted on the Slicer wiki.
Set EXTENSION_SCREENSHOTURLS as a list leveraging support introduced in Slicer/Slicer@1b9bd54b06 (ENH: Support specifying screenshot URL extension metadata as string or list, 2024-04-16)
Related pull requests:

https://github.com/Slicer/ExtensionsIndex/pull/2013

Thank you for the modifications. I will use this URL standard in the next Slicer modules.
Cheers


Font visibly changes when opening the site

Hi kimcc, awesome theme! I am quite new to this and I am not sure if my question makes sense.
When a page with this theme is loaded I noticed that initially the fonts are different and after a second they change to what they are permanently. Is there a way to remove this delay/flickering?
The below gif should illustrate what I mean. (This is viewing the theme on the official hugo website with Chrome on a Mac)

I can confirm that this happens with Firefox on Ubuntu 20.04, too.


Incorporate an inbox zero graphic.

Expected behavior
A nice  graphic is displayed when inbox is cleared.
For example Gmail (online),
Actual behavior
Nothing is displayed to indicate that the inbox is empty (other than no more emails)
Steps to reproduce

Empty inbox of emails
Refresh inbox

Environment
K-9 Mail version: 5.600
Android version: 8.1.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

@cketti I mocked up an idea for this. If you like it I can go ahead and put together a PR, make sure everything scales, the colors are right and such.

Displaying the image is only part of the work. This feature has to take quite a few edge cases into account. Some that come to mind right now:

Folders that have never been synchronized appear empty when entered, but should not display an image (or it needs to be specific for this state). Side note: they shouldn't show "Load up to X more" either.
Similar to the above. "Clear local messages" should not lead to the "inbox zero" image being displayed.
It is misleading when an "inbox zero" image is displayed but the folder hasn't been synchronized in a while. The state on the server could be different. We'll first have to figure out what to do in cases like that.


Properly log skipping environment credentials

Resolves #1078
cc @kyleknap @jamesls @stealthycoin

Current coverage is 97.63% (diff: 100%)

Merging #1091 into develop will not change coverage

@@            develop      #1091   diff @@
==========================================
  Files            44         44
  Lines          6968       6968
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           6803       6803
  Misses          165        165
  Partials          0          0

Powered by Codecov. Last update 7866e79...4c6a23c


Custom forniture

Can i generate image only with a preset of my forniture?
Thanks

Currently not possible but working on it!


Zlib 1.2.12 released

Zlib 1.2.12 released. Would you plan to be compatible with this version ?
Thanks.

We already have most of the fixes that are in zlib 1.2.12. We are missing exporting some crc32 combine functions AFAKI.

We already have CI action to test if in compatibility mode we have same exported symbols as stock zlib... That test just needs to be updated to use zlib 1.2.12 as baseline and then fix any differences it reports... Even though we diverged from zlib years ago, we still try to include as many commits as possible and if necessary, adapt them to accommodate any overlapping changes specific to zlib-ng.
We didn't want to change the baseline commit before the final version of zlib 1.2.12 was released as that would have required keeping the test up-to-date with each and every commit that adds or changes any exported symbols.

With zlib <IP_ADDRESS>, I get:
+ abidiff --no-added-syms --suppressions test/abi/ignore test/abi/zlib-ec3df00224d4b396e2ac6586ab5d25f673caa4c2-x86_64-linux-gnu.abi btmp2/zlib-built.abi
ELF SONAME changed
Functions changes summary: 0 Removed, 0 Changed (24 filtered out), 0 Added (2 filtered out) functions
Variables changes summary: 3 Removed, 0 Changed, 0 Added (1 filtered out) variables

SONAME changed from '' to 'libz.so.1'

3 Removed variables:

  'const char[71] const deflate_copyright'    {deflate_copyright}
  'const char[50] const inflate_copyright'    {inflate_copyright}
  'char* const[10] const z_errmsg'    {z_errmsg}

Hidden in this commit are the changes to crc32 functions exports: https://github.com/madler/zlib/commit/21767c654d31d2dccdde4330529775c6c5fd5389

I don't think we can support both the old and new versions of the changed crc32 related functions as there is no function overloading in standard C.

This is what I get locally:
+ abidiff --no-added-syms --suppressions test/abi/ignore test/abi/zlib-ec3df00224d4b396e2ac6586ab5d25f673caa4c2-x86_64-linux-gnu.abi btmp2/zlib-built.abi
Functions changes summary: 0 Removed, 2 Changed (53 filtered out), 0 Added (2 filtered out) functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added (1 filtered out) variable

2 functions with some indirect sub-type change:

  [C] 'function uLong crc32_combine_gen64(off64_t)' at crc32_comb.c:98:1 has some indirect sub-type changes:
    return type changed:
      entity changed from 'typedef uLong' to compatible type 'void'
        type name changed from 'unsigned long int' to 'void'
        type size changed from 64 to 0 (in bits)
    parameter 1 of type 'typedef off64_t' changed:
      entity changed from 'typedef off64_t' to 'uint32_t*'
      type size hasn't changed
    parameter 2 of type 'typedef off64_t' was added

  [C] 'function uLong crc32_combine_op(uLong, uLong, uLong)' at crc32_comb.c:108:1 has some indirect sub-type changes:
    parameter 1 of type 'typedef uLong' changed:
      typedef name changed from uLong to uint32_t at stdint-uintn.h:26:1
      underlying type 'unsigned long int' changed:
        entity changed from 'unsigned long int' to compatible type 'typedef __uint32_t' at types.h:42:1
          type name changed from 'unsigned long int' to 'unsigned int'
          type size changed from 64 to 32 (in bits)
    parameter 2 of type 'typedef uLong' changed:
      typedef name changed from uLong to uint32_t at stdint-uintn.h:26:1
      underlying type 'unsigned long int' changed:
        entity changed from 'unsigned long int' to compatible type 'typedef __uint32_t' at types.h:42:1
          type name changed from 'unsigned long int' to 'unsigned int'
          type size changed from 64 to 32 (in bits)
    parameter 3 of type 'typedef uLong' changed:
      entity changed from 'typedef uLong' to 'const uint32_t*'
      type size hasn't changed

Hmm, the CRC32 speedups seem like they'd bode well for CPUs pre-carryless multiply or hardware CRC instructions.  The combine function no longer needing a len parameter is interesting, does this mean we'd need to target multiple versions of zlib API for compatibility via a compile time determination?
How long before software / linux distributions actually switch over to this new API?

Just in the last 24 hours I've read about multiple issues in 1.2.12 (release) and <IP_ADDRESS> (develop)... I'm not pretty confident that any distribution or major third-party project will use them until the issues are resolved.

lol, except Arch: https://archlinux.org/packages/core/x86_64/zlib/
I kind of wonder if maybe this is why I was getting segfaults with ld when I had accidentally copied the zlib.so.1 symlinks over into /usr/lib64 instead of just the zlib_ng binary.

lol, except Arch: https://archlinux.org/packages/core/x86_64/zlib/
I kind of wonder if maybe this is why I was getting segfaults with ld when I had accidentally copied the zlib.so.1 symlinks over into /usr/lib64 instead of just the zlib_ng binary.

There's always exceptions... I've seen other "bad" packages even in Ubuntu. It all comes to not testing packages properly and thoroughly. If there weren't any issues in 1.2.12, they wouldn't have started <IP_ADDRESS> so fast... Package managers can also add individual commits from <IP_ADDRESS> and still call it 1.2.12 until the next official release.
So far, the issues I know are:

shared build gives linker errors due to missing -fPIC, soname and version map
cross-building doesn't detect that operating system is Linux, so wrong parameters are passed to linker
New crc32 functions sometimes return different value compared to old
cmake build can fail due to missing/removed files, or deprecated but not removed options

It looks like the crc32 changes add another large table. I haven't checked to see how big those are.

@nmoinvaz byte-wise about double the size of the "old" tables, so not "too" big...

@KungFuJesus It might be possible... I know one of the reasons for difference in crc32 output was not masking out higher 32 bits when long is 64 bits... Our code only use 32-bit integer type, so we didn't/won't introduce that issue...

The braid tables in the new code are quite large though... 48256 or 88256 bytes...

I'm not quite sure how much we have improved our non-vectorized crc32 implementation since we forked from zlib, but just avoiding excess zeroing of upper bits saves a lot. It also made sense to switch to fixed-size integer types when we focused on performance with 64-bit processors.

Our "unoptimized" code is still faster with lengths up to 64 bytes ;)

That is a curious case, I do wonder if that would be true of 1.2.11's implementation as well.  If so, it's likely very little to do with the new set of tables and lookups.

Gotta benchmark against 1.2.11 then, I guess ;)

lol, I just blew away those changes to make that compile with stock zlib.  From what I can tell from the perf benchmark, their version unrolls an ungodly amount whereas ours is very short.  Given that gist of the optimization is that they are trying to take advantage of the super scalar nature of most architectures, some of that might actually be on purpose.  I can certainly see where it might be faster for shorter string lengths to have loops instead.

If we want to support both 1.2.11 and 1.2.12 APIs, we need to have both versions anyways... To get best performance, we need to use hybrid version for non-compatibility mode ;)

Well, technically speaking I think you can implement the old interfaces with the new tables, I think you just simply ignore the length parameter for the combine function.  The other exposed functions are otherwise the same.  But I am curious how vanilla 1.2.11's crc fares against <= 64 bytes.

I'm more interested in how to make compiler accept two C functions with same basename but different signature and version stamp... In a portable way, of course...

Oh that's definitely not possible without some mangling, and it's certainly not portable.  It would have to be a compile time thing that we pretend to be one or the other.
Of course, if we simply don't use the second parameter, we could maybe take advantage of the fact that the cdecl convention just requires arguments be setup in registers before call.  That seems like a weird abuse of the calling convention, though.

I know Linux can do it with gcc and inline assembly, but not sure about clang or VC++...
https://gcc.gnu.org/wiki/SymbolVersioning

Oh here we go:
https://developers.redhat.com/blog/2019/08/01/how-the-gnu-c-library-handles-backward-compatibility#change_your_abi_with_compatibility

Ahh, the bigger caveat:
This code sets the version for all of your symbols that don't already have a specific version to v1. Of course, you only want to do this before your first release, because versioning your symbols is itself an ABI change. Then, as you develop future versions of your library, you add more version clauses and list new symbols in those new clauses.

So, if zlib never versioned the symbol in the first place, it's no good to us.

Not versioning a symbol is not an issue as you can specify empty string as version...

Right, but then doesn't that cause an issue linking to the new version if zlib doesn't decorate the new version with a name?

When you specify empty version, the linker creates weak symbol that points the undecorated name to the symbol with just "@" at the end...

Right but if you're supporting both the new and old version, which version ends up being the empty one?  If things linking to zlib 1.2.11 don't know to look at @@v1, you'd want that to be the empty version.  If you're targeting something linking to the newer version, then you'd have the empty one to be @@v2.
This is interesting...https://github.com/madler/zlib/blob/master/crc32.c#L654
They are doing 3 independent runs of CRC's and then combining them later.  I wonder how much better that might be in terms of throughput.

Usually the oldest version will be the default undecorated one, as the new ones already know about the version map used to build the library, so use the versioned symbol.

Right, but if upstream zlib didn't version the symbol we wouldn't be able to either, to maintain API compliance.  It's a shame, this is perfect application of symbol versioning.  I'm not sure if this is doable on PE binaries, though.

Of course we can version, as we can use the version map to hide all the ugly details... just put the extra stuff in "local" section ;)

Well sure, all of that is fine until ZLIB_COMPAT is defined, though.  There also would seem to be very little reason to want to maintain the old API if they are recompiling against zlib-ng, anyhow.

We use different version stamps depending on ZLIB_COMPAT contents, but we can also use different version decorations in .c files as preprocessor knows if we are building with compatibility enabled or disabled, so use new API starting from next available zlib-ng version number...

Sure, the zlib-ng proper API can of course do all of these things.    Now that the API has changed the user is going to have to pay close attention to the version their distro is using / application is linked with.

Mark Adler has never been the smartest developer... Whole zlib project was on hold for several years until work was resumed...

Ahh man, was about to test their arm changes on manjaro ARM and noticed that they don't even do dynamic runtime detection of ACLE, you have to build it by hand:
 * Use ARM machine instructions if available. This will compute the CRC about
 * ten times faster than the braided calculation. This code does not check for
 * the presence of the CRC instruction at run time. __ARM_FEATURE_CRC32 will
 * only be defined if the compilation specifies an ARM processor architecture
 * that has the instructions. For example, compiling with -march=armv8.1-a or
 * -march=armv8-a+crc, or -march=native if the compile machine has the crc32
 * instructions.

Still, hopefully interesting comparison upcoming.

 It was pretty much first code I wrote for ARM...

Even on the Cortex-A53, supposedly the CPU this was tested on, the simpler one word at a time CRC32 is faster...I'd have thought they'd try that before trying to capitalize on more ILP.
We actually could vectorize the loads and reduce that a bit, extracting from the vector register lanes into scalar GPRs each iteration.  It could also allow for a fast copy + crc, I guess it depends on how slow the "extract from lane" moves are.  We also probably ought to modify our version to start loading from aligned boundaries, it makes a pretty significant difference on even newer aarch64 CPUs.  But man, I was fully expecting their version to be at least twice as fast.

My original version did incrementally use larger sizes until the pointer was aligned, and used reverse logic for tail bytes... basically using least amount of crc instructions...

Oh my bad, it is:
    Z_REGISTER const uint16_t *buf2;
    Z_REGISTER const uint32_t *buf4;

    c = ~crc;
    if (len && ((ptrdiff_t)buf & 1)) {
        c = __crc32b(c, *buf++);
        len--;
    }

Not that it would have mattered for these tests, they are aligned allocations.

I'm not sure if we did benchmarks with UNROLL_MORE enabled... I didn't have access to ARM hardware 24/7 back then...

I did benchmarks with UNROLL_MORE enabled in here. It really didn't make any difference.

The UNROLL_MORE ifdefs were added because it makes no sense to do that on modern cpus because they understand the code better if we rather let them understand the loop and also have a further lookahead on future instructions.
Older cpus however were not able to understand loops like that, and loop unrolling was useful for them.
Nobody has really defined where the cutoff point for that still being useful is though, and nobody has done any extensive testing to figure it out. If I were to hazard a guess, I'd think at least Core2 and newer should not use it, but IDK on arm/ppc/etc.

So from my experience, the PPC970 and it's older cousin the PPC7450/7400 do prefer extensive unrolling, as they have deep pipelines and apparently don't speculate too far out.  However in that particular function, it probably wouldn't have been very beneficial, as every input to the next instruction requires the previous one to finish.  Not that this compiles on that ISA or anything (this is very arm specific), but I doubt any iteration of arm with ACLE this was helpful for.

Is there a reason why the crc32 braiding stuff in 1.2.12 was never merged at the time from develop?

Is there a reason why the crc32 braiding stuff in 1.2.12 was never merged at the time from develop?

It takes quite a lot of memory
The code needs to be cleaned up before merging in
Nobody had spare time to do steps 1 and 2

So I think the changes are in to be able to close this issue, no?

Yea I believe so.

Actually only #1289.

Should be closed by way of #1289 .


Update dropsonde

Dropsonde emits one event HttpStartStop for each request.

A request metric will always be emitted rather than potentially dropped if
it exceeded 1 minute.

Move flag parsing into main to allow current Go versions to work

Go 1.3 should be removed from Travis.
Go 1.5 and higher fails because of the race as mentioned #103

Could you please provide acceptance criteria for these changes?

Dropsonde emits one event HttpStartStop for each request.
If this is a change, what is the current behavior?

A request metric will always be emitted rather than potentially dropped if
it exceeded 1 minute.
If the request exceeds 1 minute, a metric isn't currently emitted?

Move flag parsing into main to allow current Go versions to work
What is considered "current"? 1.4 and 1.5? How is this validated from an operators perspective (create release / deploy)?

Dropsonde used to send an HttpStart and HttpStop event. Metron would cache the HttpStart and match the HttpStop if the HttpStart was still available and send an HttpStartStop. The new Dropsonde code just has a single event emitted, HttpStartStop.
The HttpStart was only kept for 1 minute in Metron and no HttpStartStop was sent if there was no match on the HttpStop.
See any travis build on Go tip which has the same issue with Go 1.5.x. Ginkgo/go test fails.
see https://travis-ci.org/cloudfoundry/gorouter/jobs/92984949
func init() is meant for packages to initialize themselves prior to main() running. It is poor practice to have one in main since you are in control.

Is this correct?
Given an HTTP request that takes longer than a minute
When the request closes I should see an HttpStartStop message in the firehose
(Currently I will see no message in the firehose)
The change to main() looks like an implementation detail; I'll leave that to the team to review.

Correct, you will always see an event for every request that completes rather than those that only take < 1 minute.

Thank you. Pulling the story in for review.

@fraenkel Does the updated dropsonde require go1.5.1? If so we will need to update the golang version in cf-release as well.

No, just what I am using locally.


Make x axis switch to minutes. hours, days as appropriate

Right now when the x axis is relative time, the unit is always seconds, it should be minutes, hours or days as appropriate.

I fixed this.


Remove version: FengHe.FocusNote version 2.16.0-677

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://download.kirakuapp.com/FN_PC/Focus Note Setup 2.16.0-677.exe
Response Error: The remote server returned an error: (403) Forbidden.
(Automated message - build 912)


Make the Markdown badge template a link

Clear and concise description of the problem
When clicking on a badge in Markdown, it should redirect to the CI status page for that repo. It is trivial to do by hand, but the template should be updated to reflect that.
Suggested solution
https://github.com/woodpecker-ci/woodpecker/blob/58838f225c8425436b83b4aff98a33ad41218e61/web/src/components/repo/settings/BadgeTab.vue#L23
Update this to be a link in Markdown:
[![status-badge]({{ baseUrl }}{{ badgeUrl }})]({{ baseUrl }}{{ repoUrl }})

And add a function that generates the repo URL:
const repoRul = computed(() => {
      if (!repo) {
        throw new Error('Unexpected: "repo" should be provided at this place');
      }
      return `/${repo.value.owner}/${repo.value.name}`;
    });

And update the return to signify it: return { baseUrl, badgeUrl, repoUrl };
I can create the PR if you like, but I wanted to gauge whether this is something that would be merged first.
Alternative
No response
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

I can create the PR if you like, but I wanted to gauge whether this is something that would be merged first.

sure go on, this is total valid :)