Add tls_client support

Hello, so i already have an tls client session oben, i would like to use this session in my requests but if that wo't be added for some reason, then just add a slver function with tls_client libary. thanks in advance

I forked the repo and tried to add it myself. after it prints out solving... nothing is happening, it just is stuck indefenently and i don't know how to solve that.
import typing
from logging import getLogger

try:
    import tls_client
except ImportError:
    raise ImportError("You must install 'tls-client' to use `nopecha.api.tlsclient`")

from ._base import APIClient, UniformResponse

logger = getLogger(__name__)
__all__ = ["TlsAPIClient"]

class TlsAPIClient(APIClient):
    def __init__(self, *args, **kwargs):
        session = kwargs.pop("session", None)
        #super().__init__(*args, **kwargs)
        self.session = session or tls_client.Session(
            client_identifier="chrome119", random_tls_extension_order=True
        )

    def _request_raw(
        self, method: str, url: str, body: typing.Optional[dict] = None
    ) -> UniformResponse:
        status = 999
        try:
            # Choose the correct method from tls_client (e.g., get, post, etc.)
            if method.lower() == "post":
                response = self.session.post(
                    url, json=body, headers=self._get_headers()
                )
            elif method.lower() == "get":
                response = self.session.get(
                    url, headers=self._get_headers()
                )
            elif method.lower() == "put":
                response = self.session.get(
                    url, headers=self._get_headers()
                )
            elif method.lower() == "delete":
                response = self.session.get(
                    url, headers=self._get_headers()
            	)

            else:
                raise ValueError(f"Unsupported HTTP method: {method}")

            status = response.status_code
            return UniformResponse(status, response.json())
        except Exception as e:
            logger.warning("Request failed: %s", e)
            return UniformResponse(status, None)

# Install the client using the following command:
# pip install --upgrade nopecha

import tls_client
from nopecha.api.tls_client import TlsAPIClient
solver = TlsAPIClient("7ils8cwb7hb3md2j", tls_client.Session(client_identifier="chrome119", random_tls_extension_order=True))
print("solving...")
solution = solver.solve_hcaptcha("b4c45857-0e23-48e6-9017-e28fff99ffb2", "https://nopecha.com/demo/hcaptcha#easy")
print("token is", solution["data"])

# Print the token
print(token)


Curl Request for Vision API missing output (e.g. hex and percentRounded)

When use the Google Vision API online (ie via the web interface: https://cloud.google.com/vision/) it returns a richer RESPONSE.
For example it will return the following:
"dominantColors": {
    "colors": [
    {
        "color": {
        "blue": 142,
        "green": 164,
        "red": 120
    },
    "hex": "78A48E",
    "percent": 33.590089658393815,
    "percentRounded": 34,
    "pixelFraction": 0.13510324,
    "rgb": "120, 164,\n 142",
    "score": 0.18427122
}

Where as if I run the same "Request" say via some code it will return only the following:
  "dominantColors": {
      "colors": [
        {
          "color": {
            "red": 120,
            "green": 164,
            "blue": 142
          },
          "score": 0.18427122,
          "pixelFraction": 0.13510324
        },

Note that items such as "hex" and "percentRounded" are missing.  The code I used to execute this is:
curl -v -s -H "Content-Type: application/json"     https://vision.googleapis.com/v1/images:annotate?key=[SOME KEY]    --data-binary @request.json
The "request.json" file is:
    {
    "requests": [
                {
                "image": {
                "source": {
                "imageUri": "https://storage.googleapis.com/bucket_20190418/201701_VOGUE.jpg"
                }
                },
                "features": [
                             {
                             "maxResults": 50,
                             "type": "IMAGE_PROPERTIES"
                             }
                             ]
                }
                ]
    }

There are no definitions for any of these fields in our proto files as far as I can tell, which would explain why they're absent from the response. I took a look through the upstream documentation but I couldn't find a reference to any of these fields there either.
@beccasaurus do you know if these are convenience fields for the web ui only?

Addressed by https://github.com/googleapis/google-cloud-node/issues/1324#issuecomment-250287000
The response fields are decorated by the web UI. See above issue comments for more information.

hi there, the results I get from using the API vs what I get from the website are very different. I understand that the highest score reflects most accurately the dominant colour. But I've uploaded the picture to both the website and my backend server (which calls the API) and the results from the JSON file from the google website and my data are different.
for example this is what I get from my log (10 results)
 {     color: { red: 225, green: 226, blue: 223, alpha: null },     score: 0.28191062808036804,     pixelFraction: 0.41662895679473877   },   {     color: { red: 24, green: 27, blue: 35, alpha: null },     score: 0.11526796966791153,     pixelFraction: 0.09317941963672638   },   {     color: { red: 210, green: 210, blue: 206, alpha: null },     score: 0.070244699716568,     pixelFraction: 0.09265127778053284   },   {     color: { red: 41, green: 49, blue: 63, alpha: null },     score: 0.1388927698135376,     pixelFraction: 0.08767164498567581   },   {     color: { red: 44, green: 47, blue: 57, alpha: null },     score: 0.09161456674337387,     pixelFraction: 0.07393994182348251   },   {     color: { red: 24, green: 30, blue: 44, alpha: null },     score: 0.10027392953634262,     pixelFraction: 0.061641767621040344   },   {     color: { red: 72, green: 83, blue: 99, alpha: null },     score: 0.04788002744317055,     pixelFraction: 0.03123585321009159   },   {     color: { red: 76, green: 80, blue: 88, alpha: null },     score: 0.02934001013636589,     pixelFraction: 0.026859816163778305   },   {     color: { red: 105, green: 118, blue: 134, alpha: null },     score: 0.020987385883927345,     pixelFraction: 0.013882601633667946   },   {     color: { red: 73, green: 42, blue: 26, alpha: null },     score: 0.01754932850599289,     pixelFraction: 0.00920476857572794   } ]
vs this is what I get from the website
"dominantColors": {       "colors": [         {           "color": {             "blue": 63,             "green": 49,             "red": 41           },           "hex": "29313F",           "percent": 31.317973386555092,           "percentRounded": 31,           "pixelFraction": 0.087671645,           "rgb": "41, 49,\n 63",           "score": 0.29549706         },         {           "color": {             "blue": 86,             "green": 107,             "red": 150           },           "hex": "966B56",           "percent": 2.4598561685261897,           "percentRounded": 2,           "pixelFraction": 0.015919723,           "rgb": "150, 107,\n 86",           "score": 0.023209684         },
(will not paste the whole thing but the first result from the json is the most accurate colour. If you compare their scores its different. Any idea why? I've been playing around with this for nearly a week.
Why is there a discrepancy?
Would appreciate all the guidance.
This is my code to get the logged results.
   const colors =         results[0]?.imagePropertiesAnnotation.dominantColors.colors;         colors?.forEach(color => console.log("all the colours",color));       const dominantColour = colors[0]?.color;


add-tests

Added new Unit Tests.

Checks failed due to Travis JDK crashing not due to problems in code.

Changes incorporated.
Build working.

Looking good. I'm still just reluctant to add the new test dependency. So leaving it here for now until others have time to chime in.
I'm updating merge requests now, merging what can be merged, so that we can start modifying code for issues found when discussing a possible 1.x release.


bugsnag notifications when offline

Sorry for not filling out the issue template, however this is a more general question.
What happens if bugsnag tries to send a notification when the device is offline?
Does it cache the notification and send it out on a later time when the device is online again, or does it simple swallow it?

No problem, @ferdicus.

What happens if bugsnag tries to send a notification when the device is offline?

When offline, unsent reports are cached on disk and then delivered once the network status changes (or the next time the app starts, if the app is killed before the reports are able to be delivered).


Crash reporting system

Now we have simple dialog saying that editor crashed, it should be replaced by crash reporter which would allow to quickly access log file and more importantly allow to upload crash file to my server.
There is also "Internal exception occurred" toast, it should be also possible to report those exceptions.

Main crash reporter was added. Next is support for internal exceptions.

if you don't already having something similar, I can recommend the git-commit-id-plugin; the generated properties file attached to our crash logs, pretty convenient.
<plugin>
    <groupId>pl.project13.maven</groupId>
    <artifactId>git-commit-id-plugin</artifactId>
    <version>2.2.0</version>
    <executions>
        <execution>
            <goals>
                <goal>revision</goal>
            </goals>
        </execution>
    </executions>

    <configuration>
        <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>

        <!-- that's the default value -->
        <dateFormat>yyyy-MM-dd.MM HH:mm:ss</dateFormat>
        <!-- ALTERNATE SETUP - GENERATE FILE -->
        <!--
            If you want to keep git information, even in your WAR file etc,
            use this mode, which will generate a properties file (with filled out values)
            which you can then normally read using new Properties().load(/**/)
        -->

        <!-- this is false by default, forces the plugin to generate the git.properties file -->
        <generateGitPropertiesFile>true</generateGitPropertiesFile>

        <!--
            The path for the to be generated properties file, it's relative to ${project.basedir}
            The default value is ${project.build.outputDirectory}/git.properties
        -->
        <generateGitPropertiesFilename>
            ${project.build.outputDirectory}/git.properties
        </generateGitPropertiesFilename>
    </configuration>
</plugin>

We are using Gradle now so no Maven plugins for us. We have something similar, there is build timestamp although that haven't proven useful yet.

We are using Gradle

duh... it completely escaped my mind.

Yeah it's recent thing so you could have missed that, I must say it's nice change after xml hell.

Internal exception reporting added, all done.


[Bug] std::system_error thrown during/after client->subscribe(...) when using configuration setUnAckedMessagesTimeoutMs.

Search before asking

[X] I searched in the issues and found nothing similar.

Version
Pulsar version 3.3.
OS - Red Hat Enterprise Linux 8.9 and RHEL 9.3 and Linux 5.10.0-26-amd64
Minimal reproduce step
Our test that is observing the issue is when we are unable to connect to the server immediately on startup, but the server is reachable after a while. We attempt to subscribe, if the subscribe fails we try again.
Sometimes when the subscribe eventually succeeds all is well.
Sometimes when the subscribe is successful it still throws the exception.
Sometimes even before the subscribe returns there is the exception.
//Rough setup.
clientConfig.setReceiverQueueSize(1000);
clientConfig.setUnAckedMessagesTimeoutMs(10000);
clientConfig.setConsumerType(pulsar::ConsumerType::ConsumerExclusive);
client = std::shared_ptr<pulsar::Client> (new pulsar::Client(serviceURL, clientConfig));
pulsar::Result result = pulsar::ResultRetryable;
pulsar::Consumer consumer;
while (true && result != pulsar::ResultOk) {
   result = client->subscribe(["A topic", "Another topic"], subscriberName, clientConfig, consumer);
   if (result != pulsar::ResultOk) {
      //sleep 5s;
   }
}

What did you expect to see?
No exception.
What did you see instead?
std::system_error thrown and not handled.
Anything else?
std::system_error thrown during/after client->subscribe(...) when using configuration setUnAckedMessagesTimeoutMs.
On attempt to subscribe and we have already set a value in the Client Configuration for setUnAckedMessagesTimeoutMs we are observing std::system_error being thrown, not handled, and not caught in ExecutorService and leads to terminating the application. setUnAckedMessagesTimeoutMs is set to 10000, as this is the minimum we have not experimented with other values.
Without setUnAckedMessagesTimeoutMs set in the configuration no exception is seen on or after subscribe(..).
We suspect the exception is being thrown by std::recursive_mutex when trying to aquire the lock in: UnAckedMessageTrackerEnabled::timeoutHandlerHelper() of pulsar-client-cpp/lib/UnAckedMessageTrackerEnabled.cc

Please can this be investigated for the cause of the exception.
Please can exceptions thrown in your library background threads be caught and not terminate the application.

stderr:
terminate called after throwing an instance of 'std::system_error'
what():  Invalid argument
backtrace:
Program terminated with signal SIGABRT, Aborted.
0  0x00007fdef2329acf in raise () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7fddd1253700 (LWP 1875868))]
0  0x00007fdef2329acf in raise () from /lib64/libc.so.6
1  0x00007fdef22fcea5 in abort () from /lib64/libc.so.6
2  0x00007fdef68e69e3 in ::coreHandler(int, siginfo_t*, void*) () from /libapclient.so.10.15
3
4  0x00007fdef2329acf in raise () from /lib64/libc.so.6
5  0x00007fdef22fcea5 in abort () from /lib64/libc.so.6
6  0x00007fdef2eea09b in __gnu_cxx::__verbose_terminate_handler() [clone .cold.1] () from /lib64/libstdc++.so.6
7  0x00007fdef2ef054c in __cxxabiv1::__terminate(void ()()) () from /lib64/libstdc++.so.6
8  0x00007fdef2ef05a7 in std::terminate() () from /lib64/libstdc++.so.6
9  0x00007fdef2ef0808 in __cxa_throw () from /lib64/libstdc++.so.6
10 0x00007fdef2eec235 in std::__throw_system_error(int) [clone .cold.28] () from /lib64/libstdc++.so.6
11 0x00007fddd380f508 in pulsar::UnAckedMessageTrackerEnabled::timeoutHandlerHelper() () from /libconnectivity-pulsar-client.so
12 0x00007fddd380f5a9 in pulsar::UnAckedMessageTrackerEnabled::timeoutHandler() () from /libconnectivity-pulsar-client.so
13 0x00007fddd38111e2 in boost::asio::detail::wait_handler<pulsar::UnAckedMessageTrackerEnabled::timeoutHandler()::{lambda(boost::system::error_code const&) # 1}, boost::asio::any_io_executor>::do_complete(void, boost::asio::detail::scheduler_operation, boost::system::error_code const&, unsigned long) () from      */libconnectivity-pulsar-client.so
14 0x00007fddd374ac38 in boost::asio::detail::scheduler::run(boost::system::error_code&) () from */libconnectivity-pulsar-client.so
15 0x00007fddd3743f92 in pulsar::ExecutorService::start()::{lambda() # 1}::operator()() const [clone .isra.334] () from */libconnectivity-pulsar-client.so
16 0x00007fdef2f1cb23 in execute_native_thread_routine () from /lib64/libstdc++.so.6
17 0x00007fdef26a81ca in start_thread () from /lib64/libpthread.so.0
18 0x00007fdef2314e73 in clone () from /lib64/libc.so.6
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

We suspect the exception is being thrown by std::recursive_mutex when trying to aquire the lock in:

You can enable the debug level logs to verify your guess. See https://github.com/apache/pulsar-client-cpp/blob/d2094828f9fe756b315ba194e1f8a69ca24ac6b4/lib/UnAckedMessageTrackerEnabled.cc#L49

I think it should be caused by https://github.com/apache/pulsar-client-cpp/blob/d2094828f9fe756b315ba194e1f8a69ca24ac6b4/lib/UnAckedMessageTrackerEnabled.cc#L38
We should catch shared_from_this() to ensure the this pointer is valid when the callback is called.

when we are unable to connect to the server immediately on startup

Is there an easy way to simulate the case? I tried starting a consumer and then starting the Pulsar standalone locally but I cannot reproduce it.

We suspect the exception is being thrown by std::recursive_mutex when trying to aquire the lock in:

You can enable the debug level logs to verify your guess. See
https://github.com/apache/pulsar-client-cpp/blob/d2094828f9fe756b315ba194e1f8a69ca24ac6b4/lib/UnAckedMessageTrackerEnabled.cc#L49

pulsarLogs.txt
Please find example logs attached.
We can see that the line 'LOG_DEBUG("UnAckedMessageTrackerEnabled::timeoutHandlerHelper invoked for consumerPtr_ " ' is not logged right before the crash, but the stacktrace indicates it is thrown from within timeoutHandlerHelper pointing to the only line above this log which is 'std::unique_lockstd::recursive_mutex acquire(lock_);'

but the stacktrace indicates it is thrown from within timeoutHandlerHelper pointing to the only line above this log which is

If the UnAckedMessageTrackerEnabled object has been destroyed, locking the lock_ field that belongs to a destroyed object could be a undefined behavior.

I have run against this patch and I do not see a crash.
There is however a slight change in behaviour.
If the client.subscribe did not succeed, after a while (I think 10s) it would return with Result != ResultOk.
Now the client.subscribe seemingly does not return until it succeeds, I have observed over 60s, the reconnects are still attempting, but no return from the subscribe call.
I can work with this, but is the change intentional or was it always intended to behave this way?

Now the client.subscribe seemingly does not return until it succeeds, I have observed over 60s, the reconnects are still attempting, but no return from the subscribe call.

The current behavior should be wrong. I will take a look soon.

In my local env, it failed after 30s when I ran SampleConsumer without any Pulsar server running.
2023-12-05 21:02:37.643 INFO  [0x202635e00] Client:86 | Subscribing on Topic :persistent://public/default/my-topic
2023-12-05 21:02:37.643 INFO  [0x202635e00] ClientConnection:189 | [<none> -> pulsar://localhost:6650] Create ClientConnection, timeout=10000
2023-12-05 21:02:37.643 INFO  [0x202635e00] ConnectionPool:114 | Created connection for pulsar://localhost:6650-0
2023-12-05 21:02:37.644 WARN  [0x16b78b000] ClientConnection:468 | [<none> -> pulsar://localhost:6650] Failed to establish connection: Connection refused
2023-12-05 21:02:37.644 WARN  [0x16b78b000] ClientConnection:468 | [<none> -> pulsar://localhost:6650] Failed to establish connection: Connection refused
2023-12-05 21:02:37.644 INFO  [0x16b78b000] ClientConnection:1317 | [<none> -> pulsar://localhost:6650] Connection disconnected (refCnt: 2)
2023-12-05 21:02:37.644 INFO  [0x16b78b000] ConnectionPool:129 | Remove connection for pulsar://localhost:6650-0
...
2023-12-05 21:03:07.684 ERROR [0x16b78b000] ClientImpl:489 | Error Checking/Getting Partition Metadata while Subscribing on persistent://public/default/my-topic -- TimeOut
2023-12-05 21:03:07.684 INFO  [0x16b78b000] ClientConnection:266 | [<none> -> pulsar://localhost:6650] Destroyed connection to pulsar://localhost:6650-0
2023-12-05 21:03:07.684 ERROR [0x202635e00] SampleConsumer:35 | Failed to subscribe: TimeOut

The timeout is the operationTimeout (30s by default) because connection timeout means the TCP connection timeout that does not include the connection refused error (ECONNREFUSED in POSIX).
@jato-sag Could you upload your client logs?

I tried changing/reducing the operationTimeout, but I don't see any difference, subscribe does not return.
Please see logs attached.
Also for clarity, this is the rough code snippet.
void subscribeClient() {    pulsar::Result result = pulsar::ResultRetryable;    while (m_running && result != pulsar::ResultOk) {       result = client->subscribe(...);       if (result != pulsar::ResultOk) {          //LOG ERROR       } else {          //LOG SUCCESS       }    } }
pulsarLogsPostPatch.txt


Hard refreshes (cache reloads) are sometimes necessary when content changes on the site

This seems to happen any time we update compilers / presets / etc. Happened most recently in #594

I don't know if we should consider this a bug, a site update such as updated compilers seems like it should require one

No cache headers should be causing this
https://decomp.me/api/compilers
Possible nextjs issue

adding more labels / commenting since this is still a problem and really affects usability of the site

would be helpful to find a way to reliabily reproduce this- not entirely sure what the issue is. maybe api.getCached?


Feature - OpenSSL encryption compatibility

Sooooo the mcrypt library has been abandoned since 2003 (... woah), and even though it will still exist for the foreseeable future, it really shouldn't be the only option for the cryptographic internals of this project.
That being said, this PR implements the cryptographic interfaces included in this project using the OpenSSL extension.
It was a bit tricky getting the two libraries to match up exactly, but luckily there were some community posts to make things a bit easier.

PS: This is why interfaces are so beautiful. :heart:

Hmm, Scrutinizer is saying I'm duplicating a lot of code here. I could create an abstract class for these, but I'm not sure if that's really worth it yet.

Don't think this is needed anymore: https://github.com/robinpowered/php-ntlm/blob/master/composer.json#L22
And could probably ensure that the openssl module is installed as well.

Very few things to note here. Pretty much LGTM other than a few questions/comments.

duplicating a lot of code here between the Mcrypt

Do we want to keep this code?

Whoops! Yea, I forgot to include the OpenSSL extension requirement in the composer dev requirements. Let me do that....

Do we want to keep this code?

Yea, since this library is a generic abstraction, I want to provide as much compatibility as possible (similar to how I have both mbstring and iconv implementations of the EncodingConverterInterface).
It's also already written, haha.

LGTM :+1:

:+1: This is good stuff. Well done.

Thanks guys!


hapi-fhir-utilities 4.0.0 not published?

Describe the bug
All of the HAPI Maven artifacts on Maven Central seem to have been updated to 4.0.0, except hapi-fhir-utilities. It is still at 3.8.0.
To Reproduce
Check out: https://search.maven.org/search?q=g:ca.uhn.hapi.fhir AND a:hapi-fhir-utilities&core=gav
And: https://search.maven.org/search?q=g:ca.uhn.hapi.fhir
Expected behavior
I would expect all of the 4.0.0 versions of the modules to be published.
I would also expect hapi-fhir-utilities to still be a dependency for all HAPI projects, as it says it is here: http://hapifhir.io/download.html

I got it to work by using ca.uhn.hapi.fhir:org.hl7.fhir.utilities:4.0.0.
¯\_(ツ)_/¯

The hapi-fhir-utilities module was discontinued, as it is completely superceded by org.hl7.fhir.utilities. Any HAPI FHIR modules that needed the former now automatically import the latter via Maven, so I had assumed this would be an invisible change.
Is there something out there depending explicitly on the old module?

The only one I know of is XhtmlNode.
This is used in the public API, e.g. org.hl7.fhir.dstu3.model.Narrative.setDiv(XhtmlNode value).

XhtmlNode can be found in org.hl7.fhir.utilities though, which is explicitly imported by the POM of the hapi-fhir-structures-dstu3 project as of HAPI FHIR 4.0.0, so I'm not clear on how this would cause issues?

I noticed this in cerner/bunsen, in their bunsen-core module, which does not explicitly depend upon the hapi-fhir-structures.
I think for this library the user opts in to STU3 or R4 by depending upon an additional module which is FHIR version specific.

A note has been added to the download page about the removal of this module


2.7.0: TypeError: string indices must be integers

Originally logged here: https://github.com/awslabs/aws-lambda-powertools-python/issues/383
Caused by : https://github.com/aws/aws-xray-sdk-python/pull/275
Proof of concept code using Powertools and Xray 2.7.0
import json
from aws_lambda_powertools import Tracer
import boto3

tracer = Tracer()

@tracer.capture_method
def my_method():
    sts = boto3.client("sts")
    sts.get_caller_identity()
    raise RuntimeError("Error happens!")

@tracer.capture_lambda_handler
def lambda_handler(event, context):
    my_method()
    return {"statusCode": 200, "body": json.dumps({"hello": "world"})}

logs:
[ERROR]	2021-04-05T05:33:00.732Z	8a4d5027-4faa-4f4f-8d08-df63b7ea72ed	Failed to serialize ## lambda_handler
Traceback (most recent call last):
  File "/var/task/aws_lambda_powertools/tracing/tracer.py", line 313, in decorate
    response = lambda_handler(event, context, **kwargs)
  File "/var/task/app.py", line 17, in lambda_handler
    my_method()
  File "/var/task/aws_lambda_powertools/tracing/tracer.py", line 612, in decorate
    response = method(*args, **kwargs)
  File "/var/task/app.py", line 12, in my_method
    raise RuntimeError("Error happens!")
RuntimeError: Error happens!

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/task/aws_xray_sdk/core/models/entity.py", line 263, in serialize
    return json.dumps(self.to_dict(), default=str)
  File "/var/task/aws_xray_sdk/core/models/subsegment.py", line 157, in to_dict
    subsegment_dict = super(Subsegment, self).to_dict()
  File "/var/task/aws_xray_sdk/core/models/entity.py", line 284, in to_dict
    entity_dict[key]['working_directory'] = self.cause['working_directory']
TypeError: string indices must be integers

Hey @michaelbrewer ,
This is because when sdk is serializing exception, it could be either an dict or str and the current version didn't take the later case into consideration. I've submitted a PR to fix this and the new release should be out soon.

thanks @lupengamzn  for looking into it

@lupengamzn  i see the PR has been merged, what is the timeline for the next release?

@michaelbrewer Python SDK 2.8.0 has been released: https://pypi.org/project/aws-xray-sdk/2.8.0/


How to Install Additional Scrapers

I would like to install this scraper:
https://github.com/tinyMediaManager/scraper-rottentomatoes
I'm not sure what to do after downloading it though. The read me file doesn't contain any instructions.

this scraper does not work anymore since RT has closed their free API..

ah I see thanks.


Trying to reproduce the tutorial.ipynb in Colab

Disclaimer
First of all I'd like to thank @MiloszGrabski for this fantastic and exciting contribution to deepchem.
Tbh I'm relatively new to deepchem, github (and coding in general), so I'm awfully sorry in advance if the following is a trivial issue.
Bug description
When trying to reproduce the example from the "tutorial.ipynb" notebook in a google Colab instance (with the github repo "cloned" to the instance), everything works fine up until the model is trained

I've tried to enable eager execution, which did however not solve the problem.
Additional info: I'm running deepchem version 2.4.0 alongside tensorflow 2.4.1
kind regards

I looks like you have something wrong with input tensors, instead of two you provide four.  From shapes I see you provide input as combination of before and after one-hot encoding.

Thanks for the answer!
From what I've seen over at the deepchem issues section it might have to do with the tensorflow version.
May I ask what tensorflow version you used for the tutorial?
I assume you utilized deepchem version 2.4.0?
thanks in advance and kind regards

I have used version described in DeepChem installation. If you could share your code I might be able to help you.
I doubt from the message that this is the issue as it states that it expected two inputs but received for input tensors.
Other typical issue is not wrapping inputs into [ ] brackets, when building layers i.e. layer(input_a, input_b) might give an error while layer([input_a, input_b]) will be fine. This is due to fact that call function within layers is defined like this call(self,inputs,training=False).


Update from v1beta2 to v1.

Also port Reads code to gRPC.
Please review the code but its not quite ready to be merged yet.  Its working fine locally, but there's one more issue to sort out when running on Dataproc with the Guava 19.0 dependency
java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

Just adding libraryDependencies += "com.google.guava" % "guava" % "19.0" to build.sbt did not do the trick.

guava issue is now fixed, PTAL thanks!

LGTM


🌐 Add Polish translation for docs/pl/docs/tutorial/index.md

docs/pl/tutorial/index.md to polish translation

Hi @rafsaf,
I've applied changes you suggested, hope everything is fine this time.
Thank you for reviewing this PR :-)

Awesome, thanks @MKaczkow ! :cake:
And thanks for the reviews @kiwimic and and @rafsaf ! :bow:


doc fix - set method is also required

In order to create a new configuration class you need to provide also a setter for HttpClientConfiguration

Thanks for your PR!

@joschi Happy to help =)


Match.Where being instantiated as a class, causes error on Meteor 1.6.1 boot

Please see issue meteor/meteor#9383 for context and specific https://github.com/meteor/meteor/issues/9383#issuecomment-345675174.
Basically, this error is now appearing with Meteor 1.6.1 beta on boot:
W20171128-13:29:39.919(-8)? (STDERR) /Users/jschock/.meteor/packages/meteor-tool/.1.6.1-beta.11.js08xa.q30b++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
W20171128-13:29:39.920(-8)? (STDERR) 						throw(ex);
W20171128-13:29:39.921(-8)? (STDERR) 						^
W20171128-13:29:39.921(-8)? (STDERR)
W20171128-13:29:39.921(-8)? (STDERR) TypeError: Match.Where is not a constructor
W20171128-13:29:39.922(-8)? (STDERR)     at packages/aldeed_simple-schema.js:1547:26
W20171128-13:29:39.922(-8)? (STDERR)     at packages/aldeed_simple-schema.js:2160:4
W20171128-13:29:39.922(-8)? (STDERR)     at packages/aldeed_simple-schema.js:3128:3
W20171128-13:29:39.922(-8)? (STDERR)     at infos.forEach.info (/Users/jschock/Code/calliope/calliope/.meteor/local/build/programs/server/boot.js:415:13)
W20171128-13:29:39.923(-8)? (STDERR)     at Array.forEach (<anonymous>)
W20171128-13:29:39.924(-8)? (STDERR)     at /Users/jschock/Code/calliope/calliope/.meteor/local/build/programs/server/boot.js:414:9
W20171128-13:29:39.924(-8)? (STDERR)     at /Users/jschock/Code/calliope/calliope/.meteor/local/build/programs/server/boot.js:468:5
W20171128-13:29:39.924(-8)? (STDERR)     at Function.run (/Users/jschock/Code/calliope/calliope/.meteor/local/build/programs/server/profile.js:510:12)
W20171128-13:29:39.924(-8)? (STDERR)     at /Users/jschock/Code/calliope/calliope/.meteor/local/build/programs/server/boot.js:467:11

Per comments by @abernix:

It seems aldeed:simple-schema could accomplish the same thing by not instantiating a new Match.Where as if it were a class.

It seems as though switching Match.Where to method shorthand syntax in this commit caused it to no longer be usable as a constructor. Instead, Match.Where should now be called as a function, without new. Invoking it as a constructor was creating an unnecessary object before, so this change would be a good idea even if it wasn't strictly necessary.

Seeing the same problem with<EMAIL_ADDRESS>running<EMAIL_ADDRESS>=> Exited with code: 1
W20171213-11:42:54.253(-8)? (STDERR) /Users/jim/.meteor/packages/meteor-tool/.1.6.1-beta.18.1cdl7le++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280
W20171213-11:42:54.253(-8)? (STDERR) 						throw(ex);
W20171213-11:42:54.253(-8)? (STDERR) 						^
W20171213-11:42:54.254(-8)? (STDERR)
W20171213-11:42:54.254(-8)? (STDERR) TypeError: Match.Where is not a constructor
W20171213-11:42:54.254(-8)? (STDERR)     at packages/aldeed_simple-schema.js:1547:26
W20171213-11:42:54.255(-8)? (STDERR)     at packages/aldeed_simple-schema.js:2160:4
W20171213-11:42:54.255(-8)? (STDERR)     at packages/aldeed_simple-schema.js:3128:3
.
.
.

@aldeed Any chance PR #723 gets merged and new version published to Atmosphere or should we just fork?

upgrade  to 1.6.1 beta too, same issue here.

If you don't want to create your own fork you can install ours as a local package.
https://github.com/clozertech/meteor-simple-schema
We also merged #616. Works great with Meteor 1.6.1.

The Meteor SimpleSchema package is no longer maintained other than critical fixes to keep it running with each latest Meteor release. Closing non-critical issues in this repo. Anyone who cares about this may do one or more of the following:

Switch to the NPM package. Be sure to adjust for the breaking changes. There can be a lot of work involved in switching, but it is worth the effort.
If this issue still occurs in the NPM package, submit an issue there. Be sure to include a link to a reproduction repo or a PR that adds a failing test for the issue.
If you have more time than money, submit a pull request to resolve any issue labeled "help wanted" in the NPM package repo.
If you have more money than time, donate to help support development if you are able


[Bug]: word is coming two times unnecessarily

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

the ambu flow word is coming two time without any need, plz assign me this issue.
Add Screenshots
No response
What browsers are you seeing the problem on?
Firefox, Chrome, Safari, Microsoft Edge
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

Can you explain this issue in more detail?

AMBUFLOW IS WRITTEN TWO TIMES

On which page is this issue, as I am not able to figure it out?


[Event queue] Failures due to error fetching the shop's config.json

There are 2 jobs in the events queue in prod that are failing due to not being able to load the associated shop's config.
Here is the error:
request to https://sweet-tea-tumblers.ogn.app/sweet-tea-tumblers/config.json failed, reason: getaddrinfo ENOTFOUND sweet-tea-tumblers.ogn.app sweet-tea-tumblers.ogn.app:443

The URL https://sweet-tea-tumblers.ogn.app fails resolving.

This is shop id 211
The queue failed for those 2 jobs:

job id 0x761dac419b570bbf0157b05b8ab629e6651703c1e363af1a8b17013141e3ba23, which was mined on Aug-04-2020 09:30 PM +UTC
job id 0x716c45d2a0bd7814ca9e5b489aebe58e3ff07bee98135a545ec14bf35218a201, which was mined on Aug-04-2020 10:02 PM +UTC

The deployment for this shop failed a few times due to #352
As a result, based on the data in the shop_deployments table, the shop must have been down during the following time windows:

from 2020-08-01 10:12pm UTC to 2020-08-02 3:59pm UTC
from 2020-08-02 4:03pm UTC to 2020-08-04 01:17am UTC

It's also interesting to note that the shop's domain was changed from https://sweet-pea-tumblers.ogn.app to https://sweet-pea-shop.ogn.app on 2020-08-01 01:43am UTC.
For some reason, the event processor is still trying to process the events using the old domain https://sweet-pea-tumblers.ogn.app. E.g. it's trying to fetch https://sweet-tea-tumblers.ogn.app/sweet-tea-tumblers/config.json (which won't work) as opposed to using the correct URL: https://sweet-pea-shop.ogn.app/sweet-tea-tumblers/config.json

The shop's config dataUrl field is still pointing to the old domain:
node configCli.js --networkId=1 --shopId=211 --operation=get --key=dataUrl
dshop.cli: Loaded shop Sweet Pea Shop (211)
dshop.cli: Shop 211 Sweet Pea Shop config: dataUrl=https://sweet-tea-tumblers.ogn.app/sweet-tea-tumblers/
dshop.cli: Finished

Which causes the event processor to fail.
I'm not sure why that config did not get updated?

I'm thinking we should make sure config.json is correct at the time of deploy by making sure backendUrl, listingId etc are all up to date.

Agreed for more data consistency checks as part of the deployment.
Now, just to be clear, in this case it is the shop's config in the database that is incorrect... not the config.json

Guessing DNS was updated without a deploy?  Is config.json something we'd want to pull from an IPFS hash rather than DNS?  Just asking outloud.

I manually fixed the dataUrl for shop Id 211.
I also re-reprocessed successfully the 2 orders that were failing.
After looking at the code, it looks like we are not updating dataUrl in the config in case the merchant updates their shop's hostname. I'll send a PR to fix that...

I manually fixed the dataUrl for shop Id 211.
I also re-reprocessed successfully the 2 orders that were failing.
After looking at the code, it looks like we are not updating dataUrl in the config in case the merchant updates their shop's hostname. I'll send a PR to fix that...

@gullible1 FYI Orders on the "Sweet Pea Shop" should now fixed. You can let the merchant know. It broke because the merchant changed the shop's hostname (under Settings > Appearance > Store Domain) which is totally fine but that triggered a bug on our side that I will work on fixing...

You legend, @franckc ! He will be happy to hear that - I'll ping him now.

Fixed in #402


Database saving for user management

Please also check https://github.com/bptlab/chimera/wiki/Github-Workflow which includes guides for merging PRs


Duplicate sub-dependencies are included when bundling

Hi,
we're managing a big web app and wondered why our final app bundle is so big. So to see what is actually required by browserify I did:
browserify -e js/app.js --list > webapp-dependencies.txt
I found that there are instances where sub-dependencies are bundled into the application multiple times:
/node_modules/react-router-bootstrap/node_modules/classnames/index.js -v ^2.0.0
/node_modules/react-bootstrap/node_modules/classnames/index.js - ^2.0.0
/node_modules/classnames/index.js - v 1.2.2

So since both react-router-bootstrap and react-bootstrap could (and maybe do) use the same version of classnames.js, I'm wondering why they're not bundled as one dependency.
I assume this is a bug, right?

Hello, ... is there anybody out there?

Hello @TimDaub

So since both react-router-bootstrap and react-bootstrap could (and maybe do) use the same version of classnames.js, I'm wondering why they're not bundled as one dependency.

Please see saving bytes in the handbook:

browserify will not include the same exact file twice, but compatible versions may differ slightly. browserify is also not version-aware, it will include the versions of packages exactly as they are laid out in node_modules/ according to the require() algorithm that node uses.

browserify is not going to figure out if they're supposed to be compatible. I think it is meant to dedupe them if the files are identical. Are any of the files you referenced identical? If not I suggest you $ npm dedupe and try bundling again.

Closing this because it's not clear that there's a browserify issue. If there's a browserify bug please open a new issue following the guidelines in How to report issues with browserify. Thanks!


GitHub Action to lint Python code

Thanks for contributing to TVM!   Please refer to guideline https://tvm.apache.org/docs/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

Yeah I agree with @areusch. Given we have ci-lint with dependencies relatively stable in a docker image, it is reasonable to update ci-lint instead


getting error while running train.py in windows

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\spawn.py", line 105, in spawn_main
    exitcode = main(fd)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\spawn.py", line 114, in main
    prepare(preparation_data)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\spawn.py", line 225, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
    run_name="__mp_main")
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\runpy.py", line 96, in run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\runpy.py", line 85, in run_code
    exec(code, run_globals)
  File "C:\Users\Harsh\Desktop\tf2-mobile\train.py", line 135, in <module>
    from evaluate import calculate_total_pckh
  File "C:\Users\Harsh\Desktop\tf2-mobile\evaluate.py", line 105, in <module>
    manager = multiprocessing.Manager()
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\context.py", line 56, in Manager
    m.start()
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\managers.py", line 563, in start
    self._process.start()
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\process.py", line 112, in start
    self._popen = self._Popen(self)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init
    prep_data = spawn.get_preparation_data(process_obj._name)
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
    _check_not_importing_main()
  File "C:\Users\Harsh\anaconda3\envs\posewin\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
    is not going to be frozen to produce an executable.''')
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen to produce an executable.

Please help me to solve this.

I havn't changed anything in train.py file


Support operation batching

Add read and write functions in a schedule module. These functions will schedule operations to run using requestAnimationFrame. Scheduled reads will run before writes.
This PR depends on dojo/core#23.
References #12

Based on a discussion Jason and I just had, it might end up being more straightforward and simpler to just reuse the queueing parts of core and implement the read/write batch APIs directly.  As it is, the direction we were headed would have involved completely rewriting _dispatch and possibly _schedule, and would basically end up ignoring the rest of core's Scheduler code.

I have some local cleanup on top of Jason's work to simplify this and also tighten task scheduling a bit.  I just want to add another destroy test that tests preserving order with multiple items queued, and then should be able to merge this late today or early tomorrow.


Update EthGasStation tests

failing CI tests
https://github.com/gakonst/ethers-rs/actions/runs/3816587795/jobs/6492313112
due to eth gas station EOL
TODO

update test

cc @DaniPopes easy pick off

that was the point of #1989
I don't really have an explanation for why get_transaction returns None other than it's goerli's fault

ah misread the error log.
changing this issue to just deprecate the eth_gas_station test


add tests?

seems it need some test for confidence to use

Basic tests added with Travis CI integration. I'll add more to cover as many use cases as possible over the next few days.


I can not synchronize a blockchain after reboot.

Yesterday I started the daemon on ubuntu, the synchronization started, everything was fine, ~ 1500000 blocks were synchronized, but today after the server reboot, synchronization does not work.
debug.log:
scrypt: using scrypt-sse2 as built.
dbenv.open LogDir=/home/myuser/.VERGE/database ErrorFile=/home/myuser/.VERGE/db.log
Bound to <IP_ADDRESS>:21102
TOR thread started.
AddLocal(usvy5gyehddzcbh3.onion:21102,4)
Loading block index...
Opening LevelDB in /home/myuser/.VERGE/txleveldb
No OBFS4 found, not using it.
Transaction index version is 70509
Opened LevelDB successfully
Then I tried to download the chain of blocks from here https://verge-blockchain.com/ but this did not help, the same problem remained. If I start doing synchronization from scratch then everything works. How can I start a daemon with a downloaded chain of blocks?

the debug info you posted here looks fine. how long are you letting it try to sync?


optimize the performance of lightning

What problem does this PR solve?
optimize the performance of lightning
the main performance improve is by setting SetGCPercent as 500 default compare to Use pool for mutation and Reuse slice of record. disable UpdateDeltaForTable if TxnCtx is nil should reduce 14% time in Encode according to the work by kennytm before in the comment.
What is changed and how it works?

set SetGCPercent as 500 default

Lightning allocates too many transient objects and heap size is small,
so garbage collections happen too frequently and lots of time is spent in GC component.
In a test of loading the table order_line.csv of 14k TPCC.
The time need for encode kv data and write step reduce from 52m4s to 37m30s when change
GOGC from 100 to 500, the total time needed to restore the table reduce near 15m too.
The cost of this is the memory of lightning at runtime grows from about 200M to 700M, but it's acceptable.
So we set the GC percentage as 500 default to reduce the GC frequency instead of 100.

Use pool for mutation

see commit https://github.com/pingcap/tidb-lightning/pull/281/commits/cce3ea65de77926ea127e6ae2c90ab79fa472b9a

Reuse slice of record
https://github.com/pingcap/tidb-lightning/pull/281/commits/6f21d82f1e6ff10a66058201d3ff7963f904ebce
see commit

update dependency version of tidb
commit: https://github.com/pingcap/tidb-lightning/pull/281/commits/0181a3f7c8c736e24f00d2a86d96a6278a86789a
For pingcap/tidb@495f8b7
disable UpdateDeltaForTable if TxnCtx is nil

Check List
Tests

Unit test
Integration test

Side effects
Related changes

Need to cherry-pick to the release branch
Need to be included in the release note

/run-all-tests

@kennytm PTAL


bumping closed issue

https://github.com/koenbok/Cactus/issues/218

@jonsaul I saw the other thread, and I'll respond to it. No need to bump it here.
Cheers,

Apologies


Nick: Watch lifechacha.com

Nick requests the watch of the watch_keyword lifechacha\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

lifechacha\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Cody Gray in Charcoal HQ


[Feature Request] Internal Body Heat Regulation

Please describe your requested feature
We started to discuss this as you said in this comment in CurseForge in this issue, but i think that the best option would be to make an issue just for this (without the part of Heat and Climate or Cyberware).
+The request talks about a proper Temperature Regulation made by the body itself
1.- Base temperature
The body should tend to reach a comfortable temperature, and to achieve this, it could be at the expense of Hunger (Vanilla) and Hydration (Survival Inc.)
1.1.- Base Heat Generation
+Even if you wear nothing, when you are too cold, the body should try to warm you until a certain point (this point could be between the 2 harm temperatures)
+This could be done through your hunger: as your body warms you, it takes that energy from your reserves.
+And once your hunger is below a configurable number of drumsticks, it will stop to use it and consequently, you will start to freeze again (i thought on this last point after imagine that you will die of starvation instead of freeze every time you go to cold areas without clothes, but let me hear what you think)
1.2.- Heat Dissipation
+When you are too hot, the body should start to sweat to take advantage of an already Survival Inc. feature: Losing heat through Wetness.
+The level of wetness could increase as the external temperature increases, and it should take that water from hydration (maybe just doubling the hydration losing rate than when you are not too hot)
Extra suggestion
1.- Adding a way to know your exact temperature
I had in mind to use a thermometer that will display the body temperature in-chat when you right-click it.

You have some good points here. Actually, I had something like this in mind when I tought about reworking the heat mechanics. However, there are still some loose ends here I need to figure out first.
You see, the temperature needs to have a definite value every tick. This value is currently being computed by running a number through several functions in 2 steps. In the first step, an radiant temperature is calculated (see HeatModifier.java:135). Then, a temperature difference between the body and the environment is calculated (HeadModifier.java:137) and based on that value, the rate of change is calculated (HeatModifier.java:138). This rate value is then run through another series of function (ones adjusting the actual exchange rate), and the resultant value is added to the current body heat.
Why am I saying all this? Because I need to create a formula like this to achieve the "Internal Body Heat Regeneration". But how should it be computed? I had an idea that the body itself could be a source of "radiant" heat (i.e. a function in the first chain), and the heat generation would scale quasi-logarithmically based on how far the actual body heat is (was the last tick) from the opimal one (with a maximum effect of course). This would be the easiest approach, but it wouldn't be very accurate, since it's effect would be affected by insulation such as armor in a negative way (e.g. the body would regenerate 0.1pt/tick and with a full set of leather armor, it would drop to let's say 0.025pt/tick, which is undesirable).
Another idea that came to my mind is that the body heat regeneration could be added as step 2 function (i.e. exchange rate computation). But instead of scaling the value, it would translate the value as intended. This would be probably the best approach I can think of at this moment.

let me see if i understood well
1.- The first approach consist in taking a "Internal Body Heat Generation" as a Radiant Source (like any Hot Block) but this would be affected by armors. (Unreal, not practical but is the easiest implementation)
2.- The second one is about (dinamically?) modify the Heat Exchange Rate but i don't understand totally this:

instead of scaling the value, it would translate the value as intended.

By "translating the value", I means adding an abritrary value to the previous one. Because in the second step, all the functions just scale the value (i.e. multiply it by some number) but I tought about adding some other value to it, and that value would be dependant on the body heat from previous tick. I have to admit it's a bit whacky and sometimes confusing to think about, but that's the best I have come up with so far.
To explain further what I had in mind: Imagine that you're already on the last step of the computation. You have the value (exchange rate) which will be added to the body heat value. Now, the player's body has an optimal temperature it wants to keep as much as possible, but it has it's limits. So, you have the desired body temp and the actual to-be body temp (freshly computed but not applied yet). You have to somehow compute a value from these 2, which will be then added to the resultant body heat. And that modified body heat will be then stored inside the record, and acted upon.
So, to summarize this in steps:

Compute radiant heat
Compute heat delta (difference between environmental "radiant" heat and current body heat)
Compute base exchange rate
Adjust exchange rate (run through a series of functions)
Add the exchange rate value to the actual heat
Compute optimal heat delta (difference between optimal heat and to-be body heat [computed in step 5])
Compute heat counteraction (aka "Internal body heat regeneration") -> quasi-linear based on value from step 6
Add heat counteraction to the body heat from step 5

The resultant value would be then stored in the record and acted upon. Currently, all steps up to step 5 are implemented. So what I originally meant was to implement steps 6-8 in addition to the existing ones.

the new steps sound nice to me, yeah, the generated temperature by the body should be like that

If you want to try it out, here's a link to a snapshot from that commit (kindly provided by JitPack, those guys are awesome).

Well, i made a small test in a world where, before the new heat regeneration, i died from freeze after like 20 seconds of exposure, but now i can even be wet without cooling too much, and with a full set of leather armor i can be over the minimun temperature before the freezing shader, it is in the Extreme Hills biome,
but i found a small rendering bug

Yeah what you described matches my experience. When I commited it I was questioning whether it's really balanced. Because this way, by wearing full leather armor you can stay even in the coldest biomes during the coldest season (Snowy Taiga @ Winter:7). But whatever, if someone feels like this is not very balanced, they can tune the variables in the config or turn it off altogether, right?

if someone feels like this is not very balanced, they can tune the variables in the config or turn it off altogether, right?

well, yes, but it requires some tests more with the damage enabled to give a reliable verdict, but there's not need to hurry, we can do more tests when everything is implemented (and when we have enough free time), (or the description of this commit means that the last 3 steps from your comment are already implemented?)

Well the heat effects were left disabled just because of accident, the latest commit includes all the heat effects (download from jitpack).
And yes the commit you mentioned includes all the last 3 steps. Fully implemented. See for youself: Invocation: line 149, Method: line 246.

I think we can safely close this, since there is nothing more to be done I guess.

ok, just more tests are needed, but we can see the feedback from the players


Sanitycheck dts awarness

Replace use of DT_ Kconfig defines with functions that query the dts/edt.

Side comment, can these macros (dt_compat_enabled("jedec,spi-nor")) could also be used in CMakeLists.txt?

This seems to have broken something:
https://github.com/zephyrproject-rtos/zephyr/pull/20119#issuecomment-550188228


toggle line comment when selection has comment

There is little issue with toggle line comment on selection, which contains commented lines.
When I have pasted into Script window a text with "--" at begin.
Say query result in text form:
ID    |Type |Value |
------|-----|------|
12340 |Int  |0     |
12341 |Int  |1     |

Then I select the three lines and press Ctrl+/ to comment the result
The second line (with -- at start) become shorter, it is "uncommented"

--ID    |Type |Value |
----|-----|------|
--12340 |Int  |0     |
--12341 |Int  |1     |

I dont know, if it's common problem in Eclipse, or it can be configured in DBeaver.

This is DBeaver feature, not Eclipse.
i'm not sure what is the best way to fix this. Currently DBeaver processes each line separately and toggles comment according to current line state.
As a workaround you can use multiline comments (ctrl+shift+/)

I've fixed comment action so it will add comment to every line if the first line of selection wasn't commented. And remove comments otherwise.


Update NeMo launcher commit hash and image tag

Summary
Bug fix for this issue. The problem is due to missing LLAMA3 configuration files, as reported by Arik Gelman. The bug was introduced by this PR. We should have used the commit hash 599ecfcbbd64fd2de02f2cc093b1610d73854022, but we are currently using cf411a9ede3b466677df8ee672bcc6c396e71e1a. You can see here that we used 599ecfcbbd64fd2de02f2cc093b1610d73854022 before this PR. The commit hash has the required configuration files, such as llama3_70b.yaml.
Test Plan
Ran on an NVIDIA server manually. Could submit a job.

@amaslenn Considering the pros and cons of both options, I would prefer to make them mandatory arguments with default values. Consistent behavior across configurations is better for debugging. If anything fails, we cannot be certain whether it is due to a CloudAI bug or a misconfiguration. Furthermore, there is little to no advantage in removing default values when they are mandatory.

Hm, this is not about "anything fails", but explicit or implicit configuration.
When user creates a configuration, he/she doesn't know which values are default and to look it up he/she needs to go into code. For many args it is OK, but docker and sha1 are different.
We already require docker url for Chakra IIRC, so in this context it is already inconsistent.
Usually explicit values are easier to debug, yet in our case debugging is likely unaffected by this, we can trace values from logs and running scripts.

Let's look at is this way: when we updated default and then upgrade Cloud AI X, all configs get this new value. This seems as a risky change which is hard to verify. If each config has own value set, this is not an issue.

Let's look at is this way: when we updated default and then upgrade Cloud AI X, all configs get this new value. This seems as a risky change which is hard to verify.

@amaslenn, this point makes sense. However, for this bug fix, I believe it’s better to go with the default values, as these are what users expect. Given the tight deadline, I don’t think we can introduce a different behavior (mandatory arguments without default values) for the October release. @srinivas212 and @srivatsankrishnan, please review the comments.

I would assume that there has to be a default value for the commit hash. Lot of users who just want to run out of the box benchmark might not even know which ones to use. There are other users like E2E/GCA_E2E who exactly know what commits hash to use. Since we support both cases. So better to define it with a default hash.

I would assume that there has to be a default value for the commit hash. Lot of users who just want to run out of the box benchmark might not even know which ones to use. There are other users like E2E/GCA_E2E who exactly know what commits hash to use. Since we support both cases. So better to define it with a default hash.

The problem right now is that no one sets commit explicitly in the configs. And we are doomed to repeat this issue, I'm afraid.
Running "out of the box" means "clone && run", right? In this case explicit values in configs will work as well.


Error when running backend example

Hi
I wanted to run the backend example following the instructions in tools/backend/README.md. However, I get the following error when clicking on a video to annotate: Cannot GET /vidat/
Any idea how I can fix this?
Thank you in advance for your help

Hi,
The backend part was developed for Vidat version 1 as a prove of concept. The vidat frontend (for v2, this should be the built statistics, i.e., in dist) should be put into the root folder of the backend for convenience. I've updated the doc. Please try it and let me know if anything goes wrong again.

That fixed it. Thanks!


refactor(preview)!: use base middleware

Description
Followup on https://github.com/vitejs/vite/pull/14756#discussion_r1375447337 and https://github.com/vitejs/vite/pull/14756#issuecomment-1784680646
Not sure if this will break a lot, but could run ecosystem-ci if this passes.
This makes it so that preview post-middlewares do not have access to the base, similar to dev as it's stripped off. For example, req.url will not have the base prepended.
Additional context

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

/ecosystem-ci run

Hmm it's not as bad as I thought. Seems like it's only Astro and Vike affected like before. cc @brillout again if you have thoughts on this.
There's still quite a number of usage with post-middlewares in the wild (github search). But the rest internal apps are less likely to fiddle with preview servers I think.

I think it's worth giving a try.

There's still quite a number of usage with post-middlewares in the wild (github search). But the rest internal apps are less likely to fiddle with preview servers I think.

60% of the usage is coming from a forked repo (non forked repo result).

I'll wait for another review from others or feedback from Rom before going with this, in case anyone has concerns.

This looks good to me, but I agree with waiting for Brillout's feedback.

At first glance I've nothing to object.
Vike has extensive base tests, so it could be worth it to first fix the Vite+Vike CI before merging this. (I suspect Vike is red only because of https://github.com/vitejs/vite/pull/14836.)

/ecosystem-ci run vike

@brillout if you're fine with the comments I left for https://github.com/vitejs/vite/pull/14837 and https://github.com/vitejs/vite/pull/14836, I'd like to merge this PR today. It's the last PR for the milestone so we could request for general testing and make Vite 5 stable soon.

@bluwy Sounds good 👍. (I didn't reply yet because I didn't manage to make appType: 'mpa' instead of appType: 'custom' work for the preview server yet. I'll further try it this morning and report back — ETA in a couple of hours.)

All green from my side, this PR LGTM.

I'd like to merge this PR today [...] request for general testing

I think it could be worth it to merge(/reject) https://github.com/vitejs/vite/pull/14859 before.

Next time the ecosystem CI is failing, please give us a heads up rather than ignoring it.
I really think this PR was a bad idea and if we wanted to standardize dev and preview it would have been better to do it in the reverse direction and remove the base middleware from dev mode. The base middleware is a bad actor that screws with the URL and only lets some requests through to be handled, so the only way I can get our preview mode to work is to reach in to the internals and strip out the base middleware.


Taking extension values out of Request

Hello,
I work with Tide and async-graphql-tide which provides a convenient method to convert from Tide's Request into GraphQL request, however, it takes whole Request by value denying all its extension values; currently I need to clone extension value first in order not to loose it before putting it into GraphQL request context.
A simple solution might be to take ext from Request by value, but I see no such method, is it doable and worth it to implement in Tide?

I've also run into this. Here's a workaround that drops down to a http_types request:
let inner_req: &mut tide::http::Request = r.as_mut();
let removed_ext = inner.ext_mut().remove::<SomeType>();

I'm not entirely sure why ext_mut() returns Option<T> instead of &mut Extensions, or why remove isn't called take, but I'm also not sure what the path forward is

Thank you @jbr, I missed the remove function


chore(main): release 5.4.0

:robot: I have created a release beep boop
5.4.0 (2023-09-16)
Features

add biquad filters support (0b94a9b)
show queue total duration in footer, update uptime duration format (b139516)

Minor changes and bug fixes

remove unnecessary async/await (7dc7b4f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mariusbegby/cadence-discord-bot/releases/tag/v5.4.0 :sunflower:


OGW: compute hmax from elevations

We've decided to split #1569 into two separate task: 1) to compute hmax, 2) to compute T tensor.
This PR adds the computation for hmax (used in orographic gravity wave) from elevation (right now it is read from gfdl restart file).
Please be noted that this PR only won't enable the feature of directly computing OGW related topo info from elevation, but I included the code structure changes and will test it once the second PR (T tensor calculation) is ready. I have left a note in the ogw parameterization setup as well.
The hmax calculation has been tested thoroughly.

Comparison of hmax from the gfdl restart (upper) and our calculation from a 4min resolution elevation (bottom).

Comparison of hmax from the gfdl restart (upper) and our calculation from the elevation used in current Earth wrap setup(bottom).

bors r+

bors r+


Use ruff instead of flake8, use pre-commit as a lint-runner

This PR does two things:

It adds a file .pre-commit-config.yaml config file, allowing the use of pre-commit for running linting & formatting checks.  Now, instead of running flake8 motile, you would run pre-commit run -a.  Pre-commit is nice because:

it lets you add additional versioned tools (e.g. black, or mypy) to one config file, and run them all with a single command (it runs in a virtual env, so devs don't really even need to have these tools installed their environment)
optionally: you can run pre-commit install which will automatically run these checks whenever you commit, unless you pass the --no-verify flag to git commit.  I love this, but if you'd rather leave the linting cleanup until a later commit, you don't have to install it locally.
for ci on github, you can (optionally) use pre-commit.ci, which will run pre-commit on all pull requests for you, and even add commits to the PR that fix easily fixable problems.  (meaning, in some cases, motile contributors needn't even know/care that linting and formatting is ever happening)

it replaces flake8 with ruff.  Ruff is just an amazing linter, written in rust.  (particularly when running checks during pre-commit, the extra speed here is super useful)

Codecov Report

Merging #6 (d38b66b) into main (114d7e2) will not change coverage.
The diff coverage is 91.66%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage   82.59%   82.59%
=======================================
  Files          23       23
  Lines         408      408
=======================================
  Hits          337      337
  Misses         71       71

Impacted Files
Coverage Δ

motile/track_graph.py
49.35% <ø> (ø)

motile/utils.py
0.00% <0.00%> (ø)

motile/constraints/max_children.py
100.00% <100.00%> (ø)

motile/constraints/max_parents.py
100.00% <100.00%> (ø)

motile/constraints/pin.py
100.00% <100.00%> (ø)

motile/constraints/select_edge_nodes.py
100.00% <100.00%> (ø)

motile/costs/edge_distance.py
42.85% <100.00%> (ø)

motile/solver.py
96.55% <100.00%> (ø)

motile/variables/node_appear.py
100.00% <100.00%> (ø)

motile/variables/node_split.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Workaround golint hosting problem

golint is not returning the metadata required by go get at the moment and it's causing our build to fail. This installs golint without go get until it's fixed.
See https://github.com/golang/lint/issues/397

Merging with just 1 LGTM because it has taken out all of our CI builds


Explore a prominent toolbar button style

Ref #153800
From the ref issue:

I do think it would be interesting to explore the notion of a single prominent action in the editor toolbar for use beyond just this scenario. Another example: I think the Python extension uses a green "run" icon but I recall that being hard for users to spot.

I think every single use-case of the "blue button" would qualify here. The big challenge IMO is picking one from multiple extensions or showing multiple prominent buttons without defeating its purpose


Push notification handling data in the app FCM - getInitialNotification - onNotificationOpenedApp

I'm using Firebase messaging and would ideally handle the payload with FCM functions.
Messaging.setBackgroundMessageHandler() gets the payload from Mixpanel
But
Messaging.getInitialNotification() & Messaging.onNotificationOpenedApp() do not
So FCM can see it when it's in the background but the notification is clicked the data is not passed to JS part of my app.
The code works with FCM generated notifications.
I am receiving Push notifications from Mixpanel and the app opens on click so I'm confident the registration aspect is working.
For Android I have this in my xml
//  <service
//        android:name="com.mixpanel.android.mpmetrics.MixpanelFCMMessagingService"
//        android:enabled="true"
//        android:exported="false">
//
//
//
//
Has any one been able to access  mixpanel push notification data in their js code. Either in IOS or Android?
And what Push notification library were you using?

do you have mixpanel profiles set up?
Also just a thought/offer/you and i seem to be having some issues right along similar parts of implmentating this would you be open helping each other out?

Yep and registered devices with Mixpanel so I am receiving push notifications for both IOS and Android.
Yeah I'm helping people where I can. Would really appreciate help on this specific issue.

public void onMessageReceived(RemoteMessage remoteMessage) {
        Map message = remoteMessage.getData();

        super.onMessageReceived(remoteMessage);

        if (intercomPushClient.isIntercomPush(message)) {
            Log.d(TAG, "Intercom message received");
            intercomPushClient.handlePush(getApplication(), message);
        } else if (remoteMessage.getData().containsKey("mp_message")) {
            Log.d(TAG, "Mixpanel message received");
            MixpanelFCMMessagingService.showPushNotification(getApplicationContext(), remoteMessage.toIntent());
        }
    }

I have this code and am having the exact same problem. I can see the notification, but in the app firebase is not picking it up via getInitialNotification, onNotificationOpened or onNotification.

@declanelcocks @0hio-creator nope i havent. I wouldnt mind jumping on a zoom line with you two and putting our heads together to see if we can figure it out.  I would really perfer to get this working without alot of overhead, but right now i am fully setting up firebase and might even just use that short term.
I am on the eastcoast US, let me know if you two want to try that.

@0hio-creator I have the same problem, notification listener does not handle mixpanel notifications. Did you have any idea how this would work?

I have exactly the same issue. I can see the push notifications coming for both iOS and Android. But when I tap on the notification, it doesn't trigger the handler. @declanelcocks did you get it working?


Upgrade langchain to 0.0.148.

This version moves VectorStore type to a base path. Update references.
This version also requires a type param in the vertex chatmodel, so add that.

Looks like manual tests are passing. Ready to merge.


Add option to add column/table name as a parameter

I think there should be an option to insert the column name as a dynamic parameter in queries like

squel.select()
.from('table')
.where('? > ?', 'price', 5)
.toString();

In the current state, the result is "SELECT * FROM table WHERE ('price' > 5)"
And as you can see, the column name is inside quotes (where it should be left "as is")
For reference, the "mysql" package has an option to use '??' (instead of a single '?') as "placeholders for identifiers you would like to have escaped" As indicated here

You might be able to use squel.str() for this.


TestHandleInjectSecretSuccess is flaky

What happened?
The order of volumes / volumeMounts is not guaranteed in the output of the method, so the test occasionally fails to the following:
{[{add /spec/containers/0/volumeMounts [map[mountPath:/my/secret/path name:mySecret-secret]]} {add /spec/volumes [map[name:mySecret-secret secret:map[secretName:mySecret]]]}] { true nil [] 0xc0004bef20 map[] []}}
--- FAIL: TestHandleInjectSecretSuccess (0.01s)
    secretswebhook_test.go:45:
                Error Trace:    /Users/michael.burman/projects/datastax/k8ssandra-operator/controllers/secrets-webhook/secretswebhook_test.go:45
                Error:          Not equal:
                                expected: "/spec/containers/0/volumeMounts"
                                actual  : "/spec/volumes"

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1 +1 @@
                                -/spec/containers/0/volumeMounts
                                +/spec/volumes
                Test:           TestHandleInjectSecretSuccess
    secretswebhook_test.go:47:
                Error Trace:    /Users/michael.burman/projects/datastax/k8ssandra-operator/controllers/secrets-webhook/secretswebhook_test.go:47
                Error:          Not equal:
                                expected: "/spec/volumes"
                                actual  : "/spec/containers/0/volumeMounts"

                                Diff:
                                --- Expected
                                +++ Actual
                                @@ -1 +1 @@
                                -/spec/volumes
                                +/spec/containers/0/volumeMounts
                Test:           TestHandleInjectSecretSuccess

Did you expect to see something different?
How to reproduce it (as minimally and precisely as possible):
Environment

K8ssandra Operator version:
Insert image tag or Git SHA here

Kubernetes version information:
kubectl version

Kubernetes cluster kind:
insert how you created your cluster: kops, bootkube, etc.

Manifests:

insert manifests relevant to the issue

K8ssandra Operator Logs:

insert K8ssandra Operator logs relevant to the issue here

Anything else we need to know?:

I have a fix coming for this in this PR.

I'm happy with whichever gets merged first.

Yeah, either one is fine. Lets just avoid conflict eventually ;)

I think I'm going to beat you to it, my PR is likely to be merged soon 😜


Dummy to test a intermittent test failure

Purpose

Codecov Report
Patch coverage has no change and project coverage change: +5.76% :tada:

Comparison is base (1324a85) 26.71% compared to head (9692a7f) 32.47%.
Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1741      +/-   ##
==========================================
+ Coverage   26.71%   32.47%   +5.76%
==========================================
  Files          67       76       +9
  Lines        4526     5074     +548
  Branches     2315     2561     +246
==========================================
+ Hits         1209     1648     +439
- Misses       3317     3426     +109

Flag
Coverage Δ

config-deployer-service
26.71% <ø> (ø)

idp-domain-service
80.10% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 9 files with indirect coverage changes

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


laravel mix add hash to the name of font file in output css

=== App.scss file ===

=== Output ===

=== Browser page source code ===

=== Output css folder in public directory  ===

=== Result in browser ===

=== glyph font in bootstrap-sass also ===

=== My webpack.mix.js ===

That's for cache-busting purposes. It won't break anything.
I think what you're seeing is unrelated to the query. I just created a fresh project, installed font-awesome, compiled everything down, and then added:
<i class="fa fa-music">

to the page. It all worked.

I think it problem on Windows system only.

on chrome 56.0.2924.87 (64-bit)

on edge 38.14393.0.0

Maybe you just need to define the APP_URL Laravel constant to http://pixie/app/public/ ?

No the problem not in APP_URL because ( css \ js ) files is OK. but the problem in fonts only.

If you take off the leading / in your CSS (fonts/blah instead of /fonts/blah) does it fix the problem?

@pixieaka You need to use the mix.setResourceRoot function to fix this.
By default, Mix's Webpack configuration adds a leading slash to the paths to fonts and images. Setting a different path (don't forget leading and trailing slashes) using the function I mentioned will use the path you set instead of a single /.

Typically though, you should try to avoid a setup like this - instead set IIS to use the app\public folder as the web root. If you don't do that, you're going to get people who are trying to explore your project's hidden parts by searching for files above the public directory.

@pixieaka Your problem is exactly what @kohenkatz described with your server being configured wrong.
The reason everything works fine when you run php artisan serve is because laravel is really just setting up the built-in php server to run the server.php (in the root of your project you can see this file), which routes everything to public/index.php
This is the recommended setup as mentioned in the docs:

Public Directory
After installing Laravel, you should configure your web server's document / web root to be the public directory. The index.php in this directory serves as the front controller for all HTTP requests entering your application.

you can see how this works at vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
Just set your webroot in your server to go to public folder 👍

Thank you guys for help me . The problem is solved.

@pixieaka  how did u fix that, i couldnt understand what @kohenkatz mean, i do not main english sorry

If for some reason you need to remove cache busting only for fonts, you can find my solution here: https://github.com/JeffreyWay/laravel-mix/issues/2036


Just enough pods in standby mode (smarter replication controller)

What is the goal / desired outcome?
Currently, in standby mode, the rc will schedule the number of pods specify in parallelism, and keep those pods up until all the datums are processed. The leads to sub-optimal resource utilization: if the number of datums to process is less than the parallelism value some pods are doing nothing.
Therefore it would be nice if the number of pods could be scaled up and down depending on the number of datums to process (up to the limit specified in parallelism of course).
This would lead to huge speed-up time at the very modest cost of perhaps restarting pods more often (but this cost almost nothing).
To give a better picture of why this might be interesting: cf #4345

Closing this in favor of number #3065. This is definitely something we'd like to do, but is hard for the reasons outlined in that issue. However it should get easier in the near future thanks to #4354.


Update wording on Team Member Payments documentation

In the Team Member Payments documentation, please update '~30 minutes' to '0.5 hours'

Fixed in a separate PR


timeWeek.range creates an infinite loop in firefox

d3.timeWeek.range(new Date(2017, 6, 10), new Date(2017, 9, 10));

The code above works fine on chrome, but creates an infinite loop on firefox (-v 52.2.0, tested on two different linux machines).
Doing some debugging I ended up here, the do-while never halts. Placing some console.log calls in the code I got the following:
do {
	range.push(new Date(+start));
	if (_dbgstop++ >= 100) {
		throw 'stop';
	}
	console.log(start.toISOString());
	offseti(start, step);
	console.log(start.toISOString());
	floori(start);
	console.log(start.toISOString());
	console.log(stop, start < stop);
} while (start < stop);

firefox:
 d3.timeWeek.range(
    new Date(2017, 6, 10),
    new Date(2017, 9, 10)
);
2017-07-16T03:00:00.000Z  d3-time.js:45:3
2017-07-23T03:00:00.000Z  d3-time.js:47:3
2017-07-23T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-07-23T03:00:00.000Z  d3-time.js:45:3
2017-07-30T03:00:00.000Z  d3-time.js:47:3
2017-07-30T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-07-30T03:00:00.000Z  d3-time.js:45:3
2017-08-06T03:00:00.000Z  d3-time.js:47:3
2017-08-06T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-08-06T03:00:00.000Z  d3-time.js:45:3
2017-08-13T03:00:00.000Z  d3-time.js:47:3
2017-08-13T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-08-13T03:00:00.000Z  d3-time.js:45:3
2017-08-20T03:00:00.000Z  d3-time.js:47:3
2017-08-20T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-08-20T03:00:00.000Z  d3-time.js:45:3
2017-08-27T03:00:00.000Z  d3-time.js:47:3
2017-08-27T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-08-27T03:00:00.000Z  d3-time.js:45:3
2017-09-03T03:00:00.000Z  d3-time.js:47:3
2017-09-03T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-09-03T03:00:00.000Z  d3-time.js:45:3
2017-09-10T03:00:00.000Z  d3-time.js:47:3
2017-09-10T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-09-10T03:00:00.000Z  d3-time.js:45:3
2017-09-17T03:00:00.000Z  d3-time.js:47:3
2017-09-17T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-09-17T03:00:00.000Z  d3-time.js:45:3
2017-09-24T03:00:00.000Z  d3-time.js:47:3
2017-09-24T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-09-24T03:00:00.000Z  d3-time.js:45:3
2017-10-01T03:00:00.000Z  d3-time.js:47:3
2017-10-01T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-10-01T03:00:00.000Z  d3-time.js:45:3
2017-10-08T03:00:00.000Z  d3-time.js:47:3
2017-10-08T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-10-08T03:00:00.000Z  d3-time.js:45:3
2017-10-15T02:00:00.000Z  d3-time.js:47:3
2017-10-08T03:00:00.000Z  d3-time.js:49:3
Date 2017-10-10T03:00:00.000Z true  d3-time.js:50:3
2017-10-08T03:00:00.000Z  d3-time.js:45:3
2017-10-15T02:00:00.000Z  d3-time.js:47:3
2017-10-08T03:00:00.000Z
.... (more of the same)
Error: stop

so offseti increases 2017-10-08T03:00:00.000Z to 2017-10-15T02:00:00.000Z and then floori decreases it back to 2017-10-08T03:00:00.000Z and this keeps going on forever.
for chrome we have:
(sameas ff)...
2017-09-24T03:00:00.000Z
d3-time.js:47 2017-10-01T03:00:00.000Z
d3-time.js:49 2017-10-01T03:00:00.000Z
d3-time.js:50 Tue Oct 10 2017 00:00:00 GMT-0300 (-03) true
d3-time.js:45 2017-10-01T03:00:00.000Z
d3-time.js:47 2017-10-08T03:00:00.000Z
d3-time.js:49 2017-10-08T03:00:00.000Z
d3-time.js:50 Tue Oct 10 2017 00:00:00 GMT-0300 (-03) true
d3-time.js:45 2017-10-08T03:00:00.000Z
d3-time.js:47 2017-10-15T03:00:00.000Z
d3-time.js:49 2017-10-15T03:00:00.000Z
d3-time.js:50 Tue Oct 10 2017 00:00:00 GMT-0300 (-03) false

A reduction of this issue (requires switching to Brasilia Standard Time):
date = new Date("2017-10-08T03:00:00.000Z") // Date 2017-10-08T03:00:00.000Z
d3.timeWeek(date) // Date 2017-10-08T03:00:00.000Z
d3.timeWeek.offset(date, 1) // Date 2017-10-15T02:00:00.000Z
d3.timeWeek(d3.timeWeek.offset(date, 1)) // Date 2017-10-08T03:00:00.000Z

Actually, it’s even worse in that d3.timeWeek is not idempotent:
date = new Date("2017-10-15T03:00:00.000Z") // Date 2017-10-15T03:00:00.000Z
d3.timeWeek(date) // Date 2017-10-15T02:00:00.000Z
d3.timeWeek(d3.timeWeek(date)) // Date 2017-10-08T03:00:00.000Z

In vanilla JavaScript (Firefox):
date = new Date("2017-10-15T03:00:00.000Z") // Date 2017-10-15T03:00:00.000Z
date.setHours(0, 0, 0, 0) // Date 2017-10-15T02:00:00.000Z

Whereas in Chrome:
date = new Date("2017-10-15T03:00:00.000Z") // Date 2017-10-15T03:00:00.000Z
date.setHours(0, 0, 0, 0) // Date 2017-10-15T03:00:00.000Z

So in other words, calling date.setHours in Firefox is changing the date from the 15th to the 14th.

(d3.timeDay is also not idempotent in Firefox, for the same reasons.)

I’m not really sure if it’s feasible to fix this; in general, D3 is not a compatibility layer, so I wouldn’t normally try to workaround a bug in date.setHours (and I think this counts as a bug… although perhaps I am misreading the spec). That said, if there’s a reasonably simple workaround, I’d be amenable to using it—I just can’t think of one immediately.
I’d also like to guarantee that interval.range can’t go into an infinite loop, but I think that would still mean that Firefox would have incorrect results. I’ll change this issue title accordingly.

Any plans to make a new release soon with this patch?

Thanks for the reminder. Will try to do this soon…

Is there any update on this? We are blocked on releasing a project as this is still a problem with Firefox 57. Thank you!

Will try today. Thanks for the reminder.


Reduce hardcoding of amd64 to make the dev experience more pleasant on M1 Macs

Running bin/dev-docker-shell on my M1 Mac throws this warning:
/C/d/dependabot-core ❯❯❯ bin/docker-dev-shell
 > image dependabot/dependabot-core-development already exists

=> running docker development shell
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
[dependabot-core-dev] ~/dependabot-core $

Grep'ing the repo I see a bunch of amd64 hardcoding: https://github.com/dependabot/dependabot-core/search?q=amd64
Ideally the architecture would depend on the host platform... that's likely not feasible everywhere, but perhaps some of these could be switched to dynamically picking the architecture. That way if someone is debugging a single ecosystem, possibly it could run natively on arm / apple silicon.
That'd result in a more pleasant dev experience, especially as more and more devs switch to the M1 / M2 apple laptops.

mmm just a warning? I couldn't get it to build at all on my machine, any hints?

Related https://github.com/dependabot/dependabot-core/issues/4697

@deivid-rodriguez I can't get the Dockerfile to build following these instructions due to a problem with terraform package.
But I could pull the latest pre-built docker image following these instructions:
https://github.com/dependabot/dependabot-core#running-with-docker
And then it seems to run fine, other than the warning mentioned in my first post.
So as long as you're not needing to modify the source Dockerfile, you should be okay for now.

Closing as this was partially addressed by https://github.com/dependabot/dependabot-core/pull/4858 and this ticket is so broad that it's not super actionable... with the popularity of the M1 laptops, I'm sure we'll soon flush out any additional bugs and tackle them one-by-one.


Feature/ex 4827 refactor url module

Description
The goal of this PR is to refactor some parts of the URL module:

Change the updateStoreFromUrl action into an ActionClass
Change relatedTags property to singular to be displayed correctly in the URL.
Added a isLoadedFromUrl flag that controls the flux and avoids undesired loops or duplicated events.

Motivation
A review and improvement of the URL Module.
Test
Play with the parameters of the Url (query, related tags, page) and verify everything is set correctly.

When the URL is loaded with query, related tag & page, the page disappears
https://user-images.githubusercontent.com/5759712/135474573-130a943f-73fd-4a9e-8789-6194e02aa7dc.mov
:


Some questions about code?

In utils.py
uniq_v = np.random.choice(num_nodes, sample_size, replace=False)
...
temp_v, edges = np.unique((src, dst), return_inverse=True)
src, dst = np.reshape(edges, (2, -1))
...
g = dgl.DGLGraph()
g.add_nodes(len(uniq_v))  #num_nodes
g.add_edges(src, dst)
I think these code have some question,because the index of len(uniq_v) not equal len(temp_v)

Hi Hongzhi, Correct me if I misunderstood your question.
In my original following line:
https://github.com/BinWang28/InductivE/blob/afda9237e22f2844b518493592caa8497d251a21/src/utils.py#L152
The 'temp_v' is not used.
If you are referring to that 'uniq_v' is different from 'temp_v', I personally do not think it is a major issue as long as 'uniq_v' is larger than 'temp_v'.  Of course, change 'len(uniq_v)' to 'len(temp_v)' is definitely a better choice.
Does this make sense to you? I can edit the code a bit to address it.

Thank you for your reply to my question. I'd like to restate my question."_ , edges = np.unique ((src, dst), return_ Inverse = true)", where edges returns the subscript information of "np.unique ((src, dst))", but it is not asymmetric with the subscript information in "uniq_v". I'm based on "g.add_ nodes(len(uniq_ v) )" considered.

[](InductivE/src/utils.py
Line 152 in afda923)
example:
temp_v, edges = np.unique((src, dst), return_inverse=True)
src, dst = np.reshape(edges, (2, -1))

change to
src = (np.where(uniq_v==src[:,None])[-1])
dst = (np.where(uniq_v==dst[:,None])[-1])

I see your point.
The node ids in (src, dst) are intended to be within the range of (0, number of unique nodes in subsampled graph), instead of the original index.
For g.add_ nodes(len(uniq_ v)), we only need to specify the number of nodes, e.g. 60000.

Thank you for your reply. I understand that your ids in (src, dst) is the construction subgraph, but the embedding you use in encoder is based on uniq_v.
such as (from your point)
uniq_v = [4,6,8,9,10,12] (after sort)
src = [8,9]
dst = [10,12]
_,edges = np.unique((src, dst), return_inverse=True)
print(edges) # edges = [0,1,2,3]
src, dst = np.reshape(edges, (2, -1)) #src=[0,1] #dst=[2,3]

then add edges
g.add_edges(src, dst) #[0,2] [1,3]
but the encoder is  for uniq_v[4,6,8,9,10,12],which [0,1,2,3] corresponding [4,6,8,9] not [8,9,10,12]
I hope you will forgive me for my poor English

Thanks, Hongzhi,
I think I got it this time. Basically it will lead to a feature mix-match problem during training. It should be good for testing since we are using the full graph. I have corrected the code and run it locally. I will wait for the result to see how it works. Did you got the result already?

hhh,I am running too, thanks for your code

Hello, do we have any update on this?

Hello, do we have any update on this?

I did not maintain this repo. If you want to use it, the bug needs to be adapted for the training part.


Remove TD team from internal subprojects

Since runtime dependencies are now in enterprise* subprojects we no
longer need to watch internal projects. For those that are used as
libraries, we have nightly builds set up that will alert us of any
problems well in advance of a Gradle release.

@bot-gradle help

Currently, the following commands are supported:
@bot-gradle test <BuildTrigger1> <BuildTrigger2> ... <BuildTriggerN>

A trigger is a special build for this PR on TeamCity, common triggers are:

SanityCheck/CompileAll/QuickFeedbackLinux/QuickFeedback/PullRequestFeedback/ReadyForNightly/ReadyForRelease
Shortcuts: SC/CA/QFL/QF/PRF/RFN/RFR
Specific builds:

PT: PerformanceTest, all performance tests for Ready For Nightly stage.
APT: AllPerformanceTest, all performance tests, including slow performance tests.
AST: AllSmokeTestsPullRequestFeedback
AFT: AllFunctionalTestsPullRequestFeedback
ASB: AllSpecificBuildsPullRequestFeedback
ACC: AllConfigCacheTestsPullRequestFeedback
ACT: AllCrossVersionTestsReadyForNightly
AFTN: AllFunctionalTestsReadyForNightly
ACTR: AllCrossVersionTestsReadyForRelease
AFTR: AllFunctionalTestsReadyForRelease

@bot-gradle test and merge

queues this PR for testing and merges if all tests pass by:

Creating a merge commit from your PR branch HEAD and the target branch
Running a ReadyForNightly build against the merge commit
When it passes, fast-forward the target branch to this merge commit (i.e. merge the PR)

The merge commit is called a pre-tested commit, which means that it fully tests the integration
of your branch HEAD and latest master, instead of only testing your branch HEAD.
@bot-gradle cancel

cancel a running pre-tested commit build or remove it from queue

@bot-gradle clean

clear the conversation history

@bot-gradle help

display this message

To run a command, simply submit a comment.  For detailed instructions see here.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Document limiting overflow prevention to viewport

Limit overflow prevention to viewport if you use a top-level portal for avoiding unnecessary replacements and performance.
I tried to add this to readme, but is it possible to detect it automatically? If so, I'd like to take a stab at it.

I think it's better to leave this to the user, if anything like this is really needed it should be integrated in popper.js


Fixed the AssetIndex

This PR aims at fixing the AssetIndex by removing the composite pattern and simplifying the AssetSelectorExpression.
Also, the code has been cleaned up so as to conform with the rest of the code base.
There is now the AssetIndex interface and an in-memory implementation which is ready-to-use.
The sample implementation has been cleaned up, it now contains an incomplete implementation to spark a discussion, whether we need it at all.
Personally I think we don't since we already have the in-mem impl.

@DominikPinsel lets go through this, this PR can serve us as a "straw man"

Sure. Did you see that I already implemented the things from our review already on the pull request branch?
https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/pull/115
Also, it seems that the title of your pull request does not reflect its purpose. For my understanding "fixing" does not
mean introducing new functionality as you did among others by extending the AssetIndex interface. Additionally, I'm not
sure what is fixed on this branch, as the core-contract is not even in a runnable state and some changes seem more like draft implementations to support the discussion.
According to contributing guideline, we should not combine independent things in one pull request. So I suggest we split this up into multiple pull requests, to separately address

adding new functionality
discussing and modifying existing solutions

Maybe let's just start with the following two topics, until they are resolved or the PR is split, so that the discussion
stays well-arranged.
In Memory Asset Index
Comparing to the current sample AssetIndex implementation your approach seems not to be an enhancement over it. I'd
appreciate if you would explain this in comparison to the current sample implementation.
It looks like there are the following downsides in comparison to the sample implementation:

It's not possible to add data outside a unit test. So it's a running connector instance would always have zero assets.
It is not as good as a sample, as the data behind is missing (even if its fixture data and IDSA documents).
No functionality "out of the box". If each of the EDC sample/demo extensions requires the user to invest some time, to
understand and set up the extension, running a functional connector for the first time will be very time-consuming.

Asset Selector Expression
The current implementation uses labels as selectors. Your implementation changed it to predicates. While it's convenient
for a unit test to use predicates, it's not so good for other purposes.
It looks like there are the following downsides in comparison to the labels:

If the storage behind the AssetIndex is a database, the EDC has to load the complete database in memory, which would
lead to performance degradation.
Labels are easy to implement, explain and document. They offer a natural way for implementing custom filtering logic
tied to not yet known pluggable data retention systems.
Currently, there are two kinds of extensions, that are working with the selector. The ContractOfferFramework, that
creates the selector, and the AssetIndex, that uses the selector. If you use a predicate  the ContractOfferFramework
might have to know a lot about the AssetIndex and its Assets. Labels are able to work as some kind of abstraction
layer between those two components.
A company that organizes their Assets and ContractOffers within the data space connector can use the labels to do
so (a little like with Kubernetes labels). While it's also possible to do this with predicates, it looks like an
unnecessary layer of complexity, when labels might be sufficient.

Dominik Pinsel<EMAIL_ADDRESS>Daimler TSS GmbH, legal info/Impressum

Maybe you can move the removal of the SampleAssetIndex to a dedicated pull-request, so we don't have to discuss it here.


cli | esbuild exclude flag

It'd be nice if we could pass down flags to the cli and then into the esbuild buildSync function, more particularly I ran into an issue with a module I needed to exclude.

I added a preliminary PR of what could be, maybe we could add some of the other options and also the config file

Small note we talked about in Discord: wondering if exclude is a confusing name in this case.
presta watched pages/Home.js pages/Posts.jsx pages/AnotherPage.tsx --exclude=prisma

It might appear to maybe exclude prisma from being watched or something? Maybe it should be more specific, like --esbuild-exclude or something. Just spitballing here.
We should also support presta.config.js options for the esbuild compilation. Maybe we should only support config file? That way we can skip having to parse esbuild options in addition to our own 🤔