Cannot sign in with Azure AD O365 account

Cortana does not allow me to sign in with an O365 account. I have verified the account’s Azure AD status but Cortana wants a .live / windows account saying it cannot find the AD O365 account.

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

ID: 192c6282-8795-78d7-1b1f-c2e2fac833a0
Version Independent ID: 653498e2-435b-519d-c198-94d8e74523da
Content: Set up and test Cortana with Office 365 in your organization (Windows 10)
Content Source: windows/configuration/cortana-at-work/cortana-at-work-o365.md
Service: unspecified
GitHub Login: @eross-msft
Microsoft Alias: lizross

The best way to get help with this issue is to contact Microsoft Support. Contact links are on https://support.microsoft.com/en-us/contactus/.


Adding Me Protocol To Grants-Program

Project Abstract

The Me Protocol is a purpose-built exchange infrastructure for blockchain-based loyalty rewards. It provides the fundamental technology for the creation of a frictionless, limitless, and decentralised rewards ecosystem for all companies, large or small, to participate.

Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $30,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (MeProtocol.md).
[x] I have read the application guidelines.
[x] A BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (aUSD/USDT) address for the payment of the milestones is provided in the application.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[x] I prefer the discussion of this application to take place in a private Telegram channel. My username is: @meprotocol

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

Hello @Noc2, Thanks a lot for your feedback.
I have updated the file as requested and I am open to making more changes to ensure the milestones are clear enough.
Thank you very much!

Thank you for the application @AgentPoles. Please note that deliverables need to be concrete, verifiable and potentially useful to others in the ecosystem. I.e. we can't fund things like "Setting up", "Testing" or "Connect APP to Protocol".  Please use the deliverable table to list and describe the components you will be developing and their functionality. See also our FAQ in this regard.

@AgentPoles I’m closing this due to inactivity. Let me know if I should re-open it.

Hello @Noc2 and other Grant committee members, please so sorry for the delay in response, we have been working on the updates locally and will be providing the changes as requested. We will be glad to have it re-opened. Thanks a lot!

@AgentPoles, that's great to hear. I reopened it.

@Noc2  and @alxs thanks a lot!
We have updated the changes as requested. We are open to more corrections till we satisfy all review conditions. Thanks a lot for your patience and sorry for the back and forth thus far.

Hello @Noc2,  Thanks a lot for your feedback. We have made the requested changes and are open to more changes. Also, thanks a lot for your help, we really appreciate it.

Many thanks for everyone’s support, we are excited to get started on the grant and support the growth of the ecosystem!
Thank you very much!

Hi @AgentPoles are you able to give us an update on M1?

Hi @keeganquigley yes please! we will be dropping updates any time next week or the upper one. We have some implementations but currently having some setbacks with OpenBrush (the ink! framework we are using). We have been checking in with their team on discord and we will get the updates rolled out ASAP. Thanks a lot!

Hi @AgentPoles are you planning on delivering a milestone anytime soon? If not we would ask that an amendment be submitted to extend the timeline. Let us know, thanks!

Hi @keeganquigley yes, we have been working on this heavily... still fighting through all the drawbacks we have with the tooling, code implementations are done, we are in the testing phase but our hire is currently ill, we are looking to add someone new to our team to speed things up, would be glad to get help on this if you have any. I can  give you access to our repo so you track our daily/weekly progress. Also happy to discuss the  amendments cause we sincerely want to see this through till the end. Thanks a lot!

Thanks @AgentPoles for the update! No need to add me to the repo, as we don't track daily/weekly progress but just want to make sure it is still being worked on. Delays aren't an issue, but if you aren't planning on submitting in the next few weeks I'd suggest filing a PR to update the estimated duration dates on your application.
As far as help goes, you could try reaching out to ShellBoxes, a development firm, as they contacted me to let me know that they provide technical assistance for projects. However be aware that their service does cost $ after the initial consultation. Thanks!

Alright @keeganquigley thanks a lot, we will discuss internally, take the next appropriate steps and update you. Thank you very much!

pinging @AgentPoles

Hi @keeganquigley we are in the rehiring phase currently and have prospective candidates, Non have been impressive yet. Also we are also considering making adjustments to the milestones so we can deliver the parts we have successfully implemented and hence track some progress on the milestones. Please what is your take on this?

Thanks @AgentPoles sorry for the delay; I was out of office for a couple weeks. Let me discuss this with the team internally and get back to you.

Hi @AgentPoles sorry for the delay, I did talk with the team about this. Feel free to amend the original application and submit an amendment PR to adjust the milestones to deliver what you have so far. You can also document any staffing changes. The amendment will have to be approved by the committee, but given the changes are out of your control, I would believe this should happen relatively quickly. Thanks!

HI @keeganquigley thank you so much, really grateful for you patience and  persistent help.
We have successfully secured a new Hire, so I guess we will continue with the original plan, although some things have changed, but the core items for delivery are still preserved. We hope to get the first milestone rolled out in this month (as agreed with the hire). We will be adjusting the delivery dates to reflect this updates. Thank you so so much!

Thanks @AgentPoles are you planning to submit the amendment to reflect the new delivery dates?

Hi @AgentPoles seeing as it has been almost a year, I think it is probably best to go ahead and close this grant for now, and you can always potentially pick it up again in the future once your staffing issues have been figured out. Let me know if that sounds good. Otherwise we will go ahead and close it in two weeks. Thank you!

HI @keeganquigley, sorry i missed your previous comment, I was out of office. We have resolved the hire issue as i mentioned earlier and we have now successfully completed the first milestone. I Just got back this week and I am currently reviewing and preparing the delivery.

Glad to hear it @AgentPoles thanks for the update!

Hi @keeganquigley we are set to deliver now, but please we have a final question on licensing. We will like to keep our project open-sourced, but restrict commercial use for a time frame, please what are your views on this and is it allowed?

Hi @keeganquigley just checking in on this, thank a lot!

yes @keeganquigley. Please let us know, and thank you very much for your support all through!

Np @AgentPoles I talked to the team and unfortunately we are unable to accept this type of license. Basically, our program is pretty strict about being open-source. Let me know how you would like to proceed.

Alright @keeganquigley,  thank you very much. Let me discuss with my team and revert back to you also.

Hi @keeganquigley sorry for the delays we are finalizing on this with all necessary team members and stakeholders

Hi @keeganquigley, we have decided to proceed with the GPL v3 License. We are set to raise our PR. Also please, we will like to update the wallet address provided in this application. Do we do that first before raising the delivery PR (as i can see we need to specify the application PR Number when submitting the delivery)? or we can do both simultenously ?

Thanks @AgentPoles for the update. To update the wallet address, please amend the original application and submit a PR, as it will require 3 approvals. But yes you can submit the delivery in the meantime, it is not a problem to submit both simultaneously. Thanks!

Alright @keeganquigley, thanks a lot! Made the PR for the delivery, will now proceed to update the application.

Thanks @AgentPoles yes if you could that will allow us to update our records, and that way you can extend the other milestones as well. Thanks!

@keeganquigley raised a PR to update the grant application. Thank you very much!

Hello @keeganquigley, Just checking in for any updates on the milestone 1 delivery. Thanks a lot!

Hello @keeganquigley, Just checking in for any updates on the milestone 1 delivery. Thanks a lot!

@AgentPoles hi are you able to give an update on milestone 2?

Hi @keeganquigley,  thanks a lot for reaching out. Yes please,  we are closing out on milestone 2 very soon, working on the test cases now. Thank you very much!

Hi @keeganquigley, please we just raised a PR for Milestone 2 Delivery, thank you very much!

Hi @AgentPoles just checking in on M3. Thanks!

pinging @AgentPoles are you still working on milestone 3? Thanks

Hi @keeganquigley yes please we are still working on M3, we are making progress and will be closing it out soon!

Hi @AgentPoles are you able to provide a status update?

pinging @AgentPoles


Where to put manifest.json and sw.js on OXAR

Hallo All,
many thanks to all the people who made the OXAR work.
I followed Vincent's great complete Guide  about PWA and could put manifest.json and sw.js in my local system under
/webapps/ROOT in Tomcat. It worked great. Now I would like to do it in OXAR too. I would like to know where to put manifest.json and sw.js in OXAR.
Regards
Pierre

Hi @allipierre ,
Thank you for your question, but unfortunately, this is out of scope for OXAR. You might want to post the question here instead.

Hi Adrian,
thanks you. You are right.
Regards
Pierre


Markdown: Allow to open files inside the editor that are linked from the markdown

The current behaviour of Code's Markdown previewer when clicking a relative link is actually a bit cryptic: it attempts to open the file relative to the user's home path with the system's application of choice. This will commonly lead to errors being dispatched because the file cannot be found.
If I have the following Markdown:
The data types are documented [here](typings/foo.d.ts).

Clicking the link will make my system attempt to open /home/username/typings/foo.d.ts.
Given that even GitHub supports relative links to project files, I strongly believe that they should be supported here. Such links should instead be relative to the markdown file's directory and open the linked file using the Code editor.

+1; opening markdown files by clicking a (relative) link in the preview would be a very powerful feature both for writing developer documentation (split into individual files by topic) for a project, but also for viewing that documentation.

Related: The markdown-it library that vscode uses stops file:// links from being being built.
Is this behavior something vscode could change for its markdown preview?


Fixed Typo in [Government] Code.gov description

I found a typo so I corrected the description of Code.gov from "Open Sourse" to "Open Source".
Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[x] Your submissions are formatted according to the guidelines in the contributing guide
[x] Your additions are ordered alphabetically
[x] Your submission has a useful description
[x] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks!


Include with LeftOuter join does not work with document hierarchies

Include with outer join does not work when included document is part of a hierarchy.
Following exception occurs:
System.InvalidCastException : Column is null    at Npgsql.NpgsqlDefaultDataReader.GetFieldValue[T](Int32 column) in C:\projects\npgsql\src\Npgsql\NpgsqlDefaultDataReader.cs:line 142    at Marten.Schema.HierarchicalDocumentStorage'1.Resolve(Int32 startingIndex, DbDataReader reader, IIdentityMap map) in HierarchicalResolver.cs:line 24
Simple test for repro here: https://gist.github.com/kasparurban/e4df766e580dc2262cdb9cd5f8b556a2

Got a fix queued up. The specific problem you saw was specific to the sync handling, but of course there was a completely unrelated problem in the async behavior.


Create project-flutter-led-users auth group

project-flutter-admins is intended to be a small user group for critical tasks. To support additional teams running recipe changes on Flutter's swarming bots (eg Dart infra), we should allow project-flutter-led-users to schedule LED builds on try bots.

luci-auth group created in crbug.com/1213157
I'll create an mdb/flutter-led-users to make this easier to audit in the future, and add the flutter-infra and dart-engprod teams

The flutter-led-users group seems to have lost its effect - I no longer have access to start led runs on staging.
https://chrome-infra-auth.appspot.com/auth/lookup?p=project-flutter-led-users
original error: googleapi: Error 403: User<EMAIL_ADDRESS>is not allowed to schedule tasks in the pool "luci.flutter.staging", see pools.cfg

Due to ganpati's migration to role specific groups, I created mdb/flutter-engprod to unblock this (mdb/flutter-infra is a legacy group which causes issues). I sent the CL to add mdb/flutter-led-users to luci-auth. ETA end of day for resolving this.

@whesse when you have time, is it okay if I remove you from flutter admins to see if this change has propagated?

@whesse I removed your access from admins. If you find any ACL issues let me know


[virtualize] May hit the "last slide" when swiping fast to the left

Hey,
Created this bin http://www.webpackbin.com/4kydqm7mf.
I added large padding on the slider component so slide "before" and "after" are also visible.
this shows the lagging in rendering and eventually arriving at a "last slide" which should not happen.
And here is a short screen capture of this behavior:

I'm adding #152 to the conversation as an early attempt to address the issue.

In the meanwhile and for readers of this problem, as @oliviertassinari suggested on #152 using a bigger 'overscanSlideCount' at the moment would make it harder to "reach the last slide" within the animation time and so would reduce the probability of this problem to occur.

@oliviertassinari Reading the suggestion, which makes sense but also is a big effort. I wonder, if just to overcome this bug there could be a workaround. After all, if the onTransitionEnd callback would have been called the setWindow would resolve the problem.
Is it too ugly to create a timer which is scheduled upon every index change and cleared when onTransitionEnd is called or when another index change is invoked - and if this timer is gets to fire (after a delay which is say 1.5X the animation delay) we can use that to just do a setWindow that would "add" the missing slides.
I think it's OK to arrive at an end, and "add" the missing slides after some time.. this would give the impression of lazy loading to the user and may even be more elegant then actually trying to have slides coming in from the left no matter the speed and distance of swipe..
It's a naaive suggestion but I would take that without thinking twice over the existing behavior.

Is it too ugly to create a timer

That was my first implementation, but then I had issues like this one to fix #174.
I'm still not sure how we should be solving that issue.
http://www.apple.com/ approach is interesting. I'm gonna investigate https://github.com/animatedjs/animated.

eventually arriving at a "last slide"

That should be fixed with 9eee35972d5be26fd0f1419a54b60da3170ae1ee.

using a bigger overscanSlideCount at the moment would make it harder to "reach the last slide"

I feel like adding an overscanSlideCountLeft property would be the simplest fix for that issue.
I can only think about two alternatives:

Implementing that logic https://github.com/oliviertassinari/react-swipeable-views/pull/152#issuecomment-249381126 on all the platform, that's quite some work
making each slide absolute positioned. That's basically what react-virtualized is doing. But that raise some other issues. That layout needs some specific care as no longer determined by the children.

I feel like adding an overscanSlideCountLeft property would be the simplest fix
With some grief, I tend to agree.
The next best thing is absolute positioning - I will dive deeper into "react-virtualized" to see how it's implemented there.


Change System.getCurrentTimeMillis to Instant.now().toEpochMilli()

This changes System.getCurrentTimeMillis() to use Java 8 new time implementation for better precision thread safety. Many classes are using CommonUtils.getCurrentMs to calculate time elapsed. So we should move to this new implementation for better calculation precision.
Ref: https://stackify.com/heres-how-to-calculate-elapsed-time-in-java/

Codecov Report

Merging #13171 (2e9292b) into master (aff7e90) will decrease coverage by 26.45%.
The diff coverage is 26.66%.

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

I think this looks good. Is there a perf difference with the new API?

@gpang I did a bunch of tests like running System.currentTimeMillis() vs Instant.now().toEpochMillis() 1 million times and compare the time taken. The difference in performance is very small. For 1 million executions the latter one is taking 1ms~6ms more than the former. So I would say the performance is just acceptable.

alluxio-bot, merge this please


[Bug] : in mobile screen this box should be space separated

Preflight Checklist

[x] I have read the Contributing Guidelines for this project.
[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a bug report that matches the one I want to file, without success.

Electron Version
33.0.0
What operating system(s) are you using?
Windows
Operating System Version
11
What arch are you using?
x64
Last Known Working Electron version
33.0.0
Expected Behavior
In mobile screen this  button should be space separated.
Need to Changes some padding or margin
Link. : https://www.electronjs.org/docs/latest/api/base-window
Actual Behavior
Button's margin/padding need to change..
Testcase Gist URL
No response
Additional Information
No response

Hey @harshal050, it seems as though you've submitted several issues about the website related to correct spacing. To keep our issue tracker streamlined, I'm going to close this one as a duplicate, and we can consolidate the several spacing issues into one single issue. Thanks!


LSTM model save warning

System information.

OS Platform and Distribution: Windows10
TensorFlow installed from: binary
TensorFlow version : v2.7.0-rc1-69-gc256c071bb2 2.7.0
Python version: 3.9.10

Describe the problem.
When model.save called, the below warning message occurred:
WARNING:absl:Found untraced functions such as lstm_cell_layer_call_fn, lstm_cell_layer_call_and_return_conditional_losses, lstm_cell_layer_call_fn, lstm_cell_layer_call_and_return_conditional_losses, lstm_cell_layer_call_and_return_conditional_losses while saving (showing 5 of 5). These functions will not be directly callable after loading.
WARNING:absl:<keras.layers.recurrent.LSTMCell object at 0x0000021419A6A820> has the same name 'LSTMCell' as a built-in Keras object. Consider renaming <class 'keras.layers.recurrent.LSTMCell'> to avoid naming conflicts when loading with `tf.keras.models.load_model`. If renaming is not possible, pass the object in the `custom_objects` parameter of the load function.

I just upgraded python from 3.6 to 3.9, reinstall Tensorflow under Python 3.9.10. I found the LSTM model hard to train to reduce loss value and the previous warning information occurred. The model trained very well with TensorFlow 2.6.2 and there are no warnings.
My model creation code is as follows:
from tensorflow.keras.layers import Dense, LSTM
from tensorflow.keras.models import Sequential
from tensorflow.keras import optimizers

def createModel(look_back=1):
    model = Sequential()
    model.add(LSTM(100, return_sequences=True, input_shape=(1, look_back)))
    # model.add(LSTM(100, activation='relu', return_sequences=True))
    # model.add(LSTM(50, activation='relu', return_sequences=True))
    model.add(Dense(30, activation='relu'))
    model.add(Dense(20, activation='relu'))
    model.add(Dense(10, activation='relu'))
    model.add(Dense(1))

    # fixed learning rate
    # lr = 1e-2

    # learning rate schedule
    lr = optimizers.schedules.ExponentialDecay(initial_learning_rate=1e-5,
                                               decay_steps=10000,
                                               decay_rate=0.99)

    # opt = optimizers.SGD(learning_rate=lr)
    # opt = optimizers.SGD(learning_rate=lr, momentum=0.8, nesterov=False)
    # opt = optimizers.RMSprop(learning_rate=lr, rho=0.9, epsilon=1e-08)
    opt = optimizers.Adam(learning_rate=lr)
    # opt = optimizers.Adadelta(learning_rate=lr)
    # opt = optimizers.Adagrad(learning_rate=lr)
    # opt = optimizers.Adamax(learning_rate=lr)
    # opt = optimizers.Nadam(learning_rate=lr)
    # opt = optimizers.Ftrl(learning_rate=lr)

    model.compile(optimizer=opt, loss='mse')
    # model.summary()
    return model

@StevenHuang2020 I was able to run the code successfully on colab using TF v2.7.0 and tf-nightly(2.9.0.dev20220126)  and didn't face the warning reported here.Could you please find the gist here and confirm the same?
Please provide the complete code and let us know if we are missing something to replicate the issue? Thanks!

Here is my code.
https://github.com/StevenHuang2020/COVID-19-Statistics/blob/e73c17cdc14ce38616164334dde3ed7c09543328/coronavirus/predictStatistics.py
The warning message is shown when model.save called after training

I simplified it to 2 files, the dataset and py file.
dataset link:
https://raw.githubusercontent.com/owid/covid-19-data/master/public/data/owid-covid-data.csv
training file:
predictStatistics.py.txt
You can verify the above problem with this.

@jvishnuvardhan Was able to replicate the issue on colab using TF v2.7.0 , please find the gist here  for reference.Thanks!

Similar issue in TF repository https://github.com/tensorflow/tensorflow/issues/47554.

Summary: unexpected long warning messages with LSTM when saving the model.
Verified with TF nightly:
https://colab.research.google.com/drive/1vuGwbaA9lXDnmuLUv3CvGONOOKllKa2D?resourcekey=0-7wqko2DJyKWPyiEPVo2YCg&usp=sharing

@qlzh727 @k-w-w @hertschuh

Update, if I am not running any callbacks to save the model, the warning does not occur when running normal model.fit.

There are three separate problems described in this issue:

The Found untraced functions such as ... warning. I tested with earlier versions of Tensorflow and Keras (2.6.2 and 2.6.0) and the warning was already there. I believe it has to do with some internal management of functions but does not constitute any change between 2.6.2 and 2.7.

The <keras.layers.recurrent.LSTMCell object at ...> has the same name 'LSTMCell'... warning. This is indeed new and wasn't there in 2.6.2. This warning is a side effect of adding messaging in Keras when custom classes collide with built-in classes. This warning is not a change in the saving behavior nor a change in the behavior of the LSTM. The conflict it detects was already there in earlier versions and has to do with having multiple versions of LSTMCell within Keras. I am working on fixing this bug by changing how LSTMCell works, which will remove the warning. But to be clear, it has no other side effect besides the warning message.

The part about I found the LSTM model hard to train to reduce loss value [...] The model trained very well with TensorFlow 2.6.2. As far as I can tell, this is unrelated to the warnings and needs a separate investigation. @StevenHuang2020 any details you can provide on the change in behavior would be useful, thanks. In particular, do you reload the model at any point for training? Or are you saving it just for later use?

@sara-02 Correct, the warnings have to do with the saving only and are indeed not related to model.fit.

There are three separate problems described in this issue:

The Found untraced functions such as ... warning. I tested with earlier versions of Tensorflow and Keras (2.6.2 and 2.6.0) and the warning was already there. I believe it has to do with some internal management of functions but does not constitute any change between 2.6.2 and 2.7.
The <keras.layers.recurrent.LSTMCell object at ...> has the same name 'LSTMCell'... warning. This is indeed new and wasn't there in 2.6.2. This warning is a side effect of adding messaging in Keras when custom classes collide with built-in classes. This warning is not a change in the saving behavior nor a change in the behavior of the LSTM. The conflict it detects was already there in earlier versions and has to do with having multiple versions of LSTMCell within Keras. I am working on fixing this bug by changing how LSTMCell works, which will remove the warning. But to be clear, it has no other side effect besides the warning message.
The part about I found the LSTM model hard to train to reduce loss value [...] The model trained very well with TensorFlow 2.6.2. As far as I can tell, this is unrelated to the warnings and needs a separate investigation. @StevenHuang2020 any details you can provide on the change in behavior would be useful, thanks. In particular, do you reload the model at any point for training? Or are you saving it just for later use?

@sara-02 Correct, the warnings have to do with the saving only and are indeed not related to model.fit.

@hertschuh I need to check this part as I was running callbacks in my model.fit and I am also using the custom CRF code. Let to fine-grain the components and revert.

@StevenHuang2020, about 3 (the fact that the model doesn't train as well on 2.7.0 as it did on 2.6.2), it turns out that this is a side effect of this change. Basically, Keras no longer automatically uprank inputs and targets if they're only 1-dimensional. On 2.7.0, it causes the model to train against targets that are the wrong shape.
Per the model summary:
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 lstm_1 (LSTM)               (None, 1, 100)            40800

 dense_4 (Dense)             (None, 1, 30)             3030

 dense_5 (Dense)             (None, 1, 20)             620

 dense_6 (Dense)             (None, 1, 10)             210

 dense_7 (Dense)             (None, 1, 1)              11

=================================================================

The output is of rank 3 (None, 1, 1). However, your y_train is one-dimensional.
If you simply uprank y_train in the same way you reshape your x_train in prepareDataset like this:
def prepareDataset(dataset, look_back):
    ...
    X = np.reshape(X, (X.shape[0], 1, X.shape[1]))
    Y = np.reshape(X, (Y.shape[0], 1, 1))

Then you get similar results on 2.6.2 and 2.7.0, that is a loss in the order of 1e-6.

@StevenHuang2020 removing return_sequences=True makes it so that it defaults to False, and then the output of the LSTM layer has one less dimensions. This removes the dimensions mismatch between the output and the training targets. See the model summaries:
with model.add(LSTM(100, return_sequences=True, input_shape=(1, look_back)))
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 lstm_1 (LSTM)               (None, 1, 100)            40800

 dense_4 (Dense)             (None, 1, 30)             3030

 dense_5 (Dense)             (None, 1, 20)             620

 dense_6 (Dense)             (None, 1, 10)             210

 dense_7 (Dense)             (None, 1, 1)              11

=================================================================

with model.add(LSTM(100, input_shape=(1, look_back)))
_________________________________________________________________
 Layer (type)                Output Shape              Param #
=================================================================
 lstm_1 (LSTM)               (None, 100)               40800

 dense_4 (Dense)             (None, 30)                3030

 dense_5 (Dense)             (None, 20)                620

 dense_6 (Dense)             (None, 10)                210

 dense_7 (Dense)             (None, 1)                 11

=================================================================

For more details on return_sequences, please look at the documentation for RNN base class, which is the base class for LSTM. In particular, in the Output shape section explains how return_sequences changes the shape.
Also, the behavior of return_sequences has not changed between 2.6 and 2.7.

#16164 fixes the following warning:
WARNING:absl:<keras.layers.recurrent.LSTMCell object at 0x0000021419A6A820> has the same name 'LSTMCell' as a built-in Keras object. Consider renaming <class 'keras.layers.recurrent.LSTMCell'> to avoid naming conflicts when loading with `tf.keras.models.load_model`. If renaming is not possible, pass the object in the `custom_objects` parameter of the load function.

Considering that this issue was primarily focused on this warning, closing now.

#16164 fixes the following warning:
WARNING:absl:<keras.layers.recurrent.LSTMCell object at 0x0000021419A6A820> has the same name 'LSTMCell' as a built-in Keras object. Consider renaming <class 'keras.layers.recurrent.LSTMCell'> to avoid naming conflicts when loading with `tf.keras.models.load_model`. If renaming is not possible, pass the object in the `custom_objects` parameter of the load function.

Considering that this issue was primarily focused on this warning, closing now.

Hi there, I just encountered this same warning in Tensorflow 2.7 when I added a ModelCheckpoint callback to an LSTM training run.
I also noticed a huge performance slowdown when this warning is thrown.  My training runs at least 20 times more slowly.   It's really bad. I get long pauses during an epoch, and a longer pause at the end of each epoch when the warning prints.  Neither my models nor my data sets are particularly large.  The saved model folder is less than 1MB, and my data is only about 10MB.
Has anyone else noticed a performance drop when encountering this error?
Have these commits been merged into a release we can try?  I'm not compiling from source.  I shudder when I recall my last attempts to get Bazel running (about two years ago).

@jjl2 the fix is part of Tensorflow 2.9, which got released recently.
Please upgrade Tensorflow install and give it a try.


feat: fuzzy search for graph:handler

Summary
When running graph:handler previously, the user had to provide a <name> argument. Usually this would mean getting an error, running graph:operations to get a list of operation names, and then running graph:handler <name>.
Since the list is known and enumerable, this PR changes the graph:handler behavior to list all of the options in a selectable list that's also fuzzy-searchable (important due to how many operations there can be in a typical usage).
The behavior of graph:handler <name> remains the same

[ ] Make sure the status checks below are successful ✅

@erezrokah Updated with your suggestion - works just as well (actually better in the scenario there are no matches!)


fix(get_view_names): Use proper schema

Hey @Mause ! Thanks for this lib :)
When working with it to wire DuckDB to Superset I have noticed that Superset does not display views created in the DuckDB.
The problem was that get_view_names was using raw table_schema in the WHERE clause, which in case of Superset includes database name, so it becomes something like foodb.barschema. Which means that the WHERE clause in the function to get the view names never succeeds, as it tries to compare table_name to a string that includes database name.
get_table_names uses _build_query_where function that splits database and schema name, so to fix the bug I have used the same approach that _build_query_where function uses to split the schema and db name. We can't really _build_query_where function itself because of how the naming difference(in information_schema.tables schema field is named table_schema and not schema_name as it is named in the duckdb_tables() or duckdb_views()).
I also initially tried using duckdb_views() but that one returns all system views as well, which we don't really need

@Mause I am not sure I understand CI failures here 🤔 could you take a look?

@Mause bump

Thanks! This has now been released in 0.13.2
Also sorry for the delay 😬

@Mause no worries! Again, thanks a lot for the lib :)


Fix generated regex for multiple selector

There were some problems with multiple selector.

It doesn't match if the target element has attribute values more than given selector

ex. s2r .button.button--primary  doesn't match  the following case

Unexpectedly, it matches duplicated class names.

ex. s2r .button.button--primary matches the following case

Result
https://regexr.com/
/<\s*([a-zA-Z]+)\s+.*(class=(?=['"])((?=(.*[\s'"]button[\s'"]))(?=(.*[\s'"]button--link[\s'"])).*)(?=['"])).*\s*>/

The generated regex with multiple selector became more simple.


Multiple log file support

So i love goaccess so far and i've set it up via docker to monitor the log file of a nginx proxy manager instance. 👍
The instance however has multiple log files that use different log formats and it seems (i could be wrong) that goaccess can't support that in the goaccess.conf file when using the real time html setup on a hosted port.
This would be awesome to view multiple logs perhaps in a tabbed view. I'm more than happy to provide the default log formats that go access can read for this as i do have it working one at a time but not both.

Thanks for suggesting this. Like you said, it's not possible right now without actually running two instances of it. However, this may be the next feature to implement (working on #117 as we speak). This request will be part of #213. Stay tuned!

Okay, thanks for the update 👍 i'll keep my eyes peeled 👀


Update README

Update README

Pre-flight checklist

[ ] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

@Radovenchyk You have to sign the CLA otherwise we cannot merge your change, I can create the PR myself if we accept this change

I have already signed the CLA


Adding campaign support and bug fixes

Adding campaign support to entities
Additional bug fixes

Related to https://github.com/swimlane/pyattck/issues/124

fixes #115


mock queries with loading and error

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#134  👈 (View in Graphite)
#133
#132
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Safari install is broken.

  Please help!

Ack. Sorry to hear that. Safari is definitely a hostile environment for extensions.


Notify UI when resource is updated

Running a tx that updates a resource finishes silently, with no indication that the resource in a user's account was updated.
We should provide a subtle but visible notification any time a resource in an account is modified!

This could also be a generic "transaction success" notification, that includes info about resources that were updated.

Will address in v2


Deepspeed terminate

What does this PR do?
It forwards terminate signals from the launcher through the text-generation-server to deepspeed processes which are spawned when --sharded option is used.

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you read the contributor guideline,
Pull Request section?
[ ] Was this discussed/approved via a Github issue or the forum? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines, and
here are tips on formatting docstrings.
[ ] Did you write any new necessary tests?

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@regisss please review this change. Thanks to this TGI will be terminated in multi card scenario with deepspeed


[Bug]: NanaZip unable to upgrade

Brief description of your issue
With NanaZip <IP_ADDRESS> installed, it does not upgrade to <IP_ADDRESS>.
It is shown as upgrade-able, but does not change when winget upgrade --all is run.
PS C:\Users\Velgus> winget upgrade
Name    Id             Version  Available Source
------------------------------------------------
NanaZip M2Team.NanaZip <IP_ADDRESS> <IP_ADDRESS>  winget

Steps to reproduce

Have NanaZip <IP_ADDRESS> installed.
Attempt winget upgrade --all

Expected behavior
NanaZip is upgraded to <IP_ADDRESS>.
Actual behavior
NanaZip remains at <IP_ADDRESS>.
Environment
Windows Package Manager v1.1.12986
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22000.348
Package: Microsoft.DesktopAppInstaller v1.16.12986.0

PS C:\Users\User> winget install M2Team.NanaZip --version <IP_ADDRESS>
Found NanaZip [M2Team.NanaZip] Version <IP_ADDRESS>
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
  ██████████████████████████████  100%
Successfully installed

PS C:\Users\User> winget upgrade --all
Found NanaZip [M2Team.NanaZip] Version <IP_ADDRESS>
Found  [M2Team.NanaZip] Version <IP_ADDRESS>
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
  ██████████████████████████████  100%
Successfully installed

PS C:\Users\User> winget list
Name                                      Id                                        Version            Available Source
-----------------------------------------------------------------------------------------------------------------------
NanaZip                                   M2Team.NanaZip                            <IP_ADDRESS>                     winget
NanaZip                                   M2Team.NanaZip                            <IP_ADDRESS>           <IP_ADDRESS>  winget

NanaZip Preview gets installed. This is a issue with NanaZip's weird GitHub Release/Naming Scheme

Looks like the non-preview version for winget was removed, and the preview version is now the only version - works for me.

It appears they released their first stable yesterday which might explain the name change…
https://github.com/M2Team/NanaZip/releases
We’ll see how it plays out, worst case we’ll delete (or move) <IP_ADDRESS>

Should be resolved once #37290 gets merged, we'll see if NanaZip release Previews in the future or just Stable versions before we start making a package named M2Team.NanaZip.Preview.
Unless you upgraded to <IP_ADDRESS> just delete NanaZip Preview and try winget upgrade NanaZip later :)

Hey just wanted to let you know, NanaZip is again releasing Previews, as of https://github.com/microsoft/winget-pkgs/pull/37725 there will be 2 packages since they go under different names :)

Thanks for the info!


Please block pedo sites from .Gq

Block pedo sites from onion.Gq

That's the shame such sites exist. Send them to me privately. We will do our best to block them.

How do i pm the links to you?

Send them to<EMAIL_ADDRESS>please.

the service will be switched to using the black list maintained by ahmia.fi
You can submit the sites to https://ahmia.fi/blacklist/


update packages

:x: Build TheIdServer 3.0.1-fix-dependencies1-0034 failed (commit https://github.com/Aguafrommars/TheIdServer/commit/3053dc3a09 by @)

:white_check_mark: Build TheIdServer 3.0.1-fix-dependencies.1+34.build.1356 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/3053dc3a09 by @)


Quickstart for Devs

This issue builds on #28 #31 #9 but incorporates some new ideas and is related to the 0.1.0 Launch milestone. Part of the goal of 0.1.0 is to have a first great dev documentation experience.
We are going to use Gitbook to create a "guide oriented" version of the reference manual (the old docs.sero.run will live at manual.sero.run or ref.sero.run as a reference manual built from the code whereas the new docs.sero.run will be the guide/gitbook written introduction to the project).
Goal
Completing this Issue means having written content for the sections listed below and addressing the additional tasks. Some of the content (i.e. SMART on FHIR) has a dependency on Sero building support for that. Writing content will require, in general, ensuring that concepts are digestible with supporting information. The task here is to have written narrative that matches the quality of any code example. They re-enforce each other.

[x] Installing Sero Speedrun (#43)
User Guides

[x] Start a CDS Hooks API (#36)
[ ] Start a SMART on FHIR App
[x] #69

Example Projects

[x] #48
[x] #67
[ ] TBD/other contributions

This issue will also require:

[x] Restructuring the examples directory so that each subfolder is a "complete" guide/code example whose folder name matches the name of the guide above (i.e. examples/goodrx-cds-price-comparison) - there shouldn't be anything left in examples root other than folders and these should roughly map 1 to 1 with the links above (start-a-cds-hooks-api etc)
[x] Each example should have its own dependencies (i.e. npm init each subfolder, guides can even use something that's not javascript - each example/guide is isolated)
[x] Each example should consume sero through npm instead of through a link to src - this will probably break some things because the published version doesn't 100% work correctly

Dependencies
TBD

Marking #36 as done here. Code at example/cds-hooks-api-guide is all done, and supporting documentation has been written pending some edits.


Update spot-vms.md

I'm afraid the current sentence is vague and confusing. I could understand it only because I read other sources. I would recommend to replace it with the following:
"Spot VMs can be stopped if Azure needs capacity for other pay-as-you-go workloads or when the price of the spot instance exceeds the maximum price that you have set. "

@ju-shim
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@ju-shim
Can you review this old PR and determine whether it needs to be closed or merged?
@MicrosoftDocs/public-repo-pr-review-team

Love the update, thank you!
#sign-off


no method named into_rpc found for struct Eth in the current scope while adding rpc

error[E0599]: no method named into_rpc found for struct Eth in the current scope
--> node/src/rpc.rs:262:4
|
262 |         .into_rpc(),
|          ^^^^^^^^ method not found in Eth<sp_runtime::generic::Block<sp_runtime::generic::Header<u32, BlakeTwo256>, OpaqueExtrinsic>, C, P, TransactionConverter, _, H256, A>

beleive your rpc.rs file is not in the correct directory
Frontier
fp-rpc = { path = "../../primitives/rpc", default-features = false }
and
You can also add the Frontier Node logs to the output using the FRONTIER_LOG env variable. Ex:
FRONTIER_LOG="warn,rpc=trace" npm run test

(The frontier node be listening for RPC on port 19933, mostly to avoid conflict with already running substrate node)
i need more of your code or visual output of folders?


FileNotFoundException when running ExecuteAround main method in chap3 package

I think that replace "lambdasinaction/chap3/data.txt" with ExecuteAround.class.getResource("/lambdasinaction/chap3/data.txt").getPath() should solve the problem.

Swap out new FileReader("lambdasinaction/chap3/data.txt") with new InputStreamReader(ClassLoader.getSystemResourceAsStream("lambdasinaction/chap3/data.txt")) and it works correctly.
You still need to load the resource into a Reader.

You can swap for : new FileReader("src/main/resources/lambdasinaction/chap3/data.txt")
with absolute path.


enable s390x unit tests

a separate workflow was added here: https://github.com/project-koku/koku-metrics-operator/pull/302


"calls correct starts when network changes" fails on iOS in native mode.

Log from device is here.

This test is android only and is already disabled for iOS devices in master branch


CatResult.parseResultArray throws java.lang.UnsupportedOperationException: JsonNull

I have an application that searches Elasticsearch indices names.
Execute a search for indices:
CatResult result = jestClient.execute(new Cat.IndicesBuilder().build());
Then retrieve array:
String[][] indicesArray = result.getPlainText();
Return index name(s) with matching search pattern.
There are several requests (4-6) that can happen at the same time. This has been working for several days without issue.
Today there two requests which threw an exception:
CatResult result = jestClient.execute(new Cat.IndicesBuilder().build());
String[][] indicesArray = result.getPlainText();
java.lang.UnsupportedOperationException: JsonNull
at com.google.gson.JsonElement.getAsString(JsonElement.java:191)
at io.searchbox.core.CatResult.parseResultArray(CatResult.java:53)
at io.searchbox.core.CatResult.getPlainText(CatResult.java:35)
...
Should CatResult.getPlainText() check for JsonNull responses?

CatResult.getPlainText() already checks whether the jsonObject is null. I see there is only one line that can throw an NPE and I fixed it. The changes will apply with the next releases of Jest 5.3.4 and 6.3.1. However, I'll investigate the problem further if you can share the full stack trace with the lines that cause the exception.

Thanks!
The remainder of the stack trace contains application methods leading to the call of the Jest Client. I doubt it will be much help for investigation.
I'll explain more about the application. There are 4 applications running at the same time, checking for indices, adding new ones (when new data is available) and deleting old ones (when data is expired).  It could be that Elasticsearch returned a null object in process A, for an index that was being added or deleted by process B.

I see your point, that might be the case. I couldn't reproduce the same exception after many trials. If you encounter the same problem again and you have more knowledge on the cause, feel free to inform us.


Need some clarification on some terms used in this article

In the first paragraph of this help document it says, "The method you use to customize projects, which impacts all teams, depends on the process model you use."
Reading through the article I understand the 'process model' to be either Inheritance, Hosted XML or On-Premises XML. I'm working with on-premises XML.
What I don't understand in this help document is what the 'projects' is that I'm customizing, such as, "The method you use to customize projects...". Is that the TFS Team Project? And I'm really lost as to what the 'teams' are that are a part of the projects customized. Please help me by either defining these terms or linking to their definitions.

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

ID: f1152275-e1e9-cad2-4b6d-e7bab8ed1b74
Version Independent ID: 231b91a8-c5ac-36db-e2ae-8d837fb70e4b
Content: Customize your work tracking experience - Azure DevOps
Content Source: docs/reference/customize-work.md
Product: devops
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@Rod-in-NM - Thank you for your question. I will update the topic to better explain and introduce new terms. Meanwhile, you can get a definition of these terms with links to more information from Key concepts.  Project within the Azure Boards content always refers to a project defined in TFS - it used to be referred to as a team project, but now is referred to simply as a project.


fix: Add missing app.js file

Summary of changes
Asana Ticket: TICKET_NAME
[Please include a brief description of what was changed]

Before getting review, please check the following:

[ ] Does frontend functionality render and work correctly in IE?
[ ] Have we load-tested any new pages or internal API endpoints that will receive significant traffic?
[ ] Are interactive elements accessible to screen readers?
[ ] Have you checked for tech debt you can address in the area you're working in?
[ ] If this change involves routes, does it work correctly with pertinent "unusual" routes such as the combined Green Line, Silver Line, Foxboro commuter rail, and single-direction bus routes like the 170?
[ ] Are the changes organized into self-contained commits with descriptive and well-formatted commit messages?

Didn't seem to work...


Show source files for vite bundled dependencies correctly

Hey, I stumbled upon this tool on your Twitter, and it is indeed very fast and nice to navigate Chrome profiles with it.
One issue I ran into is that when using vite (which pre-bundles JS dependencies), the output looks like this – instead of showing which source file the code comes from, it's just displayed as coming from the prebundled chunks:

While the function names are readable, where the methods are coming from is all just from the chunks that vite has generated.
I'm not entirely sure but I believe all that data (which files these methods actually come from) should be part of the source maps vite already generates.
Would it be possible to show better file information in the trace based on that? Or is that an issue with how chrome creates the trace file?

@hybridherbst Thank you for your feedback and for bringing up this issue.
Currently, Chrome generates traces without applying source maps. Specifically, Chrome does not modify the locations returned by the V8 profiler. Source maps are only utilized by developer tools on demand and are not included in Chrome traces (Chromium Performance Profile) by default.
To achieve better file information for bundled code, source maps need to be applied to a .cpuprofile or Chromium performance profile on your side. I'm planning to add functionality that will allow users to upload source maps into cpupro and apply them to a profile. However, there is no ETA for the feature at the moment. More likely, this capability might be implemented via CLI first. Nevertheless, you will need to obtain and manage the source maps on your side anyway.

Thanks for the response!

source maps need to be applied to a .cpuprofile or Chromium performance profile on your side

Is that a process where tooling exists already? I'm not aware of it.


Data Science with Python : Color to Gray Scale Image using Numpy

Welcome to 'DSWP' Team, good to see you here
This issue will helps readers in acquiring all the knowledge to learn about getting involved with Color to Gray Scale Image using Numpy. Tutorial to Color to Gray Scale Image using Numpy and how it's applied using sample code.
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
This issue is created for beginners and who aren't assigned to any issues yet.
If you had referred any resources, add them up in "DS Resources". Similarly if you had used datasets, include them in "DS Datasets".
Domain : Computer Vision
Mentors Assigned : Dhruv Bajaj / Jivitesh Jain
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your open source journey ahead. 😎

/assign

@prathimacode-hub ,I want to work on this issue.
Name:- Shashank
Type : Documentation
Sr. No: 968
Approach:-
1)A little Introduction about numpy and matplotlib.
2)Explain Different functions and modules of numpy used for this issue.
3)Write code for a better explanation.

Issue assigned to @Shashankkrj for documentation

I want to work on this issue . Kindly assign me this @prathimacode-hub
Name: Sakalya Mitra
Serial Number: 62 Batch 2
Type: Video
Approach:

Explaining some features numpy by implementing
Explaining Color to Gray Scale Image code made in the documentation

Reason for using the same code: To maintain uniformity in documentation and video explanation

Issue assigned to @Sakalya100 for video contribution

@prathimacode-hub ,
I am M. Ashish Reddy. I would like to do AUDIO on this issue.
Batch number: 5
serial number:174.
Approach: A detailed explanation with examples and real life uses

Issue assigned to @ashish-reddy-20-08 for audio contribution


Character's jump implementation

The height (force) and duration of the character's jump was previously design in #71.

Fixed in 57566ccb0927c570c94f3c7ef25e83d3209a5f78


Move org.infinispan.Version to org.infinispan.commons.util.Version

https://issues.jboss.org/browse/ISPN-10520

First off, only infinispan-core did that (and the embedded uberjar by transitive property). None of our other jars had the Version class (or equivalent).
In any case I always found that functionality a bit redundant, as the version is part of the artifact name, and it is included in the META-INF/MANIFEST.MF file using all of the standard manifest entries. In this case tradition is not really an advantage.

Redundant, yes. Why do we still keep it? I don't see this PR as fixing anything because now the class is basically in another jar, so the Main-Class manifest entry is even more pointless. Also the Version mechanism was supposed to return the real version (in a very hardcoded way). Now it returns whatever commons jar says. So If I mistakenly mix commons jar ver X with core jar version Y what do I get?

I have removed the main-class entry from the manifests

Good! We are halfway there.

I could not care less about users mixing wrong versions. I don't want to program defensively for this kind of problem.

You've said it ! My empathy towards user mistakes is sooo very low. Merging!

Merged in master. Thanks @tristantarrant !


Bump up K8s libraries to v0.17.6

Since v1.17.0, k8s.io/apiserver supports dynamic serving certificate,
with which we can rotate serving certificate without having to restart
the process. To get this support, bump up K8s libraries to v0.17.6,
which maps to K8s v1.17.6.
Meanwhile, bump up Octant to v0.10.2 which is compatible with the K8s
libraries and can support Graphviz component.
Specify codegen image version in case other PRs are broken by
codegen:latest change.

/test-all

/test-e2e

/test-all

/test-all

/test-all

/test-e2e

/test-e2e

/test-networkpolicy
/test-conformance

/test-all

/test-all

@antoninbas It shouldn't affect the K8s versions technically. However, I do find a problem that K8s <1.17 doesn't grant list/watch permission to extension-apiserver-authentication-reader role so the extension apiservers cannot get the required certificates dynamically. I have fixed this by granting required permissions to antrea serviceaccounts directly, instead of relying on the role.
I have verified this PR with K8s 1.14 and 1.15, (CI runs with 1.16), 1.17, and now testing 1.18 just in case.
I will merge this after confirming 1.18 works.
It would be great if we can support multiple K8s versions in CI with a daily job or pre-release job so we can be more confident to declare the version support. @lzhecheng

Verified with K8s 1.14-1.18.


Consider running test() inside binding.runTest()

In the implementation of https://api.flutter.dev/flutter/flutter_test/testWidgets.html, test() method runs in an outer zone (normal async) whereas binding.runTest might create an inner zone with fake async.
This leads to very undesirable behavior when apps try to use normal test setup/teardown functions to initialize a framework that happens to rely on Future's.  Their tests start timing out since widgets cannot await Future's created in setup functions.
If we could run the entire setup/test/teardown sequence in the same zone, most of the surprising behavior would go away.

We have been writing a lot of articles about understanding async behavior in widget tests (such as https://medium.com/flutter/understanding-async-in-flutter-tests-a304a7604b3c). I feel like this change might make this simpler since one people understand FakeAsync, its rules apply to the entire test file rather than just testWidgets fn.

One caveat is that we would not be able to pass WidgetTester to setup function which would mean we cannot pump (if the setup required it). However, this is easily solvable via pumpAndSettle in each testWidgets function which is what most tests currently do anyway.

I don't think rearranging the code will work the way you want.  The Zone where test() is called is not the Zone where its callback is invoked (see https://github.com/dart-lang/test/issues/1023).

Hopefully if FakeAsync is the parent zone of test(), it will propagate to all zones created for setup() and its callbacks.
Having said that, I am quite sure that it is not that simple. :-)

test() callbacks currently can be invoked in Zones that are not descended from the Zone where test() (or setUp()) was called.  Empirically it appears that they will be descended from the Zone where test() was first invoked, but relying on that seems questionable.

We definitely need a better contract between package:test and package:flutter_test. I was OK with testWidgets up till now because the only problem was that it had a sharp learning curve. However, the inability to interoperate with group, setup, setupAll is unacceptable IMO.  You should be able to mix testWidgets and test methods together and get sensible results. Either that or we should stop pretending people can use package:test constructions and provide complete implementations of commonly used test paradigms in package:flutter_test.

Looked into this a bit more.
Zone tree looks like this:
_CustomZone@495722280 [inside widget_tester test() callback]
  _CustomZone@629267482
    _CustomZone@783412751
      _CustomZone@721172351 [inside core test() callback; also inside setup();]
        _CustomZone@619865116
          _CustomZone@626736146
            _CustomZone@911453401
              _CustomZone@599318833
                _CustomZone@115979321
                  _CustomZone@546883079
                    _CustomZone@690238357 [inside testWidgets fn; attaching FakeSync here won't work]
                    _CustomZone@284985316
                      _CustomZone@920411218
                        _CustomZone@111637958
                          _CustomZone@632278600
                            _RootZone@230753058

As James points out, the zone that testWidgets fn runs is a sibling of the zone that the rest of the test harness gets created, rather than the parent. Creating fake async there would not work.
The widget_tester callback runs in a child zone that test harness creates; meaning if we could create a fake async zone there, things would work.
Fake Async is only valid during the test.body() execution. After each test() completion it gets cleaned up. It gets created here and gets cleaned up here.

One potential solution is to create setupWidgets similar to testWidgets and register it to be run before widget_tester callback. This could lead to a cleaner lifecycle management for fake async. We could have a default "setup" which sets it up and a default "teardown" which cleans it up rather than using test_api's addTeardown() functionality.
Another, less involved, solution is to allow apps to pass setup fn as part of testWidgets() call. While this reduces the boilerplate, it is not that much better than apps simply defining a function that they call every time in the widget_tester test body. It is also error prone (e.g. you cannot name the function setup()).

https://github.com/flutter/flutter/pull/57894 out to introduce setUpWidgets. Moving the lifecycle of FakeAsync entirely out of runTest leads to complications since setup/teardown functions are optional. Therefore, I opted to initialize FakeAsync as needed.
I also did not add a teardown function (yet) as the use case is rare.

I think it make sense to have setup and teardown to be in the same zone as testWdiget, but that means we probably need to recreate all the setup teardown methods in the flutter_test and encourage user to use these methods instead of the ones in test library.
I also curious about the use case where you want to create a future in setup to be completed during testWidget. I can't think of a good reason to create a test like that. Do you have a more specific example code that demonstrate the use case?

cc @jonahwilliams

Chun and I discussed this offline. There's a way to implement teardown as well but it would be a departure of how package:flutter_test delegates to package:test functionality. It relatively clean and small in scope, so I will modify the PR.

Update:
I got a chance to try out Nate's PR in google3.
Initial impression: This is going to be tricky if at all possible. Similar to his observation that timeout timer needs to run in the root zone, there are other conflicts between fake async and invoker's assumptions. For instance: You cannot do await Future(() {}) in FakeAsync as it creates a 0-duration timer which never completes without the test code flushing the timer. Another example is the LocalTest's body. This one was more surprising. Turns out await itself creates a microtask which, again, gets stuck in FakeAsync unless someone flushes the queue. In other words, there are fundamental differences between fake async and normal test code on how you deal with Futures and Timers.
There are several options I could think of:

package:test accounts for these fundamental differences and supports FakeAsync as a first-class test execution platform. This likely requires a completely new design. However, it has the advantage that we no longer have to fragment package:flutter_test and package:test. flutter_test would just provide additional widget functionality rather than trying to plug in fake async.

providing a lot of hooks for flutter_tester to "drive" the test... This would strongly couple the two packages and at that point the division between the two seems arbitrary to me.

similar to previous point but instead of driving it via hooks, create a periodic timer that flushes the microtasks in fake async until the test body is executed. This is more practical but it is quite hacky. It was the only way I could get the test to pass. Note that, even with this, "await Future()" needs to be removed unless we also want to resolve Timers.

Don't touch package:test. Just expose setupWidgets and teardownWidgets much like we do testWidgets(). This was my second proposal but it leads to further fragmentation from package:test. something we said we are not going to do.

Nate is now exploring the option of solving this via https://github.com/dart-lang/test/issues/377. This seems closer to what we want. Just a wrapper function for all setup/test/teardown callbacks.

After several attempts to solve this problem at framework level, Nate and I decided that there's no good solution that works in all cases. Users still need to be aware of the differences between fake and real async zones. Instead, we opted to create a utility called waitTill for people having problems with flakiness.
Full Implementation (mostly comments):
/// Attempts to resolve the interplay between real and fake async zones until
/// widget tree is ready as indicated by [predicate].
///
/// If your test code depends on the result of a task that did not complete,
/// the most common symptom would be a hanging test as [FakeAsync] environment
/// is unable to resolve a future that was created in `runAsync`. If you
/// observe such behavior or flakiness, you have a number of options ordered by
/// desirability:
///
/// - Consider restructuring your code so you do not need `runAsync`. This is
///   the optimal solution as widget tests are designed to run in fake async
///   environment.
///
///.- Await all futures directly in the [callback] of runAsync such that when
///   runAsync is done, you are guaranteed to have a ready-to-test widget.
///
/// - Use this API to resolve all side effects and ensure widget is ready to
///   test.
///
/// For instance imagine you have a stateful widget, like so:
///
/// ```
/// class FooWidgetState extends State<FooWidget> {
///   final Completer _ready;
///
///   bool isReady() => _ready.isCompleted;
///
///   void resultOfSomeExpensiveOperation() {
///     setState(() => someConditionIsMet = true);
///     // The order of set state and _ready.complete doesn't matter.
///     // This widget might need an extra pump to be tested as setState
///     // schedules a new frame.
///     _ready.complete();
///   }
///
///   Widget build(BuildContext context) {
///     if (someConditionIsMet) {
///       // Build the actual widget
///     } else {
///       // Build an empty widget; we are not ready yet.
///     }
///   }
/// }
/// ```
///
/// You can then use this method in your test:
///
/// ```
/// testWidgets('..', (tester) async {
///   await tester.pumpWidget(FooWidget());
///   final fooWidgetState = tester.state<FooWidgetState>(find.byType(FooWidget));
///   await waitTill(tester, fooWidgetState.isReady);
///   expect(...);
/// });
/// ```
///
/// This function does not specify a timeout parameter on purpose because a
/// predicate that hangs is considered a bug and timeouts make it more
/// difficult to differentiate between bugs and flakes.
Future<void> waitTill(
  WidgetTester tester,
  bool Function() predicate,
) async {
  await tester.runAsync(() async {
    while (!predicate()) {
      await pumpEventQueue();
      await tester.pump();
    }
  });
}


marked is not a function

I'm trying to create a markdown editor in my angular2 project  with this package and I have this important issue :   " marked "     is not a function . The error comes from those lines :
// comple markdown to html
public compile(data: string) {
return marked(data);
}
Do you have any idea what can I do to fix the issue ?
That's the way I create my markdown input in my component :

        <markdown [data]="textData"></markdown>

@LoloSh Could you please take a screenshot of your console and post it here.


Scroll up/down is not working over Carousel on Android when the swipe listener is added to the carousel

Hi,
I'm having a problem using the HammerJS with Angular2. I have a carousel (based on the bootstrap carousel with Angular2 event handlers) where I'm listening on the swipeleft and swiperight events. The swipe itself works perfectly. The problem is that since I use the HammerJS I can not scroll up/down over my carousel component and since it's a full viewport sized item it's a huge issue.
How can this issue be solved?
Platform:
Angular2 2.1.2
Samsung Galaxy S2 with Android 5.1.1
Latest stable mobile Chrome
For example this is also not working on mobile device when trying to scroll up or down so that your finger starting point is on the image:
https://plnkr.co/edit/LCsiXOtzSedGZDbGQ3f8?p=preview
Topic from:
http://stackoverflow.com/questions/41017202/vertical-scroll-is-not-working-with-hammerjs-and-angular2

This is actually a no-go issue.
Can someone please give an update?


Navigation settings prevent using https for links in same domain while ghost site is in http.

Issue Summary:
Navigation settings prevent using https for links in same domain while setup is in http
Image of the problem page http://puu.sh/lwHUh/fb3b4f8c37.png
What I tried:
I tried adding the World Map navigation link, but when ever I'd press save it replaces the https part with http making the link broken.
What was expected:
Ghost should've added https link as any link.
What happened:
The https link was replaced with "http" version of the link.
Steps to repeat:

Go to /ghost/settings/navigation/
Try setup link with same domain as ghost but with https while ghost runs on http
Press "SAVE"

System:
Ghost Version: 0.7.1
Database: sqlite3
NodeJS: 0.10.40-1nodesource1~vivid1
OS: Ubuntu 15.04 vivid
Linux: 2.6.32-042stab108.7 SMP Wed Jul 15 15:49:08 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux
Tested on: Firefox 43.0b5
Background:
Currently I have Apache2 serving another site on 443 over ssl but any references to that site are impossible to add in the navigation bar since it replaces the https with http.
I've tested however that it does allow https links to other domains with no problems.

@Allu2 the issue is that navigation urls to the same domain as the blog are always saved in a relative format (eg. you enter https://koodaacraft.org/map/ but it will be saved as /map/) so that whichever protocol is being used on the site is respected.
The UI however will show the full url as we had a number of people confused about relative vs absolute urls. If you change your url setting in config.js to use the https version of the domain then the UI will reflect that, although in the background all your same-domain navigation urls are still saved as relative.

Hi @Allu2 really appreciate the in depth bug report here. Can you explain why you have a single page of your Ghost blog that needs to be served via HTTPS and not the rest of it? Not sure I fully understand the use case here.

@ErisDS  I hope this helps to clarify the scenario ^^
Originally I had website for a Minecraft server using Octopress as the blogging platform and Apach2 to serve it.
I had set up the Apache to work with https and serve the site only using it.
The old system had setup for viewing the Minecraft servers live world map rendered by dynmap plugin at https://koodaacraft.org/map/ so users could see the whole world map from their browsers. This was done by configuring the dynmap plugin itself to work with Apache instead of using it own internal webserver.
Now when I wanted to move to using Ghost I set it up to the default http and 80 port, which worked fine since Apache wasn't using it. This way  I could have both site up and running while I set things up and test them. It would also safe me the trouble of re-configuring the dynmap plugin if I could just serve it trough https with the existing Apache configuration.
So this is how I ended up with having Apache serving the existing setup with https://koodaacraft.org/map
and Ghost running at http://koodaacraft.org/
I've since then made small workaround by adding subdomain "blog" to the address making it https://blog.koodaacraft.org/map which I then could add to the navigation section without it being replaced with http.
Probably this kind of problem would be completely avoided if I wouldn't try to use pieces of the old setup, so this problem might be rather "specific" to me :S

Hi @allu2, I think this is a very special case and that fixing it would likely cause problems for other much more common cases. I'd like to close this for now as something we can't fix, but I'll happily revisit if we find more people running into this.


Support for Electron by Atom.io ~13

Microsoft (Visual Studio Code), Google (Pixate design tool), Github (Atom Editor) and Slack (Slack Desktop Client) are just a few of the software vendors now using Electron (electron.atom.io) to power their desktop apps.
It's good you're now supporting NW.js, but it would be really wonderful, both for us developers and for DoneJS, if you will provide full support for Electron.
Looking forward to it! And I hope soon enough. :)

I approve. In fact, I'd like to start working on donejs-electron shortly. I've built a DoneJS Electron app at https://github.com/daffl/mysam but I haven't looked into how to bundle it all up (other than through an npm install -g).

Just curious, what are the advantages of Electron over Nw.js?  Btw, anyone can create plugins that will work with donejs add foo, see the donejs-nw project as an example.

I found it easier to use esp. with having a JS file with all your configuration as the entry point and I generally like the APIs more. Chromium isn't as tightly coupled so they can upgrade more quickly.

Is there meanwhile a solution to get code highlight and errors in Atom ?

@daslicht not that I know.  But presumably you can use standard JS and handlebars highlighters.

ok thanks

Hey @Sinjhin, did you work on this previously?

@matthewp Yes, see:
https://github.com/stealjs/steal-electron
and
https://github.com/donejs/donejs-electron
I also have some work done on generator-donejs that I can push to a branch. It will take all three repos working together for this to work.
If I remember correctly I got the generator part working to build an electron app with some bugs that still need to be worked out when I had to take a break from it.

Awesome, I'm going to move this to 1.1 as it likely won't make 1.0.

Moving this to 1.0 for a quick investigation spike.  If it seems easily doable, it will be part of 1.0.

This is doneish.

Actually, need to wait for https://github.com/donejs/donejs/pull/846

This can be closed now.


WXT specific import.meta.env constants not showing up in editor

https://discord.com/channels/1212416027611365476/1224507127863967784/1277527012726145156

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Hmm, already apearently doing this?
https://github.com/wxt-dev/wxt/blob/68183b648e309641e415f5856d233bea6f5f4439/packages/wxt/src/core/utils/building/generate-wxt-dir.ts#L42-L43
Not sure why this isn't working.
https://github.com/wxt-dev/wxt/blob/68183b648e309641e415f5856d233bea6f5f4439/packages/wxt/src/core/utils/building/generate-wxt-dir.ts#L198-L215

Released in v0.19.9


Get started creating provider hosted SP add-ins guidance doc doesn't work

I followed the steps in this article but when I run it it fails in Page_Load at the accessToken = TokenHelper.GetAccessToken... line.
NullReferenceException is occurring in TokenHelper.cs at line 298.

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

ID: ceb8bf6d-8d2b-d206-1e13-abe801b09894
Version Independent ID: 79012988-7caa-a0ba-d7de-91f514550bb3
Content: Get started creating provider-hosted SharePoint Add-ins | Microsoft Docs
Content Source: docs/sp-add-ins/get-started-creating-provider-hosted-sharepoint-add-ins.md
Service: unspecified
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Not working for me.  Getting :
Microsoft.SharePoint.Client.ServerUnauthorizedAccessException
HResult=0x80131500
Message=Access denied. You do not have permission to perform this action or access this resource.
Source=Microsoft.SharePoint.Client.Runtime
StackTrace:
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb)
at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery()
at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
at SampleAddInWeb.Default.RetrieveWithCSOM(String accessToken) in C:\Users\aclark\source\repos\SampleAddIn\SampleAddInWeb\Pages\Default.aspx.cs:line 71
at SampleAddInWeb.Default.CSOM_Click(Object sender, EventArgs e) in C:\Users\aclark\source\repos\SampleAddIn\SampleAddInWeb\Pages\Default.aspx.cs:line 46
on line 73.

this is broken, where is a decent example of this?

Information provided by this page is very misleading. In one place it says: "Two projects are created in the Visual Studio solution: one for the SharePoint Add-in and the other for the ASP.NET web application". But, as it walks you thru the code sample, it makes no reference as to which of the two projects you are making changes to.

I need a good example of this asap, why is this so out of date?


No provider for e! after build

Hey guys, i just tried to build our current project and got an error on the frontend:
No provider for e! (e -> e) in [(isOnline && user._id) || !isOnline in e@17:15]
This points to following code in my main app template:
<router-outlet *ngIf="(isOnline && user._id) || !isOnline"></router-outlet>
in development mode with meteor there are no problems and anything is working as expected.
The node main.js on the server is running without problems too, just the frontend is not.
Any Ideas ?
here is a link to my test build: http://build.ethomat.com/

Probably duplicated with https://github.com/Urigo/meteor-angular2.0-socially/issues/36

That's minification issue, check out this https://github.com/Urigo/angular2-meteor#it-works-fine-locally-but-fails-to-run-in-the-production.

ok thanks! I just commented #standard-minifier-js for now and got it working!


Instantly crashing when opening

My chatterino instantly crashes after opening
Whenver I launch it and xQc is live, the chat works for like 1-2 seconds then it doesn't respond. Note this seems to only happen when xQc is live because I have him as the only chat on chatterino.
Examples:
- I cannot chat
- I have trouble viewing chat

You can add screenshots to illustrate what you mean.
Remove this section if you do not have any.

http://prntscr.com/12j7io3 (note this is because I changed my password recently, otherwise it would show chat messages for the first 1-2 seconds I open it then it crashes)
OS and Chatterino Version
I don't remember if this happened before, but I know it happened a lot more in chatterino 2.3.0
current version: 2.3.0
OS info:       Windows Feature Experience Pack 120.2212.551.0

OS BUILD: 19042.928
Version: 20H2
<!--

Duplicate of #2704
tldr: update to latest nightly instead


Redundant if-check in Validate function.

The issue is causing a lint error because it is using a redundant if statement to check for an error and then returning the error immediately after. This can be simplified by just returning the error directly, without checking for it using an if statement.
This issue is a part of a #1671

Codecov Report

Merging #1679 (4199b73) into main (a0f1b97) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1679      +/-   ##
==========================================
+ Coverage   52.99%   53.01%   +0.02%
==========================================
  Files          97       97
  Lines        6231     6228       -3
==========================================
  Hits         3302     3302
+ Misses       2598     2596       -2
+ Partials      331      330       -1

Impacted Files
Coverage Δ

x/blob/types/params.go
42.30% <100.00%> (+4.37%)
:arrow_up:


Track exit code in CI tests

I see now that this is addressed better in #121, but this will help with the currently open PRs for now.


Disable InvalidateVisual when Visual's not visible

What does the pull request do?
Alternative to https://github.com/AvaloniaUI/Avalonia/pull/14684 - does not disable the animation but just prevents it from rendering the visual. There are many edge cases and even more InvalidateVisual calls that might be optimized. This is meant just as a draft for future work.
What is the current behavior?
It invokes the rendering in all cases.
What is the updated/expected behavior with this PR?
Changing property or render transform property should not fire rendering if the control is not visible.
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

In general, disabling invalidation for invisible controls makes sense for me, and can be useful as a default behavior. But it might need to be done on compositor layer. cc @kekekeks for his opinion.

Visual not being effectively visible doesnt prevent it from being used as something like a visual brush (which we want to move to compositor side) or as a composition animation expression target.


Preparing the project to be publish in bower / npm

Fixes #4
Hey Rob, there are no code changes in this PR. Only improvements for the build process, make it easier to run the tests and preparing the project to be publish it to npm and bower.

Thanks!


Building on BareMetal OS

Since the latest terminal features were added, the build on BareMetal OS was broken.
It should be updated so that the new terminal interface can be seen on BareMetal OS.
Here's the steps required to take:

[x] build system compiles correct files for BareMetal OS and not Linux
[x] file system bindings updated to work with latest BMFS
[x] load apps with new file system interface.

The current status of this is that Alloy loads on BareMetal OS but does not yet have file system bindings to BMFS.

This is fix. Alloy can run on BareMetal now, similar to how it use to.


Configure Travis

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0773d91). Click here to learn what that means.
The diff coverage is 100%.

@@           Coverage Diff            @@
##             master      #1   +/-   ##
========================================
  Coverage          ?   55.5%
========================================
  Files             ?      21
  Lines             ?    1661
  Branches          ?       0
========================================
  Hits              ?     922
  Misses            ?     700
  Partials          ?      39

Impacted Files
Coverage Δ

test/couchdb20.go
100% <100%> (ø)

test/cloudant.go
100% <100%> (ø)

test/test.go
100% <100%> (ø)

test/couchdb16.go
100% <100%> (ø)

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 0773d91...56b2e58. Read the comment docs.


feat!: Beneficiary Super App

Description
Replaces the beneficiary with a Super App that keeps track of the last deletion time for flows. Funds are accumulated in the Super App and permissions are given to a specific address to transfer funds out.
Issue
fixes #87
Checklist:

[x] My commit message follows the Conventional Commits specification
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have tested my code
[x] My changes generate no new warnings
[x] My PR is rebased off the most recent main or appropriate feature branch
[x] My PR is opened against the main or appropriate feature branch

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

49 of 49 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 90.66%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
591

Relevant Lines:
635

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

51 of 51 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.6%) to 90.729%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
593

Relevant Lines:
637

💛  - Coveralls


Implement checkpoint management for storing training states

Example, ref: https://www.tensorflow.org/guide/checkpoint

We kind of already have this, but we need a way to manage checkpointing too!

This is going to involve an entire UI/UX and CLI I think.

I can build UI/UX for this. if this issue is still open.


Line tool

Is there any support for line tool? If not, can someone tell how to use line tool with openseadragon for annotation.

Hi, there is only half-finished support for a line tool in the Selector Pack. But you would need to build from source, and I think you might actually have tweaks to the code to enable the tool. In other words: less-than-beta I'm afraid :-(


Quick profile picture fix

Currently, when updating the profile picture, the screen does not recompose, meaning to see the updated profile picture, the user needs to transition to another screen and then return to the profile screen.
This should be fixed so that the profile picture updates as soon as the "Upload Picture" button is pressed

Resolved in PR #263


CHANGELOG.md

Hello @rm-hull
What do you think of adding the CHANGELOG.md for the project?
I'd be happy to add it prior to the merge of #58 & #59.
And maybe even adding a pull request template, where the users are asked/prompted to update the changelog when submitting their PR?
Thanks

Yes probably. Although there would (hopefully) not be too much change on this project as it is just a thin wrapper around dependency-check, and that doesn't appear to have changed in a while

Fair enough, I'll close it. Thanks


Prevent timer leaks in Workerpool and others

There is a memory leak in Workerpool due to the intricacies of
time.Timer stopping.
Whenever a time.Timer is Stopped its channel must be cleared using a
select if the result of the Stop() is false.
Unfortunately in Workerpool these were checked the wrong way round.
However, there were a few other places that were not being checked.
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

:rocket:

I suspect some of these drains might be able to go away to simplify things -- according to https://sourcegraph.com/github.com/golang/go/-/commit/ba3149612f62c011765876d7a437095fa50e0771 and some clarification on IRC, draining the channel isn't to prevent a leak within the channel but to attempt prevention of a false-positive on a consumer of the timer. So the two situations you'd actually be required to drain it are:
1.) If you're going to subsequently Reset() the timer, or
2.) If anyone waiting on the channel might be sensitive to the timer firing just before you stopped it
I think the majority of these consumers fall into neither, as the timer's oftentimes only consumed by the single channel and not getting re-used.

make lg-tm work


Imolementing a fully virtual filesystem for pyftpdlib

Hello,
I am looking for a way to implement a filesystem virtually over pyftpdlib:
The files do not exist on the system and exist on other servers, and their information and location are stored in the database.
What is needed is something that can extend somehow the filesystem to read custom data, where I would implement the data read and return routines.
How can this be done?
As an example of what I mean, SabreDAV implements this for WebDAV over PHP:
http://sabre.io/dav/virtual-filesystems/
Is there any way to achieve this?

Well, you basically have to override all the methods of AbstractedFS class. "write" methods like mkdir() or rename() are easy (you just do INSERT or UPDATE). Same for "read" methods like getsize() or isdir(). The real challenge is listdir() (well, actually format_list and format_mlsx) and open(). open(), in particular, should return an object which read()s and/or write()s from/to the db a chunk at a time, which is probably gonna be a bit tricky if the "file" lives in the db. I know how to do it (and I did something similar for a a couple of closed source projects) but I'm not sure how to help you exactly as it's a kinda broad subject.

Well thanks for the help so far (-:
As for reading in chunks -> the damage can be reduced by buffering ahead, reading 64mb in advance for example for large files.
Any pointers as to issues I will likely run into?

Buffering is risky as the file content gets into ram and if the file is too big or you have multiple downloads at a time you may run out of ram pretty quickly. The"right way" to do it is the have open() return an object with a read() and a write() method which internally will do SELECT and UPDATE respectively. For read() you should also have an index to keep track of the file position (e.g. read a chunk of 4096 bytes then move the index so that the subsequent call to read() will collect the next chunk and so on...). In practice it's not so complex after all if you know how to interact with the db.

I think the ram issue can easily be resolved with a total buffer limit.
My servers have 64gb ram so it's not an issue,
But in general, I have adaptive buffering in mind - read ahead more the bigger the file, and the more the user tends to read large chunks(average last 5 minutes),
And stop buffering large chunks when approaching the limit.
Thanks!

One last question *
Do writes and reads sometimes start at the middle of a file?(especially worries about writes)

Yes, both in upload and download. In FTP protocol the client can send a "REST " command to specify the file position, then use STOR or RETR commands to upload or download a file at a certain position (basically it's a "resume transfer" feature).
Internally file.seek(position) is called; as such your open() class should also expose a seek method other than read(), write() and close().
Also, there is "APPE" command, which in a stanrdard filesystem it basically open()s the file in append ("ab") mode (then data is sent from client to server).
Basically that's what you have to take into account.

"(basically it's a "resume transfer" feature)."
I've read the latest FTP specification,
and the only commands I've seen for writing data are STOR and APPE.

APPE appends at the end of a file and STOR completely replaces.
So there is no command for replacing the -middle- of the file? (replacing content partially -> not just appending)

I've found the "mkstemp" command under AbstractFS.
It's not part of an FTP command, so when does the library request a temporary file? does it store temporary files until a file is completely uploaded?

there is no command for replacing the -middle- of the file? (replacing content partially -> not just appending)

There is not. In general, and AFAIK, this is not possible in general at filesystem level, not only FTP.

I've found the "mkstemp" command under AbstractFS. It's not part of an FTP command, so when does the library request a temporary file?

"mkstemp" is used by STOU command, which uploads a file with a unique name (allowing a prefix).

In reality, though, do you know in approximation how often it's used for anything but upload resume?

Not sure what you mean.

Not talking %100 of the time, but I don't imagine editing files in the middle being a common FTP use-case -> am I wrong?

If a file is edited while being transferred that usually means it's either deleted or some data is
appended to it (unless you're on windows, in which case the file will error out as "being in use"). AFAIK there is no way to edit only a part of the file and if there is I would consider it a corner case. In general, on RETR the server reads the file sequentially, from position 0 onward, a chunk at a time until EOF (end of file) is reached. What happens in between (file is "appended" or "edited") is "not server's problem", if you know what I mean. It will just keep reading/transmitting the file sequentially.
The same goes if it's the client which sends data (STOR). Personally I would not worry about these kind of corner cases unless you really have to for some reason, in which case you may, e.g., use file locking (https://stackoverflow.com/questions/489861/locking-a-file-in-python).

how would you know a file is fully uploaded? any indicators?

Checkout on_file_received and on_incomplete_file_received callbacks:
http://pyftpdlib.readthedocs.io/en/latest/tutorial.html#event-callbacks
http://pyftpdlib.readthedocs.io/en/latest/api.html#pyftpdlib.handlers.FTPHandler.on_file_received
http://pyftpdlib.readthedocs.io/en/latest/api.html#pyftpdlib.handlers.FTPHandler.on_incomplete_file_received
Hope this helps.

Last(probably) question:
How do I force FTP clients to only login with TLS?
I've tried the flags and I get errors on FileZilla
"unexpected characters in TLS stream" or something like that
And: Thanks a lot for the help!
I have followed your advice and implemented a layer over a cloud filesystem.
To make the file opening smoother and better managed I used a localhost nginx proxy > with locations for local and remote files.
Nginx has very fine grained control of how and when to read files, overcame the queue/delay issues :-)
The code is far too complex to release as open source right now -> will take too much cleanup.
I can let you have a look if you are interested in the methods used > maybe some can find their way into pyftpdlib itself :-)
One thing that became the issue with the database is how fast and aggressive some clients are about scanning -everything- > we are talking 50 db queries per second per user!
So I've implemented a caching layer over the DB to fetch all data at once and only check for updates every minute.
there is no command for replacing the -middle- of the file? (replacing content partially -> not just appending)
There is not. In general, and AFAIK, this is not possible at filesystem level, not only FTP.

Filesystems obviously allow editing the middle of files > otherwise databases would not be possible.
But I get your point -> not possible here


Error building openssl.1.1.1m

I'm trying to follow this instruction:
https://techviewleo.com/how-to-install-python-on-opensuse-linux/
and get an error processing make in openssl.1.1.1m directory just after successful configuration step.

Please paste output of ./configdata.pm -d


[FAQ] Fix console error in development mode

Fixes #845
Replacing a <p> tag with a <div> tag would remove the validateDomNesting console error.
Acc No: a9a75e0b86307696baff17022797d1fa3add4f63ef3528c8c3bbbfa60f4e5154

Hi @jamessspanggg, we sent the coins to that account number. However, we did also notice it was different than your previous account number. If you would like to update your account number permanently, please contact the payments team. Thanks!

hi @Rajputusman it was a mistake, I placed my other new account number for this one. I would like to stick with the previous account number! thank you


Registry editor should receive updates when key values change

@maffoo so the plumbing looks like it's mostly in place for the RPC, we can set it to watch a path when the path is loaded in the browser. The thing I'm confused about is that when a subscribed event is received it just logs it to the console. Did you have any ideas about how to wire this up? We could fire an event, but the RPC isn't affiliated with any DOM element. Should we use the machinery in observable.ts?

Yeah, we should add Observables in registry.ts, then add listeners in the registry element. If you want to take a crack at this, you can take a look at the way the node does it for an example. I've got some changes coming with the grapher ui that should clean things up quite a bit, but for now we could set it up like the node controller.

Cool, I'd like to take a crack at it. That'll make me understand how the Obervables actually work.