Updates for React.StrictMode compliance

What:
When used within a <React.StrictMode /> block, this library was generating warnings since it was using the Legacy Context API.  This PR updates CarouselProvider and WithStore to use the New Context API as recommended by react.
There was also another strict mode warning with regard to using setState firing on an unmounted component, so I moved the subscribe step in the Wrapper component in WithStore to componentDidMount() to correct this warning.
Why:
I want to try out Concurrent Mode and the React team recommends making sure your app works without warnings when in Strict Mode before giving it a go.  This library was the last hiccup I needed to solve to be warning free.
How:
I forked the repo and made the changes.
Checklist:

[ ] Documentation added/updated (N/A)
[ ] Typescript definitions updated (N/A)
[ ] Tests added and passing (N/A)
[x] Ready to be merged

Loving the library so far.  Great work!

Thanks very much for doing this.  However two tests are failing.

Awesome, thanks @shoeman22!
@allcontributors, please add @shoeman22 for code.

@mrbinky3000 @bcarroll22  ok, I updated the CarouselProvider to accommodate test properly.  Sorry for the noise in the commits -- I'd pushed to my own fork with dist in it so I could reference in package.json locally.
Thanks for the shoutout on the contributors as well!

@allcontributors, please add @shoeman22 for code.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Shared replay buffer

🚀 Feature
The RL implementations added do not have the num_workers option. I have a feeling this is because the code doesn't support a shared replay buffer.
Motivation
Adding this would enable distributed training, which is very important in RL. Certain models wouldn't work at all without this (e.g.: A3C).
Pitch
When num_workers args is specified and is greater than 1, the replay buffer used should be shared amongst all workers.
Alternatives
I believe OpenAI does this using mpi4py, but it would probably defeat the point since PyTorch handles multiprocessing.
Additional context
In the PyTorch docs, they said: "When num_workers > 0, each worker process will have a different copy of the dataset object". This is not true. I tested it using torch.utils.data.get_worker_info() and each worker was pointing to the same address. This is good because it means the replay buffer can be initialised in the Iterable class.
The code below is what I've used for testing. Line 27 (self.replay_buffer.share_memory_()) is where the magic happens. Try running it with that line commented and uncommented to see the difference. I'm happy to provide more explanation if needed or to help implement this.
import numpy as np
import pytorch_lightning as pl
import torch
import torch.optim as optim
from torch.utils.data import DataLoader
from torch.utils.data.dataset import IterableDataset
import torch.nn as nn
from torch.utils.data._utils import collate

class MLP(nn.Module):
    def __init__(self):
        super(MLP, self).__init__()
        self.net = nn.Sequential(
            nn.Linear(1, 5),
            nn.ReLU(),
            nn.Linear(5,1),
            nn.Sigmoid()
        )

    def forward(self, x):
        return self.net(x)

class RLDataset(IterableDataset):
    def __init__(self):
        self.replay_buffer = torch.tensor([0, 0, 0, 0], dtype=torch.float32)
        # self.replay_buffer.share_memory_()

    def __iter__(self):
        self.replay_buffer[torch.utils.data.get_worker_info().id] = torch.utils.data.get_worker_info().id
        print(self.replay_buffer)
        for i in range(np.random.randint(5, 10)):
            yield self.replay_buffer

class MLightning(pl.LightningModule):
    def __init__(self):
        super().__init__()
        self.net = MLP()

    def training_step(self, batch, nb_batch):
        batch = torch.cat(batch, dim=-1).unsqueeze(dim=-1)
        loss = self.net(batch)
        loss = loss.mean()

        result = pl.TrainResult(loss)
        result.log('loss',
                   loss,
                   on_step=True,
                   on_epoch=True,
                   prog_bar=False,
                   logger=False)

        return result

    def configure_optimizers(self):
        """ Initialize Adam optimizer"""
        optimizer = optim.Adam(self.net.parameters(), lr=0.001)
        return [optimizer]

    def __dataloader(self) -> DataLoader:
        """Initialize the Replay Buffer dataset used for retrieving
        experiences"""
        dataset = RLDataset()
        dataloader = DataLoader(
            dataset=dataset,
            batch_size=4,
            num_workers=4,
            collate_fn=collate.default_convert,
            pin_memory=True
        )
        return dataloader

    def train_dataloader(self) -> DataLoader:
        """Get train loader"""
        return self.__dataloader()

def main():
    model = MLightning()

    trainer = pl.Trainer(
        gpus=1,
        # distributed_backend='dp',
        max_epochs=2000,
    )

    trainer.fit(model)

torch.manual_seed(42)
np.random.seed(42)

main()

@MihaiAnca13 good point, mind sending a PR?

@Borda thanks for your reply. Can you please have a quick look at the SharedReplayBuffer I've added? I'm not sure what I should do/add next to make this useful.


Bad Link in Handbook

The documentation on the following page seems to be missing:
https://typescript.codeplex.com/wikipage?title=https://github.com/Microsoft/TypeScript/issues&referringTitle=Writing Definition (.d.ts) Files
I found the link on this page:
http://www.typescriptlang.org/Handbook
Writing .d.ts files > Guidelines and Specifics > Examples > Please post a comment [HERE] if there's a pattern...
Thank You :palm_tree:

Thanks @Think7, we're in the process of updating the handbook and this should be fixed soon.

For future references, the handbook has moved to https://github.com/Microsoft/TypeScript-Handbook


Approach to high-performance streaming

Hi all,
Is there some plan/recommended approach to address some performance scenarios. More specifically:

how to orchestrate a flow of data to ensure "zero-copy" behaviour?
how to handle streams that can seek?

Thank you!

I think it will be implementation driven, we try to do so in http://github.com/reactor/reactor-core

@emil-mi
Thanks for your question!
Just to add to @smaldini's answer:
We've benchmarked possible implementations to be able to deliver sustained rates of over 100mops/s and as such the most likely bottleneck will be business logic overhead etc.
As for seeking behavior that is completely left up to your implementation to provide Publishers that will start from a given offset. Or did you mean something different.

Please consider the following scenarios:

You want to transform a stream of bytes (read from an URL, apply some byte->byte transform, write to some file). Obviously you want to work at once with as many bytes as possible (since 100mops/s translates to a data rate of 100mbps that's not impresive).

What is the type of T in Subscriber in this case? I would expect to be byte[], or some type that models a collection of bytes (a "buffer").
What does the n in Subscription.request(n) means in this case? The number of bytes or the number of "buffers".
More importantly: how can one insure that memory for those buffers is allocated only when needed such as to reduce the pressure on the GC (or the allocator)?

I want to parse some data encoded in fixed length segments (think records or type-length-value protocols where the length of the data is known beforehand) so I lay out my data flow like
Publisher<byte> -> SkipFilter(number of bytes to discard) -> TransformFilter -> Consumer.
Is there a way to enable "accelerated" operations in the case that the Publisher supports such "null reads"?

Hi @emil-mi,

You want to transform a stream of bytes (read from an URL, apply some byte->byte transform, write to some file). Obviously you want to work at once with as many bytes as possible (since 100mops/s translates to a data rate of 100mbps that's not impresive).

You definitely do not want to work on as many bytes as possible, for an unbounded sequence of bytes that will blow your heap faster than you can say "back pressure".

What is the type of T in Subscriber in this case? I would expect to be byte[], or some type that models a collection of bytes (a "buffer").

That's completely up to the Subscriber, but it would be some kind of ChunkOfBytes.

What does the n in Subscription.request(n) means in this case? The number of bytes or the number of "buffers".

Always the number of Ts, in this case number of ChunkOfBytes

More importantly: how can one insure that memory for those buffers is allocated only when needed such as to reduce the pressure on the GC (or the allocator)?

The Publisher is allowed to make these decisions however it pleases.

I want to parse some data encoded in fixed length segments (think records or type-length-value protocols where the length of the data is known beforehand) so I lay out my data flow like Publisher -> SkipFilter(number of bytes to discard) -> TransformFilter -> Consumer. Is there a way to enable "accelerated" operations in the case that the Publisher supports such "null reads"?

Worth keeping in mind is the goal of Reactive Streams:
"Reactive Streams is an initiative to provide a standard for asynchronous stream processing with non-blocking back pressure on the JVM."
If you have no need for asynchrony (i.e. the consumer can always run at the speed of the producer without having to ever block) then simple function composition or method calling will work just fine; there is no need for back pressure. What's good is that Reactive Streams -works- for that use-case as well (see this but of course poly or megamorphic callsites will -never- be as fast as a fully inlined and unrolled while loop.
In your example perhaps the method that creates the Publisher takes an offset to where to skip into that Publisher, not all may support that feature efficiently anyway.
Cheers,
√

Hi,
I think I have enough information to close this question. My understanding is that:

The Publishers are the ones responsible for allocating memory in the system.
A Processor can modify in-place and then forward the resources it receives as arguments to the onNext signal or it can create new objects to send downstream (that is on his Publisher side).
The system handles back-pressure with the credit based flow control scheme but it does not use batching to deliver more elements with a single onNext call. Nevertheless, this behaviour can be implemented by a protocol between concrete implementations of Publisher and Subscriber that is outside the scope of this project (ex. cast the Subscription to some other interface that has the required methods).
Management of memory is the responsibility of the garbage collector. There is no way to implement a pool of s to be used in this specification. This can be implemented outside the scope of this specification by an appropriate design of the class T used (ex. implement AutoCloseable and have the Subscribers call the required method when done with the instance).
To skip elements from a Publisher you must use an implementation detail that is outside the scope of this specification (ex. either start the Publisher from an offset or implement some seek method on the Subscription). Because of rule 2 for Subscribers, it is not ok to do the IO work lazily  when the Subscriber accesses the  in onNext (you could Publish a "handle" to the bytes of a file stream starting from an offset and do the actual reading if ever those bytes are accessed but that would mean that onNext or some other method that does the processing could take a lot of time and mess with the reactive property of the system).

I hope I got a correct understanding of the issues touched. I want to thank you all for your patience and wish you all the best.

The Publishers are the ones responsible for allocating memory in the system.

Yes and no, imagine a Subscriber which lives on another JVM than the Publisher, onNext etc will transform the element, put it on the wire and reconstruct it at the other end.

A Processor can modify in-place and then forward the resources it receives as arguments to the onNext signal or it can create new objects to send downstream (that is on his Publisher side).

Correct

The system handles back-pressure with the credit based flow control scheme but it does not use batching to deliver more elements with a single onNext call. Nevertheless, this behaviour can be implemented by a protocol between concrete implementations of Publisher and Subscriber that is outside the scope of this project (ex. cast the Subscription to some other interface that has the required methods).

Correct

Management of memory is the responsibility of the garbage collector. There is no way to implement a pool of Ts to be used in this specification. This can be implemented outside the scope of this specification by an appropriate design of the class T used (ex. implement AutoCloseable and have the Subscribers call the required method when done with the instance).

You can of course implement a pool, but it needs to be a pool of immutable objects, otherwise correct!

To skip elements from a Publisher you must use an implementation detail that is outside the scope of this specification (ex. either start the Publisher from an offset or implement some seek method on the Subscription).

To skip elements from a publisher you can also just drop them.

Because of rule 2 for Subscribers, it is not ok to do the IO work lazily when the Subscriber accesses the T in onNext (you could Publish a "handle" to the bytes of a file stream starting from an offset and do the actual reading if ever those bytes are accessed but that would mean that onNext or some other method that does the processing could take a lot of time and mess with the reactive property of the system).

Yes, onNext is a signal, it is not intended to process the element but to transport it to the Subscriber so that it can be processed there. There is an exception in place for Subscribers that will not impact the responsiveness of the Publisher.


No metadata in buffer from SICK TriSpector 1000

Describe the Bug
I am trying to acquire 3D images using SICK TriSpector 1000 Streamer. Based on the SICK tutorial the TriSpector GenTL producer sends out 8-bit reflectance image, 16-bit range image and metadate (scale and offset), which are used for measurment conversion.
I successfully receive 8-bit and 16-bit images, but in the buffer there is no metadata. The length of the buffer is equal to 2.
print(buffer)
print(len(buffer.payload.components))

Component #0: 296 x 420, Mono8, 124320 elements,
[255 255 255 ... 255 255 255]
Component #1: 296 x 420, Coord3D_C16, 124320 elements,
[523 523 523 ... 349 349 349]
2

Expected Behavior
I believe that it should be another element in the buffer. Is it possible that the metadata is missing? Or maybe I am looking for it in wrong place?
Configuration

OS: Windows10x64
Python: 3.8.0
Harvester: 1.3.2
GenTL Producer: mvGenTL_Acquire
Camera: SICK TriSpector 1000

Screenshots
These are screenshots from the SICK tutorial:

[X] I've read the Harvester FAQ page.

@maciejolszanski Hi Maciej, thank you for the report. Here's a quick question: Is the metadata a part of the buffer? Or, is it a set of feature nodes in the node map that is delivered as a chunk data? If the metadata is mapped to the feature nodes, you should be able to read the value from the corresponding node such as ia.remote_device.Scale.value. If it is a part of the buffer that resides at the same level as the components you have already acquired, then it would imply there's a defect in Harvester. Perhaps Jonas (@olofsjo) could help you. Best regards, Kazunari.

@olofsjo By the way, did SICK acquire Harvester?! 😅  Ha ha!

@kazunarikudo I do not have that much knowledge on the Trispector but I will hand over the question to a colleague and hopefully we can help out with an answer.

Thanks for quick response 😄
@kazunarikudo You are probably right that I should get these values using node of the remote device.
I found the example program in Halcon 13:

I do not know this language, but I guess that set_framegrabber_param sets a value 'CoordinateA' to node ChunkScan3dCoordinateSelector and get_framegrabber_param gets a value of node and assigns to variable 😉
I tried to do it in my program. Assigning a value to node works fine, but when I want to read a value of the Scale or Offset I receive an error.
I noticed that Selector node, which I can read and write without any problem has acces mode = 4, while the Scale and Offset nodes has access mode = 1.
I haven't found any method to change the access mode. Is there any way to do this?
node.ChunkScan3dCoordinateSelector.value ='CoordinateA'
print('Selector access mode: ', node.ChunkScan3dCoordinateSelector.get_access_mode())
print('Scale access mode: ', node.ChunkScan3dCoordinateScale.get_access_mode())
print('Scale valid: ', node.ChunkScan3dCoordinateScale.is_value_cache_valid())
print(node.ChunkScan3dCoordinateScale.value)

Selector access mode:  4
Scale access mode:  1
Scale valid:  False
---------------------------------------------------------------------------
AccessException                           Traceback (most recent call last)
g:\studia\2_MAGISTERKA\TRISPECTOR_RAMKA\program\acquire.ipynb Cell [5](vscode-notebook-cell:/g%3A/studia/2_MAGISTERKA/TRISPECTOR_RAMKA/program/acquire.ipynb#ch0000004?line=4)' in <module>
      4 print('Scale access mode: ', node.ChunkScan3dCoordinateScale.get_access_mode())
      5 print('Scale valid: ', node.ChunkScan3dCoordinateScale.is_value_cache_valid())
----> [6](vscode-notebook-cell:/g%3A/studia/2_MAGISTERKA/TRISPECTOR_RAMKA/program/acquire.ipynb#ch0000004?line=5) print(node.ChunkScan3dCoordinateScale.value)

File g:\studia\2_MAGISTERKA\TRISPECTOR_RAMKA\program\my_env\lib\site-packages\genicam\genapi.py:2234, in IFloat._get_value(self)
   [2233](file:///g%3A/studia/2_MAGISTERKA/TRISPECTOR_RAMKA/program/my_env/lib/site-packages/genicam/genapi.py?line=2232) def _get_value(self):
-> [2234](file:///g%3A/studia/2_MAGISTERKA/TRISPECTOR_RAMKA/program/my_env/lib/site-packages/genicam/genapi.py?line=2233)     return self._primal_get_value()

File g:\studia\2_MAGISTERKA\TRISPECTOR_RAMKA\program\my_env\lib\site-packages\genicam\genapi.py:2147, in IFloat._primal_get_value(self, Verify, IgnoreCache)
   [2146](file:///g%3A/studia/2_MAGISTERKA/TRISPECTOR_RAMKA/program/my_env/lib/site-packages/genicam/genapi.py?line=2145) def _primal_get_value(self, Verify=False, IgnoreCache=False):
-> [2147](file:///g%3A/studia/2_MAGISTERKA/TRISPECTOR_RAMKA/program/my_env/lib/site-packages/genicam/genapi.py?line=2146)     return _genapi.IFloat__primal_get_value(self, Verify, IgnoreCache)

AccessException: Node is not readable. : AccessException thrown in node 'ChunkScan3dCoordinateScale' while calling 'ChunkScan3dCoordinateScale.GetValue()' (file 'FloatT.h', line 294)

Looks strange that you cannot access it. According to the xml it should be read-only and not write-only as your prints indicates (I do not the device in question available for testing at the moment). Have you tested to acquire an image before trying to read the value or did you just try to read?

I tried both options. Neither before nor after the acquisition I cannot read the node value.
What xml do you mean? I have edited the example xml that SICK provides, and put it in directory foo/xml/. I've created the env variable HARVESTERS_XML_FILE_DIR which value is a path to foo/xml/.
My xml is:
<?xml version="1.0" encoding="utf-8" ?>
<ROOT>

    <!-- Camera basic information -->
<DEVICE>TrispectorS</DEVICE>
<DEVICE_SN>
    <DEVICE_SN_N SN="my_serial_number>>"/>
</DEVICE_SN>

<CAM_PARA>on</CAM_PARA>

<CAM_IP><IP_ADDRESS></CAM_IP>
<CAM_PORT>9000</CAM_PORT>

<Profile_Trigger>FreeRunning</Profile_Trigger>
<Image_Trigger>None</Image_Trigger>
</ROOT>

I noticed that changing the Profie Trigger and Image Trigger has no effect on the device, so I configured them, as well as field of view in SopasET. Then I was able to acquire images in a way i needed.
Well, now I removed this xml from this directory, and still was able to acquire images. So it looks like my xml file is not needed.
But if it is unused, how the harvester knows the IP address of the TriSpector?
PS My TriSpector firmware is 4.2.0. Maybe I should try with another firmware?

@maciejolszanski could you open a support ticket at https://supportportal.sick.com/ so we have an easier time assigning the correct people and priority to helping you.
And I think it would be good to provide the complete sample of your code.
The xml I'm looking at is the device-xml that describes all parameters.

I was in the process of opening the ticket and then I made a small correct in my code to make it more readable. I run my program and it worked.
These nodes are only readable after acquring the image. I checked it earlier but it was a bug in my code 🤦
Thanks @olofsjo and @kazunarikudo for your help. Problem solved!

To bo honest, I was terrified at the beggining, but now I really enjoy working with Harvester and TriSpector.
Thank you again 😄


Limit to a single 'tests passed' notification. Resolves #49.

When adding the redmine slack notification, removes the original "tests passed" notification, and injects that text into the new notification.

Looks good, thanks @joshpencheon. We need to think, longer term, about the best way of testing the CI rake tasks.

Could look at some dogfooding, and have travis run ci:all? I think there are ways of getting .travis.yml to safely hold environment variables (e.g. API keys) for the build.


Fix blog post networking code

Fixes two mistakes in example code:
Instance should be PacketCodec<> and not PacketCodecs<>.
All play and config networking receivers take payload and context.
Supersedes #87 (renamed branch)

I'm pretty sure the table refers to these interfaces, respectively.
https://github.com/FabricMC/fabric/blob/97fc76fd23f24e54ab13644645ae1e350c0bfef3/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/api/networking/v1/ServerPlayNetworking.java#L326-L337
https://github.com/FabricMC/fabric/blob/97fc76fd23f24e54ab13644645ae1e350c0bfef3/fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/api/client/networking/v1/ClientPlayNetworking.java#L284-L300
https://github.com/FabricMC/fabric/blob/97fc76fd23f24e54ab13644645ae1e350c0bfef3/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/api/networking/v1/ServerConfigurationNetworking.java#L269-L280
https://github.com/FabricMC/fabric/blob/97fc76fd23f24e54ab13644645ae1e350c0bfef3/fabric-networking-api-v1/src/client/java/net/fabricmc/fabric/api/client/networking/v1/ClientConfigurationNetworking.java#L274-L280

Fixed, thanks for pointing that out.


fix useSearchParam using stale value with multiple update

Description
If there are multiple uses of useSearchParam where the search params are updated multiple times in the same thread of execution, after the first update, subsequent updates are using a stale value of the previous search params.
The fix is to read directly from window.location.search when performing an update .
Type of change

[ ] Feature
[x] Bugfix
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

Screen shots / Gifs for design review

How to test or reproduce?

Enable HACBS.
Go to Settings page
Ensure there is at least one environment; create if necessary
Enter a name filter that matches no environments
Set a type filter
When there are no matches, the empty state shows a "Clear all filters" button
Click "clear all filters"

Observe that it requires 2 clicks to clear all the filters because the first click only clears the type filter.
With the fix, both the type filter and name filter would be cleared.
Browser conformance:

[x] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

cc @jeff-phillips-18

@jeff-phillips-18 I pushed an update because the EnvironmentListView.spec.tsx test case was failing without mocking window.location.search

/lgtm


CB: Handle connection refused

addresses: slamdata/slamdata#1159

Do we have the test infrastructure to test something like this right now?

The necessary infrastructure exists. As far as I know testing a server startup scenario such as this would be new however.

@drostron was just checking on the build here, had a failure in PrettifySpecs. Added it to #1295 . I don't see how that could be related to this PR, but I'll let you restart that build to confirm.

Thanks for adding it to #1295 and agree that it's unrelated — restarted.

Current coverage is 64.82% (diff: 0.00%)

No coverage report found for master at 8e5ea54.

Powered by Codecov. Last update 8e5ea54...877dc28


Conversion API

https://docs.nexmo.com/messaging/conversion-api

@sasi87 Thanks!
I think it could be a bit misleading to use the verb "send", it's not sending in the same sense as #send_message. I'd pencilled it in on my todo list as #track_message_conversion.
I think it would better to have a params argument for now, primarily for consistency with other methods, also it's not obvious when passing a boolean as a positional argument what that's for. Named arguments which the current params hashes emulate are much clearer. Plan is to tidy up awkward parameter names like message-id in future using named arguments and/or request objects.
I'll make a few tweaks and hopefully get it merged this week.

@sasi87 Merged, thank you! 👍

@timcraft Thanks !!!


fix: 9414 Firestore where clause not fetching numbers

Description
Fixed issue with Firestore in fetching data while using numbers in the where condition.
Other Fixes made in the where condition :

When using Boolean
When using Date
When Using Timestamp
When given space in the key
When Space given in the Value

Fixes #9414
Type of change

Bug fix (non-breaking change which fixes an issue)
This change requires a documentation update

How Has This Been Tested?

Manually

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

/ok-to-test sha=e64d975

LGTM. Requesting someone to approve since Github is throwing internal error on me.


#640 :Update search-input.md

Closing tag missing for input tag in documentation examples for search-input component

Hey @AdityaGupta20871,
Thanks for the PR - fixed this for more components with https://github.com/themesberg/flowbite/commit/45abe966bf92fe0279a1e62555f843ed4e602192
Cheers,
Zoltan


Show tidal coefficient

This is the coefficient between 20 and 120 which describes the tidal range.

Page 94 https://iho.int/iho_pubs/CB/C-33/C-33_maree_simon_en.pdf

Page 184 covers neap / spring tides: https://iho.int/iho_pubs/CB/C-33/C-33_maree_simon_en.pdf

I'm not sure how useful this will be for TS' use cases, so it may not be implemented. More research is needed.

Closing this as it doesn't fit TS' use cases - if someone can present a compelling use case, I'll reopen this issue.


fail db migration for 0.10

I was trying to update my package and ran into this error
[ec2-user@ip-172-31-11-80 timeoff-management]$ npm run-script db-update

<EMAIL_ADDRESS>db-update /home/ec2-user/timeoff-management
node node_modules/.bin/sequelize db:migrate --config=config/db.json --models-path=lib/model/db/

Sequelize [Node: 8.0.0, CLI: 2.5.1, ORM: 3.32.1, sqlite3: ^3.1.1]
Loaded configuration file "config/db.json".
Using environment "development".
== 20190118-chnage-type-value-for-api-token: migrating =======
TypeError: Cannot read property 'type' of undefined
at queryInterface.describeTable.then.attributes (/home/ec2-user/timeoff-management/migrations/20190118-chnage-type-value-for-api-token.js:11:43)
at tryCatcher (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/home/ec2-user/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:800:20)
at tryOnImmediate (timers.js:762:5)
at processImmediate [as _immediateCallback] (timers.js:733:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>db-update: node node_modules/.bin/sequelize db:migrate --config=config/db.json --models-path=lib/model/db/
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>db-update script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ec2-user/.npm/_logs/2019-09-10T11_18_06_609Z-debug.log

The migration script doesn't seem to work with mariadb:

/app/timeoff-management # node node_modules/.bin/sequelize db:migrate --config=config/db.json --models-path=lib/model/db/
Sequelize [Node: 6.10.3, CLI: 2.5.1, ORM: 3.34.0]
Loaded configuration file "config/db.json".
Using environment "development".
== 20190118-chnage-type-value-for-api-token: migrating =======
{ SequelizeDatabaseError: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRAGMA foreign_keys=off' at line 1
at Query.formatError (/app/timeoff-management/node_modules/sequelize/lib/dialects/mysql/query.js:175:14)
at Query. (/app/timeoff-management/node_modules/sequelize/lib/dialects/mysql/query.js:49:21)
at Query. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:502:10)
at Query._callback (/app/timeoff-management/node_modules/mysql/lib/Connection.js:468:16)
at Query.Sequence.end (/app/timeoff-management/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
at Query.ErrorPacket (/app/timeoff-management/node_modules/mysql/lib/protocol/sequences/Query.js:90:8)
at Protocol._parsePacket (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:278:23)
at Parser.write (/app/timeoff-management/node_modules/mysql/lib/protocol/Parser.js:76:12)
at Protocol.write (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:38:16)
at Socket. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:91:28)
at Socket. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:502:10)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
name: 'SequelizeDatabaseError',
message: 'ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRAGMA foreign_keys=off' at line 1',
parent:
{ Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRAGMA foreign_keys=off' at line 1
at Query.Sequence._packetToError (/app/timeoff-management/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
at Query.ErrorPacket (/app/timeoff-management/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)
at Protocol._parsePacket (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:278:23)
at Parser.write (/app/timeoff-management/node_modules/mysql/lib/protocol/Parser.js:76:12)
at Protocol.write (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:38:16)
at Socket. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:91:28)
at Socket. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:502:10)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
--------------------
at Protocol._enqueue (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Connection.query (/app/timeoff-management/node_modules/mysql/lib/Connection.js:200:25)
at /app/timeoff-management/node_modules/sequelize/lib/dialects/mysql/query.js:40:21
at Promise._execute (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/debuggability.js:313:9)
at Promise._resolveFromExecutor (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:483:18)
at new Promise (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:79:10)
at Query.run (/app/timeoff-management/node_modules/sequelize/lib/dialects/mysql/query.js:39:17)
at /app/timeoff-management/node_modules/sequelize/lib/sequelize.js:849:20
at /app/timeoff-management/node_modules/retry-as-promised/index.js:39:21
at Promise._execute (/app/timeoff-management/node_modules/retry-as-promised/node_modules/bluebird/js/release/debuggability.js:313:9)
at Promise._resolveFromExecutor (/app/timeoff-management/node_modules/retry-as-promised/node_modules/bluebird/js/release/promise.js:483:18)
at new Promise (/app/timeoff-management/node_modules/retry-as-promised/node_modules/bluebird/js/release/promise.js:79:10)
at retryAsPromised (/app/timeoff-management/node_modules/retry-as-promised/index.js:29:10)
at /app/timeoff-management/node_modules/sequelize/lib/sequelize.js:848:12
at tryCatcher (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:694:18)
at _drainQueueStep (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:138:12)
at _drainQueue (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:131:9)
at Async._drainQueues (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:147:5)
at Immediate.Async.drainQueues (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: 'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRAGMA foreign_keys=off' at line 1',
sqlState: '42000',
index: 0,
sql: 'PRAGMA foreign_keys=off;' },
original:
{ Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRAGMA foreign_keys=off' at line 1
at Query.Sequence._packetToError (/app/timeoff-management/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
at Query.ErrorPacket (/app/timeoff-management/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)
at Protocol._parsePacket (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:278:23)
at Parser.write (/app/timeoff-management/node_modules/mysql/lib/protocol/Parser.js:76:12)
at Protocol.write (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:38:16)
at Socket. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:91:28)
at Socket. (/app/timeoff-management/node_modules/mysql/lib/Connection.js:502:10)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
--------------------
at Protocol._enqueue (/app/timeoff-management/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Connection.query (/app/timeoff-management/node_modules/mysql/lib/Connection.js:200:25)
at /app/timeoff-management/node_modules/sequelize/lib/dialects/mysql/query.js:40:21
at Promise._execute (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/debuggability.js:313:9)
at Promise._resolveFromExecutor (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:483:18)
at new Promise (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:79:10)
at Query.run (/app/timeoff-management/node_modules/sequelize/lib/dialects/mysql/query.js:39:17)
at /app/timeoff-management/node_modules/sequelize/lib/sequelize.js:849:20
at /app/timeoff-management/node_modules/retry-as-promised/index.js:39:21
at Promise._execute (/app/timeoff-management/node_modules/retry-as-promised/node_modules/bluebird/js/release/debuggability.js:313:9)
at Promise._resolveFromExecutor (/app/timeoff-management/node_modules/retry-as-promised/node_modules/bluebird/js/release/promise.js:483:18)
at new Promise (/app/timeoff-management/node_modules/retry-as-promised/node_modules/bluebird/js/release/promise.js:79:10)
at retryAsPromised (/app/timeoff-management/node_modules/retry-as-promised/index.js:29:10)
at /app/timeoff-management/node_modules/sequelize/lib/sequelize.js:848:12
at tryCatcher (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:694:18)
at _drainQueueStep (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:138:12)
at _drainQueue (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:131:9)
at Async._drainQueues (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:147:5)
at Immediate.Async.drainQueues (/app/timeoff-management/node_modules/sequelize/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage: 'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PRAGMA foreign_keys=off' at line 1',
sqlState: '42000',
index: 0,
sql: 'PRAGMA foreign_keys=off;' },
sql: 'PRAGMA foreign_keys=off;' }


Cannot find module 'nopt'

Hi,
It seems your latest upgrade breaks (my?) installation :
><EMAIL_ADDRESS>install XXXX/node_modules/lzma-native
> node-pre-gyp install --fallback-to-build

module.js:327
    throw err;
    ^

Error: Cannot find module 'nopt'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (XXXX/node_modules/lzma-native/node_modules/node-pre-gyp/lib/node-pre-gyp.js:14:12)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)

Maybe adding nopt as a dependency would be enough ?

Hi, that’s weird and looks more like an npm bug or something that went wrong when publishing node-pre-pyp.
Can you show the output of npm ls? Which npm/node versions are you using? Can you run an argumentless npm install?

It seems npm@2 and npm@3 handle bundled dependencies differently. I’ve just published 1.5.1, can you try that?

Yes, it seems to work, now :) thanks a lot !

Thanks, let me know if anything else pops up! :)


fix IsCursorInTaskbar() when taskbar is at top, left or right.

Hi @dvingerh ,
My taskbars are on the right sides for my 2 monitors.
I set Settings.Default.IgnoreTaskbarVisibility true.
The current IsCursorInTaskbar() calculation assumes the taskbar is at the bottom. As a result, mousewheel scrolling anywhere of my whole screen triggers volume up/down.
If you confirm this bug, consider my proposed fix.
I have tested on win10 and win11(with https://github.com/valinet/ExplorerPatcher so taskbars can be moved)
thanks.

Thanks for the PR. I was able to reproduce the problem and your suggested changes seem to fix the bug.
Note that development on this project has stagnated and I'm not going to bump the version number for this small fix.
Maybe one day I'll rewrite the whole project from scratch, it could use a rewrite.


Why don't you use selenium-standalone service?

Why don't you use selenium-standalone service to take care of the drivers and selenium server?
I see that in the first chapter you are downloading the chrome driver manually.

Hey @mareru , thanks for filing the issue!
The intention was to start simple and have folks understand the fact that there is a driver behind every browser. Making the experience of manually downloading a driver to run it helps to understand what is going on once this process is automated. Often people don't really understand how the automation process works and I wanted to make sure this is somehow captured. The goal within the first chapters is not to build a framework, it is to play around with automation and learn about the details.
What would be your suggestion to improve this?

Hey @christian-bromann , thanks for fast reply.
Yeah, I get your point and it makes total sense to me.
Maybe you could have as part of this workshop or even another project on github which would be more advanced (meaning constructing the framework with all the fancy stuff) and there you could use also selenium-standalone service. :D


Hello world example graph broken: missing plotly dependency

When running sample dashr app from either docs or readme plots fail to render.
Console output produces:
warning: The dependency path '' within the 'dashCoreComponents' package is invalid; cannot find 'plotly-1.48.3.min.js'. from NULL

Chrome devtools errors with:
react-dom.production.min.js?v=16.8.6&m=1564556296:117 ReferenceError: Plotly is not defined
    at t.value (Graph.react.js:108)
    at t.value (Graph.react.js:209)
    at qi (react-dom.production.min.js?v=16.8.6&m=1564556296:130)
    at ui (react-dom.production.min.js?v=16.8.6&m=1564556296:133)
    at react-dom.production.min.js?v=16.8.6&m=1564556296:158
    at unstable_runWithPriority (react.production.min.js?v=16.8.6&m=1564556296:27)
    at Vc (react-dom.production.min.js?v=16.8.6&m=1564556296:158)
    at Sc (react-dom.production.min.js?v=16.8.6&m=1564556296:158)
    at Z (react-dom.production.min.js?v=16.8.6&m=1564556296:156)
    at Kc (react-dom.production.min.js?v=16.8.6&m=1564556296:155)

I am running R 3.6.1 with all required dependencies from README installed.

@tomecki Sorry about that; I believe I've resolved the error you reported in plotly/dash-core-components#591. Would you mind reinstalling dashCoreComponents and trying again?

@rpkyle
I already had a similar problem:
warning: The dependency path '' within the 'dashCoreComponents' package is invalid; cannot find 'plotly-1.48.3.min.js'. from NULL
After I reinstalled dashcorecomponents it was solved.
Thx for the fix.

Thanks @squeezer44!
I’ll hold off on closing for a bit to give @tomecki to confirm that I’ve resolved the issue as noted.

P.S. I took the opportunity to add a package vignette for dashCoreComponents, I hope it’s useful as a supplement to the extensive online documentation.

@rpkyle thanks for quick response - I confirm hello world now runs smooth as butter :+1:

@tomecki Great! Thanks again for opening the issue. I'll close it now, but please let us know if you run into any other trouble.


Carthage hangs when following the Quick Start

Following the Quick Start it seems like carthage hangs trying to build the dependent projects.
dselmans-MBP:MySpellings dselman$ carthage update --platform iOS
*** Fetching ios-sdk
*** Fetching Starscream
*** Fetching Freddy
*** Fetching Alamofire
*** Fetching ObjectMapper
*** Checking out Alamofire at "3.4.1"
*** Checking out ios-sdk at "v0.3.0"
*** Checking out ObjectMapper at "1.3.0"
*** Checking out Starscream at "1.1.3"
*** Checking out Freddy at "2.1.0"
--> Hang here, with no progress after 10 minutes. The only item in Checkouts is Alamofire.
I am using Xcode Version 7.3.1 (7D1014) and Carthage 0.17.1 installed using homebrew.

Hmm. Unfortunately, I don't have any particular ideas on what could be the problem. :\
If Alamofire is the only project that's checked out, then maybe there was a problem with your network connection that caused it to hang? Or perhaps a problem with your Xcode configuration that caused the Alamofire build to hang?
You might find the troubleshooting steps in this comment to be helpful. I'm not sure if they will fix the problem, though.
We're looking forward to the Swift Package Manager with Swift 3.0. I think it will help to solve some of these problems, or at least create a larger user base and community for getting support.
P.S. A word of warning: the iOS SDK has a lot of targets and currently takes a long time to build.

I just tried this again from home (previously I was on the IBM network) and it worked!
** BUILD SUCCEEDED **
Very strange.

Strange indeed. My IBM network connection seemed slow this morning...wonder if it's related. Very glad to hear that it worked, though! Feel free to open an issue if you have any questions/feedback/suggestions about the SDK.


messages are being throttled when I have few uproxy friends.

When I logged in whith account that had few uproxy friends, I try sending instance handshake to few users at once, which ends up being throttled. I keep trying to send them instance handshake (I believe as a result of monitoring kicking in on their side), so throttling never seems to clear.

This is GTalk XMPP throttling right, with the 503 service unavailable
errors?
On Tue, May 12, 2015 at 4:07 PM, salomegeo<EMAIL_ADDRESS>wrote:

When I logged in whith account that had few uproxy friends, I try sending
instance handshake to few users at once, which ends up being throttled. I
keep trying to send them instance handshake (I believe as a result of
monitoring kicking in on their side), so throttling never seems to clear.
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529.

Yes, but it's pretty bad, because it makes uproxy absolutely useless. I
can't request/grant access, i can't start proxy, anything really.
On Tue, May 12, 2015 at 4:08 PM, dborkan<EMAIL_ADDRESS>wrote:

This is GTalk XMPP throttling right, with the 503 service unavailable
errors?
On Tue, May 12, 2015 at 4:07 PM, salomegeo<EMAIL_ADDRESS>wrote:

When I logged in whith account that had few uproxy friends, I try sending
instance handshake to few users at once, which ends up being throttled. I
keep trying to send them instance handshake (I believe as a result of
monitoring kicking in on their side), so throttling never seems to clear.
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529.

—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529#issuecomment-101405460.

Can you tell if things got worse with the recent version of uProxy or is
this just a coincidence?

I haven't tried google.com account before, i doubt it's at all related, but
that doesn't make this less important.
This will become an issue once number of people using uproxy grows and you
have multiple friends online when you log in.
Maybe we can implement some kind of backoff, because the problem here is
that throttling doesn't recover, until your friends go offline.
On Tue, May 12, 2015 at 4:14 PM, dborkan<EMAIL_ADDRESS>wrote:

Can you tell if things got worse with the recent version of uProxy or is
this just a coincidence?
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529#issuecomment-101407262.

I don't think this will be fixed unless we abandon xmpp, which I don't think will happen until 0.9

Could we use the same design as we have with GitHub but using Google Docs instead of gists? If so we might be able to write a new Google provider relatively quickly.

We already have a new Google provider: Firebase ("Google+").  The problem has been figuring out how to make good buddy lists in that system.  Invite tokens, however, are "easy".

Yes, I think invite tokens are a better model than buddy list, and easier
to implement in many ways too.
For xmpp, the problem has been both the contact list (it is unexpectedly
and unreliably populated), as well as the basic functionality of sending a
buddy a message is unreliable.
On Tue, Jul 21, 2015, 23:59 Benjamin M. Schwartz<EMAIL_ADDRESS>wrote:

We already have a new Google provider: Firebase ("Google+"). The problem
has been figuring out how to make good buddy lists in that system. Invite
tokens, however, are "easy".
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529#issuecomment-123557698.

Is there a design document about using Google Docs as a signaling channel?
It could be cool but I think there are a lot of unknowns: how will we
authenticate users?  Is encryption needed?  Will the user need to navigate
too Google docs on the web themselves or will that just be an
implementation detail completely hidden to them?  Will we automatically
populate the buddylist or are users required to invite each of their
friends manually?
I agree Google+ is an option but so far it seems like GChat is more popular
in terms of what contacts are available (Google+ requires the users
mutually add each other to circles, while GChat just requires that they've
chatted).  We could potentially design an invite flow for Google+ using
invite tokens, but I think this may require some research beyond what we've
considered for GitHub/Quiver as the IDs sent in the invite token may be
public and so bad actors might be able to fake an invite token without some
extra work on our part.
There has been some discussion about an invite style flow for Google w/
Firebase where users could add friends by typing in their Google email
address.  However that will require changes on the Firebase side (to make
the email address available in security rules).
On Wed, Jul 22, 2015 at 12:30 AM, iislucas<EMAIL_ADDRESS>wrote:

Yes, I think invite tokens are a better model than buddy list, and easier
to implement in many ways too.
For xmpp, the problem has been both the contact list (it is unexpectedly
and unreliably populated), as well as the basic functionality of sending a
buddy a message is unreliable.
On Tue, Jul 21, 2015, 23:59 Benjamin M. Schwartz<EMAIL_ADDRESS>
wrote:

We already have a new Google provider: Firebase ("Google+"). The problem
has been figuring out how to make good buddy lists in that system. Invite
tokens, however, are "easy".
—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529#issuecomment-123557698.

—
Reply to this email directly or view it on GitHub
https://github.com/uProxy/uproxy/issues/1529#issuecomment-123560089.

I agree Google+ is an option but so far it seems like GChat is more popular
in terms of what contacts are available

I'm still optimistic that there might be a more comprehensible list of contacts/buddies that we could use, somewhere in the Google public APIs.

We could potentially design an invite flow for Google+ using
invite tokens, but I think this may require some research beyond what we've
considered for GitHub/Quiver as the IDs sent in the invite token may be
public and so bad actors might be able to fake an invite token without some
extra work on our part.

I think this is similar to all of our invite token proposals.  As a result, I think all of these proposals have a similar degree of dependence on (1) adding a one-time secret to the token, and (2) public key crypto.

On Wed, Jul 22, 2015 at 3:30 PM, Benjamin M. Schwartz <
<EMAIL_ADDRESS>wrote:

I agree Google+ is an option but so far it seems like GChat is more popular
in terms of what contacts are available
I'm still optimistic that there might be a more comprehensible list of
contacts/buddies that we could use, somewhere in the Google public APIs.

Last time I checked, it appeared there were APIs to get you a list of GMail
contacts, however those contacts only included their GMail ID and not the
numeric Google+ ID that Firebase recognizes.  I don't know of any API to
map from a GMail ID to the numeric Google+ ID.  Although once Firebase adds
the email address to their auth rules, we may no longer need the numeric ID.

We could potentially design an invite flow for Google+ using
invite tokens, but I think this may require some research beyond what we've
considered for GitHub/Quiver as the IDs sent in the invite token may be
public and so bad actors might be able to fake an invite token without some
extra work on our part.
I think this is similar to all of our invite token proposals. As a result,
I think all of these proposals have a similar degree of dependence on (1)
adding a one-time secret to the token, and (2) public key crypto.

I think this depends on what we want the UX to be.  I think that ideally, I
could send you an invite and then when you accepted that invite (clicked on
the link with uProxy running) we would mutually appear in each others
buddylists.  For Quiver I think the invite token can just contain my unique
ID, which would be so random that nobody could guess it.  However for
Google+, the IDs are public information - this means that without some
extra work there would be nothing from preventing me from generating a fake
invite token from any user.  I think to solve this we might need to either
generate some secret validation code as part of the invite (should be
doable but will require more work) or we would need both users to mutually
accept each others invitations (bad UX IMO)

In Quiver, your user ID is your public key, and is essentially public (all of your friends know it).  Invites therefore include a secret validation code.

In Quiver, your user ID is your public key, and is essentially public (all
of your friends know it). Invites therefore include a secret validation
code.

Ah I see, however I think what I said is still true for the proposed GitHub
design - that the invitation doesn't need a validation token since the
invite URL is for a private gist with a random ID that should only be
shared between 2 users.

I see 2 options with this issue:

Try to improve our batching of messages so we are less likely to hit throttling.  Specifically right now we batch messages for a single client, so that we don't send them a message more than about once per second, however if you have multiple friends on uProxy and are messaging each of them (e.g. when you first sign in and send out instance messages), in total you could be sending many more than once per second.  Slowing this down could make online presence appear a bit slower but would probably make throttling less likely.
Get rid of the Google XMPP social provider #1756
Anyone have a preference?

 This is mostly a problem when you log in and you're sending handshakes at once. Batching wouldn't really help there. Other than that, we only send messages when user takes some action(modify consent, click start proxying etc,). I don't think that's such a high volume to cause messages to be throttled(wishful thinking).
I think the questions is when are we getting rid of xmpp. if it's not another 6 months, it's probably worth investing time in getting whatever we have working.

This is not being fixed for beta. We're pursuing #1756 instead.


Add abortable combinator

Retargeting of #696
cc @carllerche

either we need to register to receive a wakeup unconditionally (prior to checking the value of cancel or polling the future) or we need to check both before and after.

@cramertj The comment is now hidden, so I write it here: It makes sense to register the waker unconditionally. Here's why: The most common code path is that the future returns Poll::Pending. The current implementation will register the waker in this case, but it also checks the bool twice. It makes more sense to always register the waker and check the bool only once.

@MajorBreakfast Registering the waker requires several SeqCst accesses and an AcqRel access, while checking the boolean (Release) is basically free.

Ah I see. Well that reasoning is sound


netatmo api is now in pip as pyatmo

my fork for netatmo api is now available on pypi
Description:
Checklist:

[ ] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Hello @jabesq,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

5fee4901608616e0fa6859f785e615ae2e67454e - This commit has something that looks like an email address (hugo.dupras@nxp.com). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Why should we change to your netatmo fork?

Awesome ! Thanks


Added right click reset xp for xp plugin item

The main purpose of this was to add the right click reset option to the skill xp tracker.
There was a current right click option that would launch an external web xp log, but it was difficult to use as it was only available when not clicking on the progress bar (which made up most of the window). So the drop-down is now able to be accessed in the entire skill window.
I also removed the right click reset for the skill icon, as it is confusing behavior that some right clicks open a menu while other ones reset without any prompt.

I thought the click on skill to reset that skill was confusing behavior.
Looks good to me!

I think both should be kept then in this case, and to solve the right click issue, make the reset on icon apply only when left-clicked.

is this single xp tracker reset coming on live version anysoon ? i'd love that

This is in the next version along with the UI redesign

This was already implemented in the Obsidian redesign.


adapte istio pilot-agent readiness check

Istio pilot-agent readiness check add listener_manager.workers_started from http://<IP_ADDRESS>:15000/stats, reference code
#1208

Codecov Report

Merging #1200 into feature-istio_adapter will decrease coverage by 0.02%.
The diff coverage is 90.90%.

@@                    Coverage Diff                    @@
##           feature-istio_adapter    #1200      +/-   ##
=========================================================
- Coverage                  56.27%   56.25%   -0.03%
=========================================================
  Files                        302      302
  Lines                      27017    27020       +3
=========================================================
- Hits                       15205    15201       -4
- Misses                     10365    10370       +5
- Partials                    1447     1449       +2

Impacted Files
Coverage Δ

pkg/admin/server/istio.go
73.68% <90.90%> (+2.25%)
:arrow_up:

pkg/stream/stream.go
46.66% <0.00%> (-13.34%)
:arrow_down:

pkg/upstream/cluster/strict_dns_cluster.go
72.28% <0.00%> (-1.81%)
:arrow_down:

pkg/module/http2/transport.go
78.62% <0.00%> (-0.15%)
:arrow_down:

pkg/module/http2/server.go
81.85% <0.00%> (+0.14%)
:arrow_up:

Continue to review full report at Codecov.

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

Add xDS request node info with pod labels info


README for fabric-images is incorrect

The command to set up the environment is shown as
. setup.sh

It should, of course, show a forward slash between the . and the setup.sh, but even that does not actually work, because the export commands for ARCH_TAG only export to sub shells and not to the parent shell, where the docker-compose command is executed next.
Instead, the README should show the following command:
source setup.sh

After that, the Dockerfile is correct and the parent shell knows ARCH_TAG.

http://stackoverflow.com/questions/4732200/replacement-for-source-in-sh
. setup.sh and source setup.sh are the same commands.

Lol ... ok, you got me ... had nor seen that syntax, ever.

You learn something new every day ...


Fix code scanning alert - SQL query built from user-controlled sources

Tracking issue for:

[ ] https://github.com/addy1110/skills-introduction-to-codeql/security/code-scanning/1

Fixed


--query-driver seems no functions

I[16:09:01.620] clangd version 16.0.2 (https://github.com/llvm/llvm-project 18ddebe1a1a9bde349441631365f0472e9693520) I[16:09:01.621] Features: windows+grpc I[16:09:01.621] PID: 3800 I[16:09:01.621] Working directory: e:\C++ Learning\cpp I[16:09:01.621] argv[0]: D:\clangd_16.0.2\bin\clangd.exe I[16:09:01.621] argv[1]: --compile_args_from=lsp I[16:09:01.621] argv[2]: -j=12 I[16:09:01.621] argv[3]: --completion-style=detailed I[16:09:01.621] argv[4]: --clang-tidy I[16:09:01.621] argv[5]: --query-driver=D:\mingw64\bin\gcc I[16:09:01.624] Starting LSP over stdin/stdout I[16:09:01.625] <-- initialize(0) I[16:09:01.629] --> reply:initialize(0) 3 ms I[16:09:01.630] <-- initialized I[16:09:01.634] <-- textDocument/didOpen E[16:09:01.637] System include extraction: driver clang not found in PATH I[16:09:01.637] ASTWorker building file e:\C++ Learning\cpp\C++\13th Chapter\acctabc\usebrass3.cpp version 1 with command clangd fallback [e:\C++ Learning\cpp\C++\13th Chapter\acctabc] "D:\\mingw64\\bin\\clang" --target=x86_64-w64-mingw32 "-resource-dir=D:\\clangd_16.0.2\\lib\\clang\\16" -- "e:\\C++ Learning\\cpp\\C++\\13th Chapter\\acctabc\\usebrass3.cpp"
The setting of "--query-driver" seems no function. I've setted "--query-driver=D:\mingw64\bin\gcc" ,but "D:\mingw64\bin\clang" occurs and #include <stdint-gcc.h> isn't found.In fact ,it exits in mingw. Also  System include extraction: driver clang not found in PATH occurs, hints me --query-driver have no function
I would appreciate it if you could answer!

Also I[16:09:01.638] --> textDocument/clangd.fileStatus I[16:09:01.797] <-- textDocument/documentSymbol(1) I[16:09:01.801] <-- textDocument/documentLink(2) I[16:09:01.801] <-- textDocument/inlayHint(3) I[16:09:01.863] Indexing c++17 standard library in the context of e:\C++ Learning\cpp\C++\13th Chapter\acctabc\usebrass3.cpp I[16:09:01.927] Built preamble of size 3677236 for file e:\C++ Learning\cpp\C++\13th Chapter\acctabc\usebrass3.cpp version 1 in 0.29 seconds
Some headers can be found in mingw, while some can't.

OK,I have fixed it by adding config.yaml and alterring --query-driver=D:/mingw64/bin/g++.exe  to  --query-driver=D:/mingw64/bin/*


Use pod labels for better manageability

This PR contains the following new capabilities:

An agent scaler uses AGENT_TAG environment variable for the Joshua agent image tag instead of latest if available. This prevents mismatching versions between the scaler and the agents.
On boot, an agent scaler requests all running agents to exit after the current ensemble when RESTART_AGENTS_ON_BOOT argument is set. This allows to refresh agents as quickly as possible in case both agent and scaler images are updated.
Agent pods will have a proper app label as joshua-agent
Each agent writes its current ensemble in the Pod label ensemble

$ kubectl --namespace joshua get pods -L app,ensemble
NAME                                       READY   STATUS              RESTARTS   AGE   APP            ENSEMBLE
agent-scaler-deployment-86c984887f-vdzpv   1/1     Running             0          45s   agent-scaler
joshua-agent-221118030447-0-57dtx          1/1     Running             0          3s    joshua-agent   20221118-030444-kmakino-f067840ad81ea406
joshua-agent-221118030447-1-mjtdf          1/1     Running             0          2s    joshua-agent   20221118-030444-kmakino-f067840ad81ea406
joshua-agent-221118030447-2-647qb          1/1     Running             0          2s    joshua-agent   20221118-030444-kmakino-f067840ad81ea406
joshua-agent-221118030447-3-clnhq          1/1     Running             0          2s    joshua-agent   20221118-030444-kmakino-f067840ad81ea406
joshua-agent-221118030447-4-h6jgn          0/1     ContainerCreating   0          2s    joshua-agent   20221118-030444-kmakino-f067840ad81ea406

@sfc-gh-kmakino can we check on why the GitHub Test suite timed out? Do we need to update a test with these changes?

@ammolitor I fixed the CI issue, please take another look


World change messages

Sorry if I'm being ignorant, but I can't think of any other way this would be changed. So if it's not already possible, PLEASE add an option in the config that allows you to turn of world change messages. Because even when you're not op, it always says when and what world you've been teleported to. Please fix. Thank you in advance.

Canned response from our Discord server:

To disable the My Worlds messages displayed when players teleport, edit plugins/My_Worlds/Localization.yml and set the message to hide to '' (two single quotes)


WebXR issue on Samsung S22. No camera feed but AR works.

Description
I have issue with WebXR on Samsung s22 where camera feed is not showing up. Sometimes it completely black and sometimes its showing the web page from where AR is loaded. In both cases model is instantiated and all interactions are working. It affects all the AR pages where WebXR is used, example ones and all the others. Scene Viewer works fine. I have attached screenshot and video.
Demo

Screenshot:
Video: https://drive.google.com/file/d/1wzKdVQ_8Jx2bK2BFgIvyd5jfxDL6b7ZG/view?usp=sharing

Version

model-viewer: v1.12.0

Browser Affected

[ ] Chrome, version: 101.0.4951.61
[ ] Samsung Internet: <IP_ADDRESS>

OS

[ ] Android 12

AR

[ ] WebXR

I have the same problem, on Samsung Galaxy s22 camera feed is not showing up in google chrome with WebXR , i see a 3D model but the camera is black.

I have experienced the same issue on Galaxy S22 in WebXR, when i start an AR session the screen is black like the camera isn't working but the model gets placed.

Are there any updates on this topic, is this happening to anyone else?

@AdaRoseCannon @klausw This sounds like a Samsung / WebXR problem. Can you verify the issue?

Is dark mode on?

Yes, but after turning it off it was still the same.

I tried logcat to capture some logs and I got this error when trying to enter WebXR. Im guessing that it has something to do with the exynos cpu. I can not test the snapdragon version.
2022-06-05 11:08:23.075 8041-23236/? D/libEGL: ANGLE Info:Debug.cpp:183 (insertMessage): GL error: HIGH: External texture attached to framebuffer is not YUV.
2022-06-05 11:08:23.078 845-23407/? E/ExynosCameraRequestManager: [CAM(-1)][]-(hasStream[665]):Invalid Stream id (23)

That's helpful thank you!

Any update on this issue? Facing the same issue with S22 running Exynos

following, same issue here on s22 ultra

One of my client has the issue with s22 exynos. Whoever have device with an issue in hand, can you please investigate/debug farther. There are millions of these devices, and it would be unexplainable for them why AR on their hi end devices does not work....

I filed https://bugs.chromium.org/p/chromium/issues/detail?id=1355946 to follow up on the Chromium side.
Unfortunately we haven't been able to reproduce the issue - we don't have an S22 for testing, and it doesn't seem to be a general issue for Exynos devices, for example a Samsung Galaxy S7 Exynos appears to work normally.

@AdaRoseCannon - do you happen to know someone at Samsung who I could contact to borrow an Exynos S22 for testing? They aren't being sold in the US.
Bigger picture, it's unclear if this is a Chromium bug (i.e. misusing a GL texture), a GPU driver bug, or just an incompatibility (i.e., Chromium assumes that a texture format is available, but this device would require using a different one.)

@velickolb , would you be able to attach a longer logcat with more context to https://bugs.chromium.org/p/chromium/issues/detail?id=1355946 ? Specifically, it would help to know which of Chrome's processes (browser or GPU process) is emitting that error message. I've added more information about how to extract those logs in a comment there.

I added a speculative workaround that's now available in Chrome Canary >= 107.0.5303.2. I still haven't been able to reproduce the issue or seen more detailed logs, so this is a bit of a stab in the dark, but please let me know in case this changes anything.

I know this isn’t a model-viewer issue, but has anyone found the reason or a fix for this issue? I am using a S22 Ultra Exynos with Chrome/Samsung internet/Chrome Canary and I am facing the same issue, no camera feed whatsover after entering webXR’s AR mode. Unfortunately, @klausw ’s speculative workaround did not seem to do the trick for me. Any suggestions?
Best,
Julien

Thanks @djebel-amila for the feedback. I'll try to get access to an Exynos S22 phone for further testing. Just to confirm, are all the phones affected by this issue Exynos S22 variants? You mentioned the S22 Ultra specifically, are the others using a plain S22 or a S22 Plus?

Thanks @djebel-amila for the feedback. I'll try to get access to an Exynos S22 phone for further testing. Just to confirm, are all the phones affected by this issue Exynos S22 variants? You mentioned the S22 Ultra specifically, are the others using a plain S22 or a S22 Plus?

Hi,
Thanks for your answer. It’s my understanding from reading this thread and the one on the webXR repo that the issue exists on S22 (as @fabian-muff reported it) and S22 Ultra at least, no one posted about S22 Plus. Some people facing the issue with a S22 Ultra and webXR’s example model-viewer said they found a quick-fix by inverting the order of the ar-modes parameters, from ar-modes="webxr scene-viewer quick-look"  to ar-modes="scene-viewer quick-look webxr" but I’m not sure how relevant it may be.
Please let me know if I can be of help.

Hello,
@klausw I tested the fix you added to chrome canary. With Version 108.0.... nothing changet at the problem. I debugged some sessions on the webxr example page and there are no errors. The only one is the following, which it seems has nothing to do with the problem:

I am using a Exynos S22 that I bought directly after the release in Switzerland.

Samsung s22 model: SM-s901b/DS (exynos). I confirm that Scene Wiewer is working. So it must be not a hardware problem, but the browser or os. I've tried in Samsung Browser and Chrome. In both browsers there is no camera background feed in webxr at. Everything else is still working, planes are being detected and I can place 3D scene on them.
Scene Viewer is not what I can use though. In my case the 3d scene is being composed dynamically by the web app so when I go to the AR I cannot use the model url. I've tried to change the code to generate url dynamically for the glb file prepared on the fly similarly as it is for Quick Look (usdz). It doesn't work, the scene viewer is launched and asks you to find the plane, when the plane is found and it tries to shows the 3d model it crashes immediately.

I am using a Exynos S22 that I bought directly after the release in Switzerland.

I am in Switzerland too. Imagine it’s just Swiss S22s 😳

I am in Germany and my S22 does not give the camera feed in webxr mode.

I am using a Exynos S22 that I bought directly after the release in Switzerland.

I am in Switzerland too. Imagine it’s just Swiss S22s 😳

I have the same issue with my Samsung Ultra 22. How can I help?

@klausw Thanks a lot for the update and identifying the issue.
Someone mentions trying to patch the ANGLE API, would that imply there’d be a chromium build that may work (until Samsung offers a driver update of some kind)?

@djebel-amila wrote:

Someone mentions trying to patch the ANGLE API, would that imply there’d be a chromium build that may work (until Samsung offers a driver update of some kind)?

Sorry, that isn't possible in this case. Samsung ships their own copy of ANGLE to provide the system GLES driver, it's a wrapper around the native Vulkan API. Chrome's WebXR AR mode uses the system GLES driver and thereby Samsung's copy of the ANGLE library, and it's that system ANGLE library that would need to be patched. Changing Chrome's copy of the ANGLE library would have no effect on this issue since it isn't being used in WebXR AR mode.
And it's not possible to us Chrome's ANGLE library on top of the system Vulkan driver since the Chrome browser process and the ARCore library need to share an EGL context. Last I checked, there's no way to use ARCore with Vulkan directly, so we need to use the system GLES driver which uses the system ANGLE library.
(Apologies for being redundant here, I'm just trying to be as clear as possible since it's a confusing situation.)

@klausw Thank you for the explanation. So I assume the only thing we can do is to wait. I don't think that this will have priority on Samsung's side. It's a pity. I just bought a new phone for testing WebXR :(

@klausw Thanks for explaining, it’s very helpful. I‘ll try and reach some technical support service at Samsung, with little hope though.

@djebel-amila i already did. They told me to write to<EMAIL_ADDRESS>Maybe if you try it as well, they will do something ;)

For anyone affected by this, please note that my comments above are based on my current understanding of the issue, and it's possible that something else may also be going on or that I'm misunderstanding something. Please keep that in mind in case you're reaching out to Samsung. The Chromium bug tracker entry at https://crbug.com/1355946#c7 has more details about the investigation so far.

According to https://crbug.com/1355946#c11, Samsung acknowledged that this is a driver issue that should be fixed upstream, but also says that it's unlikely that this device will get the update.
On the bright side, I have a potential workaround for Chrome's WebXR AR device code. Basically, it pretends that this phone doesn't support shared hardware buffers and falls back to the less efficient Android N render path. This gets AR working, including DOM overlay, but is missing some advanced features such as raw camera access. I'll update this bug if/when that's available in Chrome Canary for testing.

The workaround is included in Chrome Canary >= 109.0.5402.0 which is available now on the Play Store. Assuming it doesn't cause any regressions, it should be available in stable Chrome 109 once that gets released around Jan 10 2023.

Thanks @klausw! Really appreciate the work-around.

Awesome! Works like a charm. Thank you very much @klausw. I can't emphasize how much this helped

Interesting. Thank you very much @klausw. As mentioned, raw camera access does not work. The experimental feature "image-tracking" works however 👍

@fabian-muff What is this experimental "image tracking feature" ?

@v-prgmr this is an alternative to raw camera access that allows to estimate the pose of images. (see https://github.com/immersive-web/marker-tracking/blob/main/explainer.md)

The workaround is [included] (https://chromiumdash.appspot.com/commit/3d181f693ec651bae7ea2229d7bd285657ad406f) in Chrome Canary >= 109.0.5402.0, which is now available in the [Play Store] (https://play.google.com/store/apps/details?id=com.chrome.canary).)) Assuming it doesn't cause regressions, it should be available in stable Chrome 109 once it's released around January 10, 2023.

Sorry to wake up the thread. With the newly released S24 Plus, which also has an Exynos processor, I now have the same problem. Is it possible to update this Canary? Otherwise I would need to return to my s23.

@LB31 , the described change was included in the stable Chrome 109 release as scheduled, and has not been reverted since then. However, the workaround is only applied to devices matching "gl_renderer": "ANGLE.*Samsung Xclipse 920.*" according to gpu/config/gpu_driver_bug_list.json.
@bialpio - I haven't been following recent changes in this area. Should the workaround be extended to other related devices, for example by removing the "920" version number?
@LB31 - can you check chrome://gpu/ on your device and post your GL_RENDERER entry?

Hi @klausw thanks for your response.
My GL_Renderer entry says:
ANGLE (Samsung Electronics Co. Ltd.,
ANGLE (Samsung Xclipse 940) on
Vulkan 1.3.231, OpenGL ES 3.2
ANGLE git hash: 131b607622f4)

@LB31 , thanks for the details.
I've submitted a Chromium change to expand the workaround, this should be available in Chrome Canary in a day or two. Check the "Releases" section of the tracking dashboard for status: https://chromiumdash.appspot.com/commit/f95ebc8ca80579cae37d0a4c1105a93ebbcd86db

@LB31 , thanks for the details.
I've submitted a Chromium change to expand the workaround, this should be available in Chrome Canary in a day or two. Check the "Releases" section of the tracking dashboard for status: https://chromiumdash.appspot.com/commit/f95ebc8ca80579cae37d0a4c1105a93ebbcd86db

Hi @klausw, thank you for your submission. It has now been released, and I was able to update the Chrome Canary app on my S24 phone. However, I'm now encountering an issue where clicking on 'START AR' does nothing, and the button doesn't disappear.

That sounds like a different issue - can you file a Chromium bug? Anything
relevant in the JavaScript console? If possible, please also attach
relevant adb logcat output or a bugreport.
On Sat, Jan 27, 2024 at 5:29 AM Leonid Barsht @.***>
wrote:

@LB31 https://github.com/LB31 , thanks for the details.
I've submitted a Chromium change to expand the workaround, this should be
available in Chrome Canary in a day or two. Check the "Releases" section of
the tracking dashboard for status:
https://chromiumdash.appspot.com/commit/f95ebc8ca80579cae37d0a4c1105a93ebbcd86db
Hi @klausw https://github.com/klausw, thank you for your submission. It
has now been released, and I was able to update the Chrome Canary app on my
S24 phone. However, I'm now encountering an issue where clicking on 'START
AR' does nothing, and the button doesn't disappear.
—
Reply to this email directly, view it on GitHub
https://github.com/google/model-viewer/issues/3495#issuecomment-1913156870,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKT5X2W2BPR6AWPOVMZGODYQT6NLAVCNFSM5W4HJNZKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJRGMYTKNRYG4YA
.
You are receiving this because you were mentioned.Message ID:
@.***>


[DEV Improvement] set up a local dev environment

This is only a convenience for MiniBolt contributors. To use it on Ubuntu/Debian:
First time setup

Install Ruby:

$ sudo apt install ruby3.0 ruby3.0-dev

Set $GEM_HOME and $GEM_PATH to $HOME/.gem, and add $GEM_HOME/bin to your $PATH.

$ nano ~/.profile

#add
export GEM_HOME="$HOME/.gem"
export GEM_PATH="$GEM_HOME"

#modify
export PATH="$PATH:$GEM_HOME/bin"

Reboot, or just reload the profile file for the changes to take effect immediately in the current terminal session:
$ source ~/.profile

Install Bundler, Ruby's package manager:

$ gem install bundler
$ which bundle
/home/1ma/.gem/bin/bundle

Navigate to the MiniBolt project directory and install MiniBolt's dependencies with Bundler:

$ bundle install

Development Flow
Open a terminal, and from inside the project directory run:
$ bundle exec jekyll serve --livereload --incremental

Open the browser at http://localhost:4000. Each change you make in the .md files is reflected automatically after a few seconds.

LGTM untested ACK! let's go to the main!


os/exec: cmd.CombinedOutput seems stuck on an io.Copy under s390x

What version of Go are you using (go version)?

$ go version
go version go1.12.7 linux/s390x

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output

$ go env

P008-PG-S102A:~ # go env
GOARCH="s390x"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="s390x"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/root/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_s390x"
GCCGO="gccgo"
CC="s390x-linux-gnu-gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -march=z196 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build024277193=/tmp/go-build -gno-record-gcc-switches"

What did you do?

What did you expect to see?
I use go to protect a service which restarts the process when it exites.
here is the code.
func GuardAthenaService(name string) {

    for true {

        cur_dir, err := oss_utils.GetCurrentDirectory()
        if err != nil {
            oss_logger.Errorf("Fail to get current runing dir, err_desc=%s", err.Error())
            continue
        }

        bin := filepath.Join(cur_dir, name)
        conf := filepath.Join(cur_dir, fmt.Sprintf("../config/%s.yml", name))
        cmd := exec.Command(bin, "-c", conf)
        oss_logger.Infof("Athena start %v", cmd)
        cmdOutput, err := cmd.CombinedOutput()
        if err != nil {
            oss_logger.Errorf("%s service out put %s", name, cmdOutput)
            oss_logger.Errorf("%s service failed:%s,service restart", name, err.Error())
        }
        time.Sleep(5 * time.Second)
    }
}

func main() {

    ...........
    go GuardAthenaService("athena-keeper")
    go GuardAthenaService("athena-sentinel")

    .............
}

What did you see instead?
I used ps  to find that process had already exited, but it did not restart.I looks like it got struck.
It did not happened under x86 so I think it might have something to do under s390x platform.
I used go tool routine, traces and found this.
runtime.gopark
runtime.goparkunlock
runtime.chanrecv
runtime.chanrecv1
os/exec.(*Cmd).Wait
os/exec.(*Cmd).Run
os/exec.(*Cmd).CombinedOutput
main.GuardAthenaService

It looks like that it's waiting for chan in io.Copy to finish .
unfortunately when I wanted to use delve to go deeper but found that it does not support s390x and gdb with go support can't watch variables the goroutine which is not running and it has it's own problem under s390x.

Hello @q2683252 thank you for filing this issue and welcome to the Go project!
So perhaps since there isn't Delve support on s390x, it would be great to know the Process ID (PID) of each process and then while it is seemingly stuck waiting to copy, getting a stacktrace of what is happening e.g.
Perhaps you can modify your cmd.CombinedOutput to:
a) invoke cmd.Start() with your own buffer
b) Print out the Process ID (PID) of the process
c) Invoke cmd.Wait()
d) While any of the processes is stuck, send it a SIGQUIT e.g. kill -s QUIT <PID>
and examine that trace to see what your program is doing -- if your program while produce that core dump
The output of each of those can then show you what's going on so
--- orig.go	2019-08-18 23:30:51.000000000 -0600
+++ main.go	2019-08-18 23:30:14.000000000 -0600
@@ -13,8 +13,21 @@
 		bin := filepath.Join(cur_dir, name)
 		conf := filepath.Join(cur_dir, fmt.Sprintf("../config/%s.yml", name))
 		cmd := exec.Command(bin, "-c", conf)
+		buf := new(bytes.Buffer)
+		cmd.Stdout = buf
+		cmd.Stderr = buf
 		oss_logger.Infof("Athena start %v", cmd)
-		cmdOutput, err := cmd.CombinedOutput()
+		if err := cmd.Start(); err != nil {
+			oss_logger.Errorf("%s service start error: %v", name, err)
+			return
+		}
+
+		// This is the PID of the subcommand that we shall
+		// send that "SIQUIT" if it stalls for a long time.
+		oss_logger.Info("%s service PID: %d\n", cmd.Process.Pid)
+
+		err = cmd.Wait()
+		cmdOutput := buf.String()
 		if err != nil {
 			oss_logger.Errorf("%s service out put %s", name, cmdOutput)
 			oss_logger.Errorf("%s service failed:%s,service restart", name, err.Error())

so once you have the PID printed out
kill -s QUIT XXXX

In the meantime I shall ping an s390x expert @mundaym about this bug.

Hello @q2683252 thank you for filing this issue and welcome to the Go project!
So perhaps since there isn't Delve support on s390x, it would be great to know the Process ID (PID) of each process and then while it is seemingly stuck waiting to copy, getting a stacktrace of what is happening e.g.
Perhaps you can modify your cmd.CombinedOutput to:
a) invoke cmd.Start() with your own buffer
b) Print out the Process ID (PID) of the process
c) Invoke cmd.Wait()
d) While any of the processes is stuck, send it a SIGQUIT e.g. kill -s QUIT <PID>
and examine that trace to see what your program is doing -- if your program while produce that core dump
The output of each of those can then show you what's going on so
--- orig.go	2019-08-18 23:30:51.000000000 -0600
+++ main.go	2019-08-18 23:30:14.000000000 -0600
@@ -13,8 +13,21 @@
 		bin := filepath.Join(cur_dir, name)
 		conf := filepath.Join(cur_dir, fmt.Sprintf("../config/%s.yml", name))
 		cmd := exec.Command(bin, "-c", conf)
+		buf := new(bytes.Buffer)
+		cmd.Stdout = buf
+		cmd.Stderr = buf
 		oss_logger.Infof("Athena start %v", cmd)
-		cmdOutput, err := cmd.CombinedOutput()
+		if err := cmd.Start(); err != nil {
+			oss_logger.Errorf("%s service start error: %v", name, err)
+			return
+		}
+
+		// This is the PID of the subcommand that we shall
+		// send that "SIQUIT" if it stalls for a long time.
+		oss_logger.Info("%s service PID: %d\n", cmd.Process.Pid)
+
+		err = cmd.Wait()
+		cmdOutput := buf.String()
 		if err != nil {
 			oss_logger.Errorf("%s service out put %s", name, cmdOutput)
 			oss_logger.Errorf("%s service failed:%s,service restart", name, err.Error())

so once you have the PID printed out
kill -s QUIT XXXX

In the meantime I shall ping an s390x expert @mundaym about this bug.
Thank you for your kindly reply.
It's not bound to happen everytime it got exited.
But what should I do if I have the pid?

Thank you for your kindly reply.
It's not bound to happen everytime it got exited.
But what should I do if I have the pid?

Once you have the PID, if the process is stuck, then send it a signal to cause it to produce a core dump and that will show you what's stopping progress on the forked process. I showed that in my initial comment part d) https://github.com/golang/go/issues/33704#issuecomment-522418656 but also here again
kill -s QUIT XXXX

where XXXX is the printed out PID of the process that's stuck.

Thank you for your kindly reply.
It's not bound to happen everytime it got exited.
But what should I do if I have the pid?

Once you have the PID, if the process is stuck, then send it a signal to cause it to produce a core dump and that will show you what's stopping progress on the forked process. I showed that in my initial comment part d) #33704 (comment) but also here again
kill -s QUIT XXXX

where XXXX is the printed out PID of the process that's stuck.

Maybe I didn't express the problem clearly.
I have to program one called A,the other called B,I used exec.CombinedOutput to execute B but when B got exited(which we can't see it in the os using ps command),A didn't act as expeced. as a result,A got struck in here.
runtime.gopark runtime.goparkunlock runtime.chanrecv runtime.chanrecv1 os/exec.(*Cmd).Wait os/exec.(*Cmd).Run os/exec.(*Cmd).CombinedOutput main.GuardAthenaService
It's A got struck not B,so I don't see the point in kill B?

Hi @q2683252 I'm currently on vacation so I can't currently experiment myself unfortunately. Do you how your process (e.g. athena-keeper) is crashing? Does the Go program work if you try and launch something simple like /bin/ls instead?
Can you try Go 1.13rc1? In Go 1.13 we use vfork on s390x (which is what amd64 does) so that might make a difference.

athena-keeper exited by itself because someother issues ,it's a serivice which means it will run for a long time, it wasn't killed by the os or users.I haven't tried using
simpler program such as ls but when I manually maked athen-keeper exit immediately once it started to ,it did not reappear.I think it might relate to the callee process uptime.
I will try go1.13 ,and maybe it takes a long time to reappear.

This is #23019.  Closing as dup.


Need a way to preregister primordials

First terminology: A primordial is any object except the global object that the EcmaScript spec mandates must exist before any code starts running. This includes, for example, Array, Array.prototype, and Array.prototype.push.
When using an identity preserving membrane within a realm, one will often want to pre-register the primordials on both sides of the membrane so that a reference to a primordial on one side translates to a reference to the same primordial on the other side. This does compromise transparency somewhat, but is sometimes desirable anyway.
When using an identity preserving membrane between realms, one will often want to preregister the primordials on one side to correspond to the analogous primordials on the other side. This will help avoid many identity discontinuities. This does compromise transparency somewhat, but is sometimes desirable anyway.

The ideal case would be if I could call one function which returns an enumerable and frozen list of pristine (unmodified by any script) primordials.  I'm not aware of any ES standard function to provide that (or any browser function for that matter).

The Realm proposal's stdlib and intrinsics are an interesting place to
start.
https://rawgit.com/caridy/proposal-realms/master/index.html
On Tue, Jan 17, 2017 at 4:17 PM, Alexander J. Vincent <
<EMAIL_ADDRESS>wrote:

The ideal case would be if I could call one function which returns an
enumerable and frozen list of pristine (unmodified by any script)
primordials. I'm not aware of any ES standard function to provide that (or
any browser function for that matter).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ajvincent/es7-membrane/issues/61#issuecomment-273343499,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQtzIfwhYwexMpqA8BrqJA0YXVXqCj_ks5rTVongaJpZM4LmU0k
.

--
Cheers,
--MarkM

Probably now at https://rawgit.com/tc39/proposal-realms/master/index.html , as the TC39 working group has assumed ownership.

https://github.com/ajvincent/es7-membrane/blob/master/spec/primordials.js


Fails to load larger models, weight not found

Linux odyssey 6.6.6 #1-NixOS SMP PREEMPT_DYNAMIC Mon Dec 11 09:40:17 UTC 2023 x86_64 GNU/Linux

I have attempted to run: dolphin-mixtral, mixtral:8x7b, jmorgan/mixtral, mistral, llama2.
mistral and llama2 work fine, but the others all fail with the same error message:
error loading model: create_tensor: tensor 'blk.0.ffn_gate.weight' not found llama_load_model_from_file: failed to load model

The full output is included as a file.
ollama-log.txt

The nix package doesn't automatically require the right version of the llama.cpp package. Make sure that's at the right version #

I think you were just running out of memory when you were trying to run the model. We've made several changes around how we handle memory since you filed this, so if you update to 0.1.28 and try again (depending on how much system memory you have, of course) it will probably work.
I'm going to go ahead and close out the issue, but feel free to keep commenting or reopen it if you have any questions.


add only only plugin dependency cause mysql dependency absent

when I add the following configuration to my gradle
dependencies {
mybatisGenerator 'org.mybatis.generator:mybatis-generator-maven-plugin:1.4.0'
}
It fails with "Exception getting JDBC Driver"
If I add the jdbc driver like this it works:
dependencies {
mybatisGenerator 'org.mybatis.generator:mybatis-generator-maven-plugin:1.4.0'
mybatisGenerator 'mysql:mysql-connector-java:5.1.47'
}
Looks like once I overide one dependency I need to overide all.
Is my understanding of how it works correct? Thanks!

Yes, once you override one dependency, you need to override all.
Because it cannot be decided automatic which database and which version will be used.
So I just add default mybatis-generator dependency and two database dependencies (mysql and postgresql).


Do not provide language features while "Enable Deno Language Features" is turned off

This OR operator might have been making the expression evaluate to true regardless of the value of the setting. I’m not quite sure of why it was added; I was thinking of replacing it with ??, but the call to getOverridableBoolean should never return null, right?
Either way, removing that bit of code seems to fix it.
https://user-images.githubusercontent.com/73370025/163702666-52e109ff-6ac0-4843-8c2e-5ad53e127b2b.mp4
https://user-images.githubusercontent.com/73370025/163702708-ceb551d3-b425-4379-90ed-ecb4c7ee7e04.mp4

This must have been accidentally committed by me when testing something. Thank you for fixing these!


Beanstalk tags

Now we can use beanstalk tags with -P properties. Example:
-Ptags=Env:prod,Process:web,App:backoffice

We can also pass these tags into build.gradle:
beanstalk {
    tags = [
            Env: 'prod',
            App: 'backoffice',
            Process: 'web'
    ]
}

If you pass both, the -P properties will override beanstalk.tags object.
Version was updated to 1.1.0 as beanstalk tags is a new feature.
Also updated README.md

@fmamud @cairesvs

@linyatis Great job 👍

@linyatis Great job! 👏

Tks for all help @fmamud and @pedrolis!!! 😄


Require for Geometric Distribution

It seems that jax does not have geometric distribution in its random module like scipy.stats. Will it be added? I really need it.

We would happily accept pull requests to add a geometric distribution, but we have no immediate plans to work on it.

It is easy to simulate geometric random variables given a uniform RNG:
np.ceil(np.log(np.random.rand()) / np.log1p(-p))
has a Geometric(p) distribution. (Source: http://www.nrbook.com/devroye/Devroye_files/chapter_ten.pdf)
@gao462 I don't have time to package this up into a PR but I encourage you to do so if you end up using it.