Feedback for Media3 Demo App - Improved Internet Handling

Version
Media3 main branch
More version details
Feedback for Media3 Demo App - Improved Internet Handling
I'm using the latest stable version of the Media3 demo app (1.3.1) written in Java. While the playback functionality is great, I'd like to suggest a feature enhancement related to internet connectivity.
Currently, if the internet connection is lost during stream playback, the stream stops and doesn't attempt to reconnect automatically.
Feature Request:

Implement functionality in the demo app to handle internet connection loss gracefully. When the internet connection is lost:

The playback should be paused.
The user should be notified about the lost connection (e.g., a toast message).

Once the internet connection is restored:

The playback should automatically resume from where it left off (if possible) or restart the stream.

Implementation (if not already available):
If this feature isn't already implemented, I'd be grateful if you could consider adding it. Here's a general approach using listeners:
// In your activity/fragment

private ConnectivityManager connectivityManager;

// ...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // ...
    connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
}

// ...

// Implement a listener for network connectivity changes
private final NetworkCallback networkCallback = new NetworkCallback() {
    @Override
    public void onAvailable(Network network) {
        // Internet connection restored, try to resume playback
        if (/* check if playback was paused due to lost connection */) {
            // Resume playback or restart stream
        }
    }

    @Override
    public void onLost(Network network) {
        // Internet connection lost, pause playback and notify user
        player.pause();
        Toast.makeText(getApplicationContext(), "Internet connection lost!", Toast.LENGTH_SHORT).show();
    }
};

// ...

// Start listening for network changes when needed (e.g., onResume)
connectivityManager.registerNetworkCallback(ConnectivityManager.DEFAULT_NETWORK, networkCallback);

// ...

// Stop listening for network changes when done (e.g., onPause)
connectivityManager.unregisterNetworkCallback(networkCallback);

Sharing Existing Implementation (if available):
If this functionality is already implemented, please kindly share a link to the relevant documentation or code snippet.
Thank you for your time and consideration. This improvement would make the Media3 demo app even more user-friendly! Kindest and Warm Regards,
Sincerely and Seriously and Respectfully,
Pooya M
Pooya Mohammadhossein
Devices that reproduce the issue
Google Tv 4K (Chromecast)
Devices that do not reproduce the issue
NA
Reproducible in the demo app?
Yes
Reproduction steps

open Media3 demo most stable version (1.3.1) Android App
while using stream disconnect the internet
then you will see the stream pause and even after internet connection restored the stream is not played back

Expected result
he stream after  pause and even after internet connection restored the stream must played back automatically .
Actual result
the stream pause and even after internet connection restored the stream is not played back
Media
No need to attach anything just please kindly test and review this information I have just shared, Thanks in advance!
Bug Report

[ ] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

The current default behavior retries a few times, which generally works to cover any temporary network issues where the connection is restored quickly. The retry behavior (number of retries, delays etc) can also be configured via LoadErrorHandlingPolicy. There is an old medium post about this class with some examples and the case labeled "Do not surface load errors due to lack of network connectivity" could be interesting if you want to continuously retry until the connection is back. Alternatively, you could just let the player fail and re-prepare the playback once the connection is back as you already outlined above.
The reason we don't add this logic internally is that most apps wouldn't expect playback to continue if the network is lost for a long period of time. This may be really unexpected to the user if the network loss happened multiple minutes ago for example.

I'm not using Exoplayer. I'm actually using the latest version of the Google media library (written in Java) for the Android project (version 1.3.1). This library used to be Exoplayer, but it's now a separate component.

The old ExoPlayer repository and the Media3 repository are based on the same code, so everything related to ExoPlayer is still relevant. Given the linked blog post is quite old, some APIs may be outdated though. The best way to set the LoadErrorHandlingPolicy is in DefaultMediaSourceFactory, which can be configured via ExoPlayer.Builder.setMediaSourceFactory.

CustomPolicy Class Missing. After reviewing the documentation you linked, I couldn't find any information about a CustomPolicy class specific to the media library version 1.3.1.

The CustomPolicy in the example is an implementation you need to provide yourself. LoadErrorHandlingPolicy is just an interface, it has a default implementation in DefaultLoadErrorHandlingPolicy, but otherwise you need to provide your own implementations if you want to customize it further.

Would you be able to point me in the right direction

Given your use case, I would actually still recommend to do what you are currently doing as it seems like the simplest solution:

Listen to player errors to see when the error is caused by a connection problem and the current network has no Internet connection.
Register a network listener and call player.prepare() once the network is back.


[SPARK-8998][MLlib] Collect enough frequent prefixes before projection in PrefixSpan

Add feature: Collect enough frequent prefixes before projection in PrefixSpan.

Build triggered.

Build started.

Test build #37175 has started for   PR 7383 at commit 22b0ef4.

Test build #37175 has finished for   PR 7383 at commit 22b0ef4.

This patch fails Scala style tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Build triggered.

Build started.

Test build #37178 has started for   PR 7383 at commit 078d410.

Test build #37178 has finished for   PR 7383 at commit 078d410.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

@mengxr This PR includes the previous PR. Maybe the previous PR have not be properly closed.

The Apache GitHub is out of sync. You can try to close this PR and re-open it. It might help.

Btw, you shouldn't work directly on your master branch. Instead, you should create a separate branch for each issue, and send pull request from that branch.

Build triggered.

Build started.

Test build #37288 has started for   PR 7383 at commit 078d410.

Test build #37288 has finished for   PR 7383 at commit 078d410.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #37308 has started for   PR 7383 at commit a8fde87.

@zhangjiajin Let's close this PR and re-submit a PR from a different branch.

@mengxr OK

Test build #37308 has finished for   PR 7383 at commit a8fde87.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Exchange(newPartitioning: Partitioning, child: SparkPlan) extends UnaryNode

Merged build finished. Test PASSed.


Remove unwanted padding from embedded link when rendered (read only) and make the embed editor responsive

Describe the bug

When editor is rendered with read only  , there's an unwanted padding under the embedded link and doesn't respect the custom/resized dimension set.
And the embed editor/resizer container should automatically resized to the embedded content while creating. For example if iframe content is small, there's space under it, if the content is big, it's overlapping the below block which should not happen.

  Embed.extend({
    options: {
      maxWidth: 650,
      maxHeight: 500,
    },
  }),

To Reproduce
Steps to reproduce the behavior:
Add an embed link like Twitter, then render with and with out Yopta-renderer.
When i tried to add this link to the editor: link1 link2
You can see both the issues with the below video:
https://github.com/Darginec05/Yopta-Editor/assets/24489435/eaccc592-333b-4eca-99c2-086a9ca890cc
Expected behavior
There should not be extra padding and respect the resized dimension.
The editor/resizer should be responsive to embedded link's dimension.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
OS: Windows 11 22621.1702
Browser: Chrome 113.0.5672.93
Version :
"@yoopta/action-menu-list": "^1.9.10-rc",
"@yoopta/callout": "^1.9.10-rc",
"@yoopta/code": "^1.9.10-rc",
"@yoopta/editor": "1.9.14-rc",
"@yoopta/embed": "^1.9.10-rc",
"@yoopta/headings": "^1.9.10-rc",
"@yoopta/image": "^1.9.10-rc",
"@yoopta/link": "^1.9.10-rc",
"@yoopta/link-tool": "^1.9.3-rc",
"@yoopta/lists": "^1.9.10-rc",
"@yoopta/marks": "^1.9.10-rc",
"@yoopta/paragraph": "^1.9.12-rc",
"@yoopta/renderer": "^1.9.10-rc",
"@yoopta/toolbar": "^1.9.10-rc",
"@yoopta/video": "^1.9.10-rc",

Fixed in latest version "@yoopta/embed": "^1.9.18-rc"


Re-use STREAM connection across multiple BTP connections

From conversation with @sentientwaffle @kincaidoneil @sabinebertram
When the token we're authenticating BTP with is exhausted we currently re-establish the payment stream completely. We redo the SPSP query, make a new stream, and make a new BTP connection. By adding some custom plugin logic we could save on the extra SPSP and STREAM round trips by just re-establishing BTP and sending a connection new address frame.
We need to think about the privacy implications before doing this. It wouldn't correlate payments across multiple sites, but it may expose the length of a session on a single site.

re-establish the payment stream

Would it make more sense to create a simple POST endpoint that takes a paymentPointer or SPSP response, that can be used for the now more sporadic and generally post-paid payments? It would use privacy pass token[s] for authentication and could also support (private) tips ?

re-establish the payment stream

Would it make more sense to create a simple POST endpoint that takes a paymentPointer or SPSP response, that can be used for the now more sporadic and generally post-paid payments? It would use privacy pass token[s] for authentication and could also support (private) tips ?


csrf always give Forbidden page

Hi, no matter what but csrf always gives me Forbidden even if I post a form.
in my app configuration block I have this:
  app.use(express.cookieParser());
  app.use(express.session({ secret: $settings.app.session.secret }));
  app.use(express.csrf());

inside my form I have this input(type='hidden', name='csrf', value=csrf_token)
What I'm doing wrong here?
Thanks

maybe instead of name='csrf' I should have name='_csrf' ? but still if I do it like that then posts work fine but if I try to refresh an already posted page I don't get any error as I should.

yeah it's _csrf, it's currently a session token not per-request though

@visionmedia hmm I see... I'm lot of years PHP developer and I have great time with node.js "and it's gang" (npm modules :P ) so far but what I miss I could say is a good IDS, like PHP have PHPIDS could you suggest me maybe something if you have in mind since you have more experience with node.js?
Thanks in advance :)

im not familiar with PHPIDS but it would be great to have some kind of automated attack prevention toolkit. I've had brief discussions with a few people about that but it's not something I've spent much time with

I agree that would be nice to have something like this in node :)


Copy to clipboard?

(via a call with Sita today)
Sita said:

It would be nice to have a way to easily copy workflow ID rather than dragging my cursor to copy?

I think the rclipboard R package could be a solution, which provides some Javascript (via the clipboard.js js library) to Shiny to provide a copy to clipboard button.
The use case here is copy within a table, so it might not be feasible to provide the functionality in a user friendly way.
Haven't explored, but there might be other options.
cc @sitapriyamoorthi

I haven't played with any code yet, but my guess is that to get a copy button in each cell with the workflow ids would likely be difficult and not look great
Perhaps we can have a column in the table that is just a clipboard icon that you can click to copy the workflow id

This SO answer https://stackoverflow.com/a/71537547 might help, see it's screenshot


Add Apache 2.0 license

The text of the license was retrieved from https://www.apache.org/licenses/LICENSE-2.0.txt.
Addresses part of #142.

I have read the CLA Document and I hereby sign the CLA

@lafrenierejm  can you please remove .txt extension from LICENSE file .

can you please remove .txt extension from LICENSE file .

@chukka Done!

@lafrenierejm  can you use this license - https://raw.githubusercontent.com/jfrog/charts/master/LICENSE and update PR ?

can you use this license - https://raw.githubusercontent.com/jfrog/charts/master/LICENSE and update PR ?

Done. I ensured the exact contents of that file were used by curling it directly into the file:
curl https://raw.githubusercontent.com/jfrog/charts/master/LICENSE > LICENSE


Continue compiling

Node version - 14.18.2
npm version - 6.14.15
Packer version - 2.4.4
When I run the command npm run deploy it will deploy
But when i run the npm run start on that time given error
Could you please help me on this

Hi @ht-sandipramani, please try to change any file in the theme code and try to save with ctrl + s. It will start compiling after that. Please let me know if it works.


Not working on Windows PowerShell

When I tested the module, it works in PowerShell 7 but fails in Windows PowerShell.
With any cmdlet, I get this exception:
Exception calling "QueryServer" with "2" argument(s): "Query 59746 =>
<IP_ADDRESS>.in-addr.arpa. IN PTR on <IP_ADDRESS>:53 failed with an error."
At C:\Users\tobia\OneDrive\Dokumente\WindowsPowerShell\Modules\DnsClient-
PS\1.1.0\Public\Resolve-Dns.ps1:78 char:17
+                 $client.QueryServer($nsList, $qst)
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationExce
   ption
    + FullyQualifiedErrorId : DnsResponseException

Apparently, when you changed the lib you also broke compatibility to Windows PowerShell. Version 1.0.0 works like a charm.

Thanks for the heads up, @TobiasPSP. Sorry about that. Breaking Windows PS wasn't intended. Give me a bit to look into it.

It looks like this may be a bug in how the DnsClient library defines its dependencies. When I dig into the error being thrown, it's whining about not being able to find System.Buffers version 4.4.0 (assembly version <IP_ADDRESS>) which is weird because the nuget dependencies page for DnsClient say that it needs at least version 4.5.1 (assembly version <IP_ADDRESS>).
If I roll back just the System.Buffers dll to the 4.4.0 version that was included in the module v1.0, queries seem to work again. I think the reason it didn't break for PowerShell 7 is that the System.Buffers dependency isn't actually needed (again despite the nuget dependencies implying otherwise).
In any case, I'll get an updated version out with the System.Buffers rolled back and maybe file an issue with the library author.

This is now live in 1.1.1

Awesome, thx!


Fix QuantumKernel evaluate_duplicates docstring

Summary
Fixes #484
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3056

Relevant Lines:
3484

💛  - Coveralls


Typo fix in README

Fixed a spacing typo which was causing the link to not render, in the link tag of 'Implicit Grant' in OAuth Implementations section.

Hi @Vedant1202 thank you for the PR, looks good to me 👍


ValueError: Traceback (most recent call last)

# Create our model (returns a compiled model)
model = canaro.models.createSimpsonsModel(IMG_SIZE=IMG_SIZE, channels=channels, output_dim=len(characters),
                                         loss='binary_crossentropy', decay=1e-7, learning_rate=0.001, momentum=0.9,
                                         nesterov=True)

ValueError: decay is deprecated in the new Keras optimizer, pleasecheck the docstring for valid arguments, or use the legacy optimizer, e.g., tf.keras.optimizers.legacy.SGD.
how to fix this?

# Create our model (returns a compiled model)
model = canaro.models.createSimpsonsModel(IMG_SIZE=IMG_SIZE, channels=channels, output_dim=len(characters),
                                         loss='binary_crossentropy', decay=1e-7, learning_rate=0.001, momentum=0.9,
                                         nesterov=True)

ValueError: decay is deprecated in the new Keras optimizer, pleasecheck the docstring for valid arguments, or use the legacy optimizer, e.g., tf.keras.optimizers.legacy.SGD.
how to fix this?

use this code instead:
#this is the import statements you need to add
import tensorflow as tf
import keras
from keras.models import Sequential, Model
from keras.layers import Conv2D, Flatten, MaxPooling2D, Dense, Input, Reshape, Concatenate, GlobalAveragePooling2D, BatchNormalization, Dropout, Activation, GlobalMaxPooling2D
from keras.utils import Sequence
#this is the functional code used to create the model
def create_ST_layer(input_shape = (64, 128, 3)):
input_img = Input(shape=input_shape)
model = Conv2D(48, kernel_size=(5, 5), input_shape = input_shape, strides = (1, 1), activation = "relu")(input_img)
model = MaxPooling2D(pool_size=(2, 2), strides = (2, 2))(model)
model = Conv2D(32, kernel_size=(5, 5), strides = (1, 1), activation = "relu")(model)
model = MaxPooling2D(pool_size=(2, 2), strides = (2, 2))(model)
model = Dense(50, activation = "relu")(model)
model = Dense(6)(model)
model = tf.keras.Model(inputs=input_img, outputs= model)
return model
#to print the summary
model = create_ST_layer()
model.summary()
Hope this helps!!!!

# Create our model (returns a compiled model)
model = canaro.models.createSimpsonsModel(IMG_SIZE=IMG_SIZE, channels=channels, output_dim=len(characters),
                                         loss='binary_crossentropy', decay=1e-7, learning_rate=0.001, momentum=0.9,
                                         nesterov=True)

ValueError: decay is deprecated in the new Keras optimizer, pleasecheck the docstring for valid arguments, or use the legacy optimizer, e.g., tf.keras.optimizers.legacy.SGD.
how to fix this?

use this code instead: #this is the import statements you need to add import tensorflow as tf import keras from keras.models import Sequential, Model from keras.layers import Conv2D, Flatten, MaxPooling2D, Dense, Input, Reshape, Concatenate, GlobalAveragePooling2D, BatchNormalization, Dropout, Activation, GlobalMaxPooling2D from keras.utils import Sequence
#this is the functional code used to create the model
def create_ST_layer(input_shape = (64, 128, 3)): input_img = Input(shape=input_shape) model = Conv2D(48, kernel_size=(5, 5), input_shape = input_shape, strides = (1, 1), activation = "relu")(input_img) model = MaxPooling2D(pool_size=(2, 2), strides = (2, 2))(model) model = Conv2D(32, kernel_size=(5, 5), strides = (1, 1), activation = "relu")(model) model = MaxPooling2D(pool_size=(2, 2), strides = (2, 2))(model) model = Dense(50, activation = "relu")(model) model = Dense(6)(model) model = tf.keras.Model(inputs=input_img, outputs= model) return model
#to print the summary
model = create_ST_layer() model.summary()
Hope this helps!!!!

How do you compile this model?

The best solution I found was to modify the simpsons.py file as stated in the answer here: https://stackoverflow.com/a/75951851/17870878.


Support for PHP 8.1

Q
A

Documentation
no

Bugfix
yes

BC Break
no

New Feature
no

RFC
no

QA
no

Description
PHP 8.1 will introduce a process to add return types to internal methods, see https://wiki.php.net/rfc/internal_method_return_types
This library extends various reflection classes and overrides public methods that are affected by this change. PHP 8.1 triggers deprecation warnings unless we declare that a future version of this library will add these return types as well. We can do so by adding the ReturnTypeWillChange attribute to those methods.
This PR suggests to do just that because adding the actual return types would break code that extends our classes. A potential version 5 of this library could then add the actual return types.
There is one problematic case though: MethodReflection::getPrototype(). That method as it is currently implemented will return an array or string, depending on a parameter passed to it. The parent method ReflectionMethod::getPrototype() however will return a ReflectionMethod instance.
My recommended course of action would be to introduce two new methods getPrototypeAsString() and getPrototypeAsArray() and deprecate calling MethodReflection::getPrototype() with the PROTOTYPE_AS_ARRAY/PROTOTYPE_AS_STRING parameter.
If you agree with that, I could work on a follow-up PR.

Thanks for approving the CI run. Two static analysis jobs are failing:

The PHP CodeSniffer version used here apparently does not know how to handle attributes and complains about "Perl-style comments" and an unused import ReturnTypeWillChange.
Psalm complains about an undefined class ReturnTypeWillChange. We could either suppress that error or add symfony/polyfill-php81 to require-dev to make the class known.

Please advice how I may proceed.

ReturnTypeWillChange could either be stubbed, or we can wait to run psalm
on 8.1 (after this summer, when the first RC are verifiable)
On Sat, Jun 5, 2021, 15:12 Alexander M. Turek @.***>
wrote:

Thanks for approving the CI run. Two static analysis jobs are failing:

The PHP CodeSniffer version used here apparently does not know how
to handle attributes and complains about "Perl-style comments" and an
unused import ReturnTypeWillChange.
Psalm complains about an undefined class ReturnTypeWillChange. We
could either suppress that error or add symfony/polyfill-php81 to
require-dev to make the class known.

Please advice how I may proceed.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/laminas/laminas-code/pull/86#issuecomment-855238583,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABFVEDI7HFFJ3BDMFLHALTTRIPEXANCNFSM46EKGUVQ
.

symfony/polyfill-php81 contains a stub, so I've added that package.

No, stubbed as in stubbed for psalm, not further deps (and complexity) for
runtime users.
A polyfill is absolutely to be avoided here.
On Sun, Jun 6, 2021, 01:26 Alexander M. Turek @.***>
wrote:

symfony/polyfill-php81 contains a stub, so I've added that package.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laminas/laminas-code/pull/86#issuecomment-855309716,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABFVECDRSQNXXCUA5GYYNLTRKXBZANCNFSM46EKGUVQ
.

Nvm, I see it is require-dev: will probably still need to be extracted to a
standalone file 🤔
On Sun, Jun 6, 2021, 01:28 Marco Pivetta @.***> wrote:

No, stubbed as in stubbed for psalm, not further deps (and complexity) for
runtime users.
A polyfill is absolutely to be avoided here.
On Sun, Jun 6, 2021, 01:26 Alexander M. Turek @.***>
wrote:

symfony/polyfill-php81 contains a stub, so I've added that package.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/laminas/laminas-code/pull/86#issuecomment-855309716,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABFVECDRSQNXXCUA5GYYNLTRKXBZANCNFSM46EKGUVQ
.

Marking as blocked until we test also on 8.1.x (later this year)

Sure, whenever you're ready.

I had to bump PHP for the PHP CodeSniffer job to 8.0 because it apparently does not understand attributes when run on PHP 7.4. 😢

Hello again. This PR is one of the last blockers for Symfony's PHP 8.1 CI. Before I implement workarounds into our CI to make it pass despite the deprecation warnings triggered by laminas-code, I'd like to ask if there's anything I can do to move this PR forward.

We'll wait for the next PHP RC before moving forward.
Before PHP 8.1 compatibility is released, we need to add intersection types
too.
On Sun, 29 Aug 2021, 23:16 Alexander M. Turek, @.***>
wrote:

Hello again. This PR is one of the last blockers for Symfony's PHP 8.1 CI.
Before I implement workarounds into our CI to make it pass despite the
deprecation warnings triggered by laminas-code, I'd like to ask if there's
anything I can do to move this PR forward.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/laminas/laminas-code/pull/86#issuecomment-907874376,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABFVEGLNUFOBMTWXEHGDU3T7KPSZANCNFSM46EKGUVQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

All right. Thanks for the heads-up.

Thank you for the review & merge, @Ocramius!

https://github.com/symfony/symfony/issues/44285

@racile see the related milestone: https://github.com/laminas/laminas-code/milestone/19
Likely done around end of year, I'd say, but no promises.


added register rebate tx

Context
Added transaction to register a rebate by specifying the rebate percentage and liquid stake amount. The transaction stores the relevant parameters on the rebate section of the host zone.

Just resolved all comments, I'm signed off on this PR


xr reload fsm needs a little twisting for migration

With new trial of migration on ASR9K classic XR, when eXR boots up, the "Username:" prompt is seen after seeing "Press RETURN to get started." We don't see prompts like configuration in progress/completed or reconfigure username/password before that.
In this use case, if I'm understanding the condoor log correctly, it seems that the starting states for the username prompt should also include 6 and 7 because the reload FSM gets to state 6 after seeing "Press RETURN to get started.", after which we see the username prompt.
Logs are sent through email.

@joydai Could you make a pull request with the proposed changes, please?

@kstaniek Sure. Right now we are having some other problems with the testing device, I will send a pull request when ready.

@kstaniek here is the pull request #15
It is a little different from the proposed change above after considering the case of regular XR reload also.


CAMEL-17424: do handle Authorization/Authentication issues when failling to poll

I think we are good to go on this one.


Can't select text at all

Atom: 1.19.3
Termination: 0.6.1
OS: Ubuntu 16.04
Using a custom theme:
.termination .xterm {
  background-color: black;
  color: lime;

  ::selection {
    background-color: lime;
  }

  .terminal-cursor {
    background-color: lime;
  }
}

Absolutely can't select text in any way.

Same here.
Atom 1.23.3 x64
Termination: 0.6.1
OS: Windows 7
Theme: one-dark

Do you run any plugins? I too couldn't select any text since a few days and started disabling plugins (and restarting Atom after). This seems to have 'fixed' it. Couldn't quite pinpoint what plugin was the culprit though.

Interesting, thanks for the tip @JeroenVanOort. I do use a number of plugins, will try disabling them one by one and see which one may be the culprit (not a perfect solution though, obviously).
I switched to using Atom Xterm in the meantime, by the way. Not as feature-rich as Termination, but is still quite nice and does what it's supposed to - including text selection...

Hi everyone,
I'm really sorry for not commenting sooner. Unfortunately, life has conspired to keep me from having much time for Termination right now. I've done and will keep on doing my best to keep it going (like pushing out new releases when upstream Atom changes mean that current versions of Termination quit working), but I just don't have time to do much active development for the program. :cry: I will try my best to get this fixed asap though. I can't replicate it on my end yet, but it must be annoying!
Cheers!
Fred

The issue seems to be documented there already, for me it was as simple as disableling the terminal features of atom-ide-ui (EnabledFeatures->Terminal->Never enable) platformio/platformio-atom-ide-terminal#467

@s00500 your workaround works for me, thanks.

Just as a follow-up, we've merged in a commit from upstream that may solve this issue: b144abafc31dbeeadf53253b8b84fc1b36acbe64
It's been released in Termination 0.6.3. :smile:

Confirmed fixed on my machine.

Works on my end now as well. Thanks for following up on this!


Delete environment popup confirmation unreadable in Dark Mode

In Dark Mode the popup confirmation can't be read

This was fixed in #131 but hasn't been rolled out to amazee.io infra yet. Will follow up

This has already been resolved and rolled out to AIO


Casting handler_data back into a closure.

I was playing around with some of the applet API functions namely ones where you can give callbacks to. It looks like there's a common pattern where we pass some function pointer called the handler_func and also a handler_data down into the platform for example in timer we can see here,
https://github.com/google/wasefire/blob/a0110a85f50b6f8cd65d7ccc41658f8797c1f5f8/crates/prelude/src/timer.rs#L56-L61
that we first box the closure supplied by the user, cast it to a u8 then have a function pointer on the Timer struct to later cast it back into a closure that we can invoke:
https://github.com/google/wasefire/blob/a0110a85f50b6f8cd65d7ccc41658f8797c1f5f8/crates/prelude/src/timer.rs#L104-L105
I guess this is similar to the pattern in C++ where you reinterpret_cast<intptr_t> something like a pointer to some user_data
I am however having troubles with casting some closures that have been boxed and casted to a u8 back into the original closure.
Here is what I have:
impl Future for OneShotTimerFuture {
    type Output = ();

    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
        if self.done.get() {
            return Poll::Ready(());
        }
        let handler_func = Self::call;
        let handler = || {
            debug!("in handler");
            self.done.set(true);
            cx.waker().wake_by_ref();
        };
        let handler = Box::into_raw(Box::new(handler));
        let handler_data = handler as *const u8;
        let params = api::allocate::Params { handler_func, handler_data };
        let id = convert(unsafe { api::allocate(params) }).unwrap();
        let params =
            api::start::Params { id, mode: Oneshot as usize, duration_ms: self.duration_ms };
        convert_unit(unsafe { api::start(params) }).unwrap();
        Poll::Pending
    }
}

impl OneShotTimerFuture {
    pub fn new(duration_ms: usize) -> Self {
        OneShotTimerFuture { duration_ms, done: false.into() }
    }

    extern "C" fn call(data: *const u8) {
      // What to do here?
    }
}

I've tried to use a core::mem::transmute, but couldn't really get anywhere with that and keep hitting some form of "cannot transmute between different size" compiler errors. Its probably due to the fact that all my solutions are attempting to cast from a *mut u8 to a *mut dyn Fn().
I see that most of the prelude functions utilize the Handler trait, which I assume allows some of the types to align nicely
https://github.com/google/wasefire/blob/a0110a85f50b6f8cd65d7ccc41658f8797c1f5f8/crates/prelude/src/timer.rs#L29
and cast back to that later:
https://github.com/google/wasefire/blob/a0110a85f50b6f8cd65d7ccc41658f8797c1f5f8/crates/prelude/src/timer.rs#L104
but my struct here doesn't need to be generic on different types of "handlers" so I'm not sure if that's appropriate here. Any help would be appreciated. Thanks in advance!

My only working solution is to store the closure in a struct wrapped in a box. Is there a better way to do this?
struct Data<'a>
{
    f: Box<dyn Fn() + 'a>,
}

impl Future for OneShotTimerFuture {
    type Output = ();

    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
        if self.done.get() {
            return Poll::Ready(());
        }
        let handler_func = Self::call;
        let handler = Data {
            f: Box::new(|| {
                self.done.set(true);
                cx.waker().wake_by_ref();
            }),
        };
        let handler = Box::into_raw(Box::new(handler));
        let handler_data = handler as *const u8;
        let params = api::allocate::Params { handler_func, handler_data };
        let id = convert(unsafe { api::allocate(params) }).unwrap();
        let params =
            api::start::Params { id, mode: Oneshot as usize, duration_ms: self.duration_ms };
        convert_unit(unsafe { api::start(params) }).unwrap();
        Poll::Pending
    }
}

impl OneShotTimerFuture {
    pub fn new(duration_ms: usize) -> Self {
        OneShotTimerFuture { duration_ms, done: false.into() }
    }

    extern "C" fn call(data: *const u8) {
        let ptr = unsafe { &*(data as *const Data) };
        (ptr.f)();
    }
}

I hope I understood the problem correctly, in which case a part of the solution would be to do something more like serial::Listener than timer::Timer. Let me try to give an overview of a solution.
pub struct Timer {
    id: usize,
    state: &'static Cell<TimerState>,
}

enum TimerState {
    Idle,
    Sleep(&'static RefCell<SleepState>), // using the same terminology as tokio::time
    // Interval(&'static Interval),
}

// We use an exclusive lifetime to the timer to avoid users accidentally using the timer twice concurrently.
// They can still leak this object but that's not an accident then.
// Alternatively would could just return an error if something is running.
pub struct Sleep<'a> {
    state: &'static RefCell<SleepState>,
    timer: &'a mut Timer,
}

enum SleepState {
    Done,
    Running,  // not yet polled
    Awaiting(Waker),  // polled
}

impl Timer {
    pub fn new() -> Self {
        // leak a TimerState::Idle
        // allocate timer with func=call and data=state
    }

    // We take exclusive reference to the timer even if we don't need mutability, simply to avoid double usage.
    pub fn sleep(&mut self, duration: Duration) -> Sleep {
        self.idle();
        // start the timer
        // leak a SleepState::Running
        // update the timer state
    }

    // Drops any running timer and go back to idle state.
    fn idle(&self) {
        // if Sleep, it means the Sleep object was leaked, it should be fine to just unleak the SleepState and drop it
        // We should also stop the timer if running
    }

    extern "C" fn call(data: *const u8) {
        // match on the state
        // nothing to do for Idle (this could happen with spurious calls)
        // for Sleep, wake the waker if any, and it all cases move to Done
    }
}

// Should call self.idle(), unregister, and unleak&drop the timer state.
impl Drop for Timer { ... }

impl<'a> Future for Sleep<'a> {
    fn poll(...) -> Poll {
        // check the SleepState
        // if Done, then Ready
        // if Running, then clone the Waker and move to Awaiting
        // if Awaiting, it means the future was polled twice before awoken, just update the Waker in place
    }
}

// It might be enough to call timer.idle().
impl Drop for Sleep { ... }

There are other variants possible and it's not yet clear to me what would be best. But from a high-level point of view, I think the API should kind of look like this:
pub struct Timer;
pub struct Sleep;  // whether there is a lifetime parameter is to be decided
pub struct Interval;
impl Timer {
    pub fn new() -> Self;
    pub fn sleep(&self, duration: Duration) -> Sleep; // whether taking &mut self is to be decided
    pub fn interval(&self, duration: Duration) -> Interval;
}
impl Future for Sleep {}
impl Interval {
    pub async fn tick(&mut self);
}

Maybe we should provide the following convenience functions (implemented using the API above):
pub fn sleep(duration: Duration) -> Sleep;
pub fn interval(duration: Duration) -> Interval;

However, they might need to return slightly different types because we need to store the timer somewhere and know we own it.

Thanks for the pointers and being patient with me! Not sure why I was so fixated on sticking the waker.wake() in the closure and using that as the data!

No worries. Feel free to close if you don't have follow-up questions.

Closing as outdated.


How to use

Hi, I'm very new to Python. I wish to use a particular function in OpenCV which was introduced in OpenCV just few months ago. The function is warpPolar(). However it doesn't seem to be included in the Python package yet. Could you please help me?

Windows 10 64-bit
Intel
opencv-python <IP_ADDRESS>

OpenCV 3.4.1 was released on 27 February. The function you are looking for was added on 17 April to OpenCV development branch (https://github.com/opencv/opencv/pull/11323) so it's not in 3.4.1. You'll have to wait for next release or build OpenCV dev version yourself. The packages generated via this repository follow OpenCV releases. Unstable development builds are not provided.


[move-core] better ChangeSet impl

This makes a few improvements to the ChangeSet:

Option<Vec<u8>> gets replaced by enum Op { New(..), Modify(..), Delete }. This means the ChangeSet now differentiates writing a new entry from modifying an existing one.
Some old APIs with ambiguous semantics (e.g. publish_xxx) gets replaced by new ones (add_xxx). The ChangeSet now functions more like a delta rather than some sort of ad-hoc storage.

This change benefits tools like move-cli by providing the information they need (new vs modify). It also makes it possible to charge gas based on the number of new entries created.

@oxade let me know if the implementation looks good to you. @tnowacki mentioned you guys were fine with this change during the community meeting, at least conceptually.


Config property repo_path evaluated inconsistently

When I try to run the hello_gtk example on its own, I get:
# From Hancho’s root directory
$ python hancho.py -f hello_gtk.hancho -C examples/hello_gtk
Loading module /build/hancho/src/hancho-0.2.0/examples/hello_gtk/hello_gtk.hancho
Loading module /build/hancho/src/hancho-0.2.0/examples/hello_gtk/rules.hancho
Traceback (most recent call last):
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 1530, in <module>
    sys.exit(app.main())
             ^^^^^^^^^^
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 1238, in main
    self.load_hanchos()
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 1318, in load_hanchos
    self.load_module(
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 1470, in load_module
    types.FunctionType(code, module.__dict__)()
  File "hello_gtk.hancho", line 3, in <module>
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 395, in load
    return load_file(file_name, as_repo=False, args=args, kwargs=kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 392, in load_file
    return app.load_module(repo_path, repo_name, file_path, file_name, mod_config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/hancho/src/hancho-0.2.0/hancho.py", line 1439, in load_module
    with open(file_pathname, encoding="utf-8") as file:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/build/hancho/src/hancho-0.2.0/examples/hello_gtk/rules.hancho'

The hello_gtk example clearly tries to get rules.hancho from the project root, but repo_path seems to be ./examples/hello_gtk, so the load command fails.
Surprisingly, the debug output actually says that repo_path is the project root:
$ python hancho.py -f hello_gtk.hancho -C examples/hello_gtk -d
[…]
global_config = {
  […]
  repo_path = "/build/hancho/src/hancho-0.2.0",
  repo_name = "",
  base_path = "/build/hancho/src/hancho-0.2.0",
  […]
  root_target = "",
  root_name = "hello_gtk.hancho",
  root_path = "/build/hancho/src/hancho-0.2.0/examples/hello_gtk",
}
[…]
FileNotFoundError: [Errno 2] No such file or directory: '/build/hancho/src/hancho-0.2.0/examples/hello_gtk/rules.hancho'

Shouldn’t the debug output be consistent to the value to which Hancho actually evaluates the property?

What would be a correct command line to run the hello_gtk example directly?
I’ve tried several combinations but none worked.

Hancho even allows me to control repo_path by passing --repo_path=…, which clearly affects the global config (according to the debug output). But Hancho still resolves {repo_path}/rules.hancho to examples/hello_gtk/rules.hancho.

You caught me in the middle of merging v0.2 into main and adding some tweaks from other forks I'd made. I'm going through the examples and stuff now trying to fix everything, just give me a day or so. :D

Thanks @aappleby for clarifying!
I had noticed the v0.2.0 release so I assumed it was meant to be stable.


update changelog for 0.4 [skip ci]

Signed-off-by: Peixin Li<EMAIL_ADDRESS>generated changelog for 0.4 w/
GITHUB_TOKEN=xxxx  scripts/generate-changelog --releases=0.4,0.3,0.2,0.1

this could be updated at any time

I updated the labels on many issues that were tagged as feature requests but were more likely tasks, tests or performance related.

This was superceded by #1849


Update Pages “home”

Automatically generated by Netlify CMS

👷 Deploy Preview for shimmering-marigold-4f5b4a processing.

Name
Link

🔨 Latest commit
31b0c614d0abe116b97b124066dfb1f06bd29e10

🔍 Latest deploy log
https://app.netlify.com/sites/shimmering-marigold-4f5b4a/deploys/632cc332cb1741000872885b


feature: Promote ExperimentalGatewayAPISupport feature to GA

Is your feature request related to a problem? Please describe.
Service Gateway API is now 1.0 especially all the HTTPRoute parts. I would like to see ExperimentalGatewayAPISupport feature be default ok.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Environment details (remove if not applicable):

Kubernetes version:
Cloud-provider/provisioner:
cert-manager version:
Install method: e.g. helm/static manifests

/kind feature

In cert-manager 1.15, the Gateway API support was graduated to beta and is now available by default. You still need to enable it with the flag --enabled-gateway-api due to its reliance on CRDs that may not be installed when cert-manager is installed. Using Helm, you can configure that with:
helm upgrade -i cert-manager jetstack/cert-manager -n cert-manager --create-namespace \
  --set crds.enabled=true \
  --set config.enableGatewayAPI=true

I'll now close this ticket. Feel free to re-open if you feel like something still needs to be done.

I believe the feature flag is still needed, or perhaps something values persisted from the old helm chart when upgrading the overrode the default flags
helm upgrade --install cert-manager jetstack/cert-manager \
  --set crds.enabled=true \
  --set config.enableGatewayAPI=true\
  --set featureGates="ExperimentalGatewayAPISupport=true" \


wat: begins type consolidation with wasm.X

This reduces the amount of conversion work by using wasm.X types when
parsing the text format. A follow-up change is needed to complete this
as remaining sections imply index resolution.
Before:
BenchmarkCodecExample/text.DecodeModule
BenchmarkCodecExample/text.DecodeModule-16           	   79468	     15224 ns/op	    7456 B/op	     331 allocs/op

After:
BenchmarkCodecExample/text.DecodeModule
BenchmarkCodecExample/text.DecodeModule-16           	   78963	     14822 ns/op	    7376 B/op	     323 allocs/op

actually, I can add name section parsing into this PR


Remove records keyword from protocol definitions

Last change we have planned for the protocol definition DSL. Remove records from ProtocolRuleSets.
There are some tradeoffs about different ways to structure type ProtocolRuleSet so it is ergonomic for consumers of dwn-sdk-js. The requirements are:

The $actions field must be optional and will have type ProtocolActionRule when it is present.
Any other string property will have type ProtocolRuleSet.

Option 1: any
In my opinion, this is the least gross option. All other options entail writing unsightly typescript.
Benefit: Doesn't require lots of (...as ProtocolActionRule) or (...as ProtocolRuleSet), and doesn't involve weird Symbol` conversion logic.
Drawback: Least strict typing. Not very different from vanilla JS experience.
export type ProtocolRuleSet = {
  $actions?: ProtocolActionRule[];
  // JSON Schema verifies that properties other than `$actions` will actually have type ProtocolRuleSet
  [key: string]: any;
}

// The following all transpile, but results may have type `any`
const ruleSet: ProtocolRuleSet = {
  $actions: [{ who: 'anyone', can: 'read' }],
  ask: {
    $actions: [{ who: 'anyone', can: 'read' }],
    offer: {
      $actions: [{ who: 'anyone', can: 'read' }],
      fulfillment: {}
    }
  }
};

ruleSet.$actions;
ruleSet.$actions![0].who;
ruleSet.ask.foo.fulfillment; // still transpiles because `ask` is `any`
(ruleSet.ask as ProtocolRuleSet).$actions?.[0].who;

Option 2: Symbols
Benefit: Allows good typing of each nested ProtocolRuleSet
Drawback: Every time we ingest or send a protocol definition, we need to parse through it and replace string $actions with the symbol. I find this kinda gross and error prone to need to call toSymbol(protocol) and stringToSymbol(protocol) throughout the code and in tests. More importantly app developers would need to make this conversion all over the place too.
const $ACTIONS = Symbol('$actions');

export type ProtocolRuleSet = {
  [$ACTIONS]?: ProtocolActionRule[];
  [key: string]: ProtocolRuleSet;
}

const ruleSet: ProtocolRuleSet = {
  [$ACTIONS]: [{ who: 'anyone', can: 'read' }],
  ask: {
    [$ACTIONS]: [{ who: 'anyone', can: 'read' }],
    offer: {
      [$ACTIONS]: [{ who: 'anyone', can: 'read' }],
      fulfillment: {}
    }
  }
};

ruleSet[$ACTIONS];
ruleSet[$ACTIONS]?.[0].who;
ruleSet.ask.offer.fulfillment;
ruleSet.ask[$ACTIONS]?.[0].who;

Option 3: Too many as
export type ProtocolRuleSet = {
  $actions?: ProtocolActionRule[];
  [key: string]: ProtocolRuleSet | ProtocolActionRule[] | undefined;
}

const ruleSet: ProtocolRuleSet = {
  $actions: [{ who: 'anyone', can: 'read' }],
  ask: {
    $actions: [{ who: 'anyone', can: 'read' }],
    offer: {
      actions: [{ who: 'anyone', can: 'read' }],
      fulfillment: {}
    }
  }
};

ruleSet.$actions;
ruleSet.$actions?.[0].who;
// ruleSet.ask.offer.fulfillment; // Does not transpile
((ruleSet.ask as ProtocolRuleSet)?.offer as ProtocolRuleSet)?.fulfillment;
((ruleSet.ask as ProtocolRuleSet).$actions as (ProtocolActionRule | undefined))?.[0].who;

Sorry, for beating a dead horse... Let me know if I read the above wrong: we chose option 1, so TypeScript will not be able to assist developers at code time when crafting the protocol definition, and error will be thrown at run time.
@csuwildcat and @frankhinek, just so you are aware, we are removing the records layering in the name of "cleaner/better dev experience" by removing type safety guardrails when creating the protocol definition that developers would arguably find more useful in actual dev experience. It can be counter-argued that they won't always be using the SDK to craft the definitions and pure JS developers will not be affected because they don't get type safety to begin with.
Regardless, this tradeoff was not foreseen when the removing the records layers was discussed. As long as you are aware and okay, I will sign off.

Regardless, this tradeoff was not foreseen when the removing the records layers was discussed. As long as you are aware and okay, I will sign off.

We did to some extent discuss the tradeoffs of Options 2 and 3 on Tuesday. I wasn't happy with either of those approaches. I went with Option 1 after giving it some more thought by myself. That said, I'm still open to either Options 2 or 3 (or some else entirely) if we feel those are better.

We did to some extent discuss the tradeoffs of Options 2 and 3 on Tuesday. I wasn't happy with either of those approaches. I went with Option 1 after giving it some more thought by myself. That said, I'm still open to either Options 2 or 3 (or some else entirely) if we feel those are better.

I am with you on what option 2 and 3 not being better. But you also know what my preferred option 4 is at this point. I am at peace, as long as @csuwildcat and @frankhinek are explicitly aware of the final tradeoffs, because I wasn't, I was under the impression that option 2 would give pure TS dev experience at the expense of ultra ugly backend implementation, but that seems not the case.

i'd only use option 2 if we can tuck away the extra step needed to serialize and deserialize an object with symbols.
Generally speaking, i think to some extent we've conflated two different discussions:

the general structure of protocol definitions absent of the implementation of them in a specific language
our SDKs implementation of protocol definitions.

re: 1
i believe that protocols will be referred to by developers as a form of "documentation" in plain json far more than they're created in actual code. I also feel like protocols and their understanding are critical to the success and adoption of DWNs, Given this, i would opt in favor of not resorting back to the recursive structure approach. i think we all agree that the recusing structures is ugmugz and less human readable:
{
  $actions: [],
  structure: {
    $actions: [],
    structure: {
      $actions: [],
      structure: {
        $actions: [],
        structure: {
          $actions: [],
          structure: {}
        }
      }
    }
  }
}

re: 2
i think there's a 4th option that we haven't yet explored which is the idea of creating a new class that is dedicated to streamlining the construction of protocol definitions. i think we can achieve the developer experience and provide the guardrails we want if we go down the path of a dedicated class with method chaining.
Also, have we looked into how ajv achieves type safety? don't json schemas in general run into the same problem?

Thanks @mistermoe for the insights!

I believe that protocols will be referred to by developers as a form of "documentation" in plain json far more than they're created in actual code.

Agreed, given this, which optionswe choose becomes more of an academic exercise not seen by external devs for the most part, and @diehuxx and I are fine with option 1, so imma sign off.
We can revisit option 2, 4, ajv what not for a nicer impl, though I doubt we'll feel the urge to do so anytime soon.

No poopy wrapper recursion 💩

i believe that protocols will be referred to by developers as a form of "documentation" in plain json far more than they're created in actual code

I'm naive w/ these concepts, but yeah... that would be quite strange to programmatically, which is to say dynamically, create new protocols. I mean... I suppose you could have user-generated protocols... but that's what programming is for, not so much a normie GUI-experience. Perhaps there is an end user experience which my imagination is lacking.


 Like the PG version, the Casdoor version, etc.
And is this your first time starting Casdoor?


browser extension: mbasic.facebook.com profile no longer has web site

Wtf, Facebook? It's on www, https://www.facebook.com/snarfed.org/about_contact_and_basic_info :

...but it's disappeared from mbasic. "Social links" are still there, but not "website," https://mbasic.facebook.com/snarfed.org/about :

This means new browser extension users can't get started on Facebook because we can't compare the web site they IndieAuthed to the web site(s) in their FB profile. 😐

So weird. If I remove my website altogether, it shows up (as blank) on mbasic:

But if I add it back, on either www or mbasic, the website field disappears again on mbasic.

Filed a bug on https://mbasic.facebook.com/bugnub/

The answer here is probably to drop the profile link check and just go with the logged in FB account and the IndieAuthed domain.

Asked on #indieweb-dev.

Done!


code for finding Palindrome String in c

I said the entire question.

Sorry, this is not what I meant by the entire code. Please check the other existing code before committing.


Add links to theory11.com and dananddave.com where we pulled the routines from to populate the database.

Would likely fit best on the About page.

Patrick Karjala
<EMAIL_ADDRESS>On Mon, Apr 13, 2015 at 3:56 PM, David Neely<EMAIL_ADDRESS>wrote:

—
Reply to this email directly or view it on GitHub
https://github.com/PlayWithMagic/PlayWithMagic/issues/134.

http://www.playwithmagic.org/about

Done. #134


ElasticModalViewController "not open" error

When trying to subclass ElasticModalViewController in my project I get the error:
"Cannot inherit from non-open class 'ElasticModalViewController' outside of its defining module.
This happens because I've pulled in ElasticTransition with cocoa pods and its in a different module.

Please update the Podfile! Either merge to swift3 or change pod branch to master. Thanks!


Elastic Search error

Hi, while running the elastic search, I find this error:
"ERROR:root:Unable to create Index in Elastic Search. Reason: TransportError(503, 'master_not_discovered_exception', None)".
Can you please guide me on how to solve this error?

Did your es run successfully?

Not really huahuoy, but I found the solution, I had to kill the existing processes of elastic search to make it work


fix a minor bug of s_client

-CAstore's option shoule be OPT_CASTORE, instead of OPT_CAFILE

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Thanks @ningning-718 for bringing this up.
There is something more broken with the -CAstore vs. -CAfile.
Users (including myself) have already been wondering what the difference between the two should be. It turns out that (before the fix proposed here) their effect was identical:
    {"CAfile", OPT_CAFILE, '<', "PEM format file of CA's"},
    {"CAstore", OPT_CAFILE, ':', "URI to store of CA's"},

although these are two different options with somewhat different descriptions.
It turns out that the proposed fix is insufficient because then the -CAstore argument ends up being ignored!

@ningning-718, it would have been better to continue with this PR
rather than opening a new one   with an extended fix.
Closing this one in favor of the new one: #11215.


add β label to athena

🚀 Deployed on https://66c528123a993685e8d230e8--cozy-fox-0defec.netlify.app


print catalog info

Unfortunately, this only works for v1.5.0 and greater because the structure was different before then and I didn't want to figure it out
Sample output:
rancher$ ./scripts/print-tags.sh v1.5.0

Printing project/service tag information for Rancher tag v1.5.0.

I don't exactly have access to run random bash scripts on the server from the UI...

@vincent99 You just need bash in Javascript.  I'm sure somebody wrote it.  Also it uses Docker, so emscriptem and maybe some jslinux and you should be gtg.

This happened. It was amazing!
Printing project/service tag information for Rancher tag v1.5.6.

Cattle Tag: v0.178.4

@vincent99 I'd also like a MacOS System 7 in my browser... <- hours of fun right here.

I still have the floppies for most of those games, and a SE that might boot to play them.


Fix typescript type for tryItOutEnabled option

@robmcguinness sorry I just realised that the TS type was wrong 🤦

Would it be possible to release this?

Should be released now 👍🏼

Thanks!


hard set kubernetes version not in vendor.conf anymore

1st commit fixes pull-cri-containerd-node-e2e bucket:  kubernetes version removed from vendor.conf in #1463
2nd commit fixes pull-cri-containerd-verify to  ignore image_pull.go SA1019 tlsConfig.BuildNameToCertificate is deprecated from #1516
Signed-off-by: Mike Brown<EMAIL_ADDRESS>

/test pull-cri-containerd-node-e2e


Add fees breakdown image to better explain fees

*Chart: Solid line boxes are what is actually present in the tx. While dotted lines are derivable.
Please add this image about fees to the docs: https://soroban.stellar.org/docs/soroban-internals/fees-and-metering

Please add this image

Or maybe something similar but better. I drew that rather hastily.


Update Feeds to 2.0.1

Checklist

[x] Checked the nixpkgs master branch

[x] Checked the nixpkgs pull requests

Project name
nix search name: gnome-feeds

current version: 0.16.2
desired version: 2.0.1
Notify maintainers

maintainers: @pbogdan
Note for maintainers
Please tag this issue in your PR.

I was experimenting doing this myself, but it depends on python-syndom which seems unpackaged.


empty commit to go through bors

Go through bors once to clean up after the force push, have CI run, all the usual.

@bors r+

:pushpin: Commit 6ee0034ffd4e4c9733c587191aa3f87efca7c028 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 6ee0034ffd4e4c9733c587191aa3f87efca7c028 with merge d6aab57136ade1780ca86c64f0559b62892f377a...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing d6aab57136ade1780ca86c64f0559b62892f377a to master...


Improve the doc of mx.operator.NumpyOp

such as:

name ends with 'label' will not be allocated memory.
could pass some constant parameters by using init(self, param1, param2...) function.
the number of in_data is depended on the number of return values of function list_arguments.

I must guess and try to write myself operator with NumpyOp. :disappointed:

name ends with 'label' will not be allocated memory for gradient.

@starimpact  It would be great if you can contribute update to the NumpyOp docstring :)

OK, but I will do it at free time, recently I am a little busy.Because I'm doing project with mxnet which I am just familiar with only half month.

So many question are going to be solved:smile:

Things are improving, thanks to all the contributors, including effort from you

yes, I want make it better also.
I like the flexibility.


todo.txt

[ ] My submission is formatted according to the guidelines in the contributing guide
[ ] My addition is ordered alphabetically
[ ] My submission has a useful description
[ ] The description does not end with punctuation
[ ] Each table column is padded with one space on either side
[ ] I have searched the repository for any relevant issues or pull requests
[ ] Any category I am creating has the minimum requirement of 3 items
[ ] All changes have been [squashed][squash-link] into a single commit

//:..</END=∞>.</embed=∞>
<embed=∞>
©®®© Licenced README.md
"'© Delaware LLC ®'"
\'=====#####'=====hide=======##' =====send=10000'## content'=#=:=#=jumpback ## to ## Users
start ## of ## calendar ## to ## beginning ## roll ## back ## server ## <IP_ADDRESS> ===##===to ##===100% ===## must be ##===100%===##=##=== fully===##charged=to===activate this mode
##===comply ===## 'version=:=checker=:=health=:==##superuser ='0%'=====##\:=====#####=====#####'"=====#####=====/True:=====superadmin=:===♕==∞==♥===❤===♔======❤♥========⇨⇨⇨⇨⇨⇨⇨⇨========⇩⇩⇩⇩⇩⇩⇩⇩</embedded==∞>

Google LLC.pdf
<EMAIL_ADDRESS>" .

://""===</"locked">


[grpc] Update to v1.32.0

Relate to https://github.com/microsoft/vcpkg/pull/13536
Update grpc to latest release revision, update the patch to match the source changes, no new patch or changes was involved here

Thanks for your contribution!


File Removed event on Drop Zone

As a loop author, I'd like to have some way of knowing when a user removes a file from the drop zone component. An event fired off when a user deletes a file that was previously added to the drop zone would allow us to respond appropriately to changes.

HELPS-2341

On QA for testing

This feature has been released on Olive Helps 0.28.3. :)


fix: Building extension script in directories with spaces

The current build script doesn't account for directories with spaces due to how pwd doesn't escape space characters returned and how the pushd command accepts arguments. Simple fix is to quote the arg.
Also just added a random lint fix that I ran into when peeking around the codebase lol.

Thanks!


Fix gui for Nvl, hide, and (probably) phone kinds

Now if developer try to use "nvl", "hide", or (probably) phone kinds gui will not answer on players input.

Probably fixed after last commits, but need more tests


[HRM] Add missing data for Ring Topology to VCF Health Compute Dashboard

Code of Conduct

[X] I have read and agree to the project's Code of Conduct.
[X] Vote on this issue by adding a 👍 reaction to the original issue initial description to help the maintainers prioritize.
[X] Do not leave "+1" or other comments that do not add relevant information or questions.
[X] If you are interested in working on this issue or have submitted a pull request, please leave a comment.

VMware Cloud Foundation
v5.1
Environment Details
No response
Description
VCF Compute Health is missing the data for  Ring topology. Even though data is available on Aria Operations under sddc manager VM custom metrics - SOS General Health, it is missing from the dashboard.
Create a view and a link it to the VCF Compute Health dashboard.
Expected Behavior
na
Actual Behavior
na
Steps to Reproduce
No response
Screenshots
No response
References
No response

I'll work on that issue.
Ryan, could you please re-assign it to 'lelik2be' (me)


Add pure gcounter, pncounter and gset implementation

Initial implementation of pure op-based CRDTs: GCounter, PNCounter, GSet

I think this needs to be using the type include file and behavior, which it isn't currently.  The interface is not correct.


Attempted fix for signing issue

Description
Going with one of the recommendations in the build scan https://scans.gradle.com/s/w6swhqsad4dp4/failure

Closed in favour of #1948


Add mask class

In the configuration UI, when fetch the resource groups, it will throw error like:
Failed to load resource groups: java.io.IOException: java.lang.NoSuchMethodError: com.nimbusds.oauth2.sdk.AccessTokenResponse.<init>(Lcom/nimbusds/oauth2/sdk/token/AccessToken;Lcom/nimbusds/oauth2/sdk/token/RefreshToken;Ljava/util/Map;)V

Mask these classes as well will fix this.

@rapatchi please help me review this PR, and make a new release to fix the problem, thanks.

@gavinfish  Thanks for reporting this issue. Will release a new version of the plugin with your fix


[FEAT] drop available-versions-to-keep config file setting

Description
closes https://github.com/inmanta/inmanta-core/issues/4980
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
- [ ] Sufficient test cases (reproduces the bug/tests the requested feature)
- [ ] Correct, in line with design
- [ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master in 3dce56420e3aee85ffc22f4811e608392789333c


Make cmark-gfm as dependency package

My project uses github.com/apple/swift-markdown's SPM as a dependency, and swift-markdown uses https://github.com/apple/swift-cmark as a dependency. When I also use swift-markdown-ui as a dependency, Xcode indicates a conflict with cmark-gfm. Therefore, is it possible to use cmark-gfm as a dependency rather than as source in the code?
Conflict report：multiple targets named 'cmark-gfm' in: 'swift-cmark', 'swift-markdown-ui'

I have the same issue. What's the recommendation?

Same issue. Is this repository still active ?

Hey folks,
Sorry for the late response. Unfortunately, apple/swift-cmark is not using semantic versioning, so is not possible make a flexible version requirement.
For instance, this doesn't work:
dependencies: [
  .package(url: "https://github.com/apple/swift-cmark", "swift-4.2-RELEASE"..<"swift-5.10-RELEASE")
]

Additionally, apple/swift-markdown depends on the gfm branch, instead of an specific version:
https://github.com/apple/swift-markdown/blob/907674c2ae2d24c32fba50101821b1a7fdd291e2/Package.swift#L48
I will be happy to use apple/swift-cmark if it where possible to have a flexible requirement on the version. I am open to any ideas.
Thanks!

Hey everyone, I had the same issue a few months ago and created a fork which uses apple/swift-markdown. Initially I've planned to open a PR here but since I had limited time and needed to remove a few methods from the public API (might be due to lack of knowledge), I've restrained from doing so.
Maybe it is of some help to anyone.
If this is interesting to you @gonzalezreal, I can open a PR.
Here's the branch: https://github.com/lovetodream/swift-markdown-ui/tree/feature/swift-markdown-refactor

Having the same issue. Has there been a solution for this yet?

Having the same issue. Has there been a solution for this yet?

I ended up using @lovetodream branch which WFM.

@gonzalezreal swiftlang/swift-cmark has added semver tags (0.5.0 for example)

@wesleymccloy Good to know! I will give it a try.

You can try it here:

https://github.com/gonzalezreal/swift-markdown-ui/pull/348

I would like to have some feedback before merging that PR. Please react with thumbs up if it works for you. Otherwise, let me know in the comments.

Hi @gonzalezreal  I have noticed this warning in Xcode otherwise no issues:

I created a new project and added swiftlang’s swift-markdown. However, I’m still seeing the warning.

The warning should be gone in the main branch, but the 0.5.0 tag still references Apple’s swift-markdown.
https://github.com/swiftlang/swift-markdown/blob/8f79cb175981458a0a27e76cb42fee8e17b1a993/Package.swift#L49

Yep, that could be the issue. So, the workaround is to use the main branch for swiftlang/swift-markdown until there is a new tag that uses the proper organization name for swift-cmark. There is nothing we can do on our side.

I don't see any reason to hold #348, so I am going to merge it.


firing and resolved were mixed up in one notification

What did you do?
Send alert firing/resolved notification to slack
What did you expect to see?
firing notification and resolved notification were separated, and with different color (default setting, firing notification color: "firing", resolved notification color: "good")
What did you see instead? Under which circumstances?
when multiple alert were activated, the firing and resolved notification were mix up in one slack message. and the color is "firing"
Environment

System information:
Linux 4.14.123-111.109.amzn2.x86_64 x86_64

Alertmanager version:
v0.22.0-rc.1

Prometheus version:
v2.10.0

thanks in advance

This is expected.


Update LICENSE to BSD-3-clause

GNU was used due to oversight and miscommunication. It was never the intent to restrict the use of this package, and the funding mechanism supporting this development mandates distribution under a non-restrictive open source license. See https://github.com/ImagingDataCommons/IDC-ProjectManagement/issues/1600. BSD-3-clause was chosen due to the precedent of using that license for pyradiomics.

@denbonte


Got error with sample code

I tried the example code, got error from language server, but could run with bun.
import { toJSONSchema } from '@gcornut/valibot-json-schema';
import { string } from 'valibot';

console.log(toJSONSchema({ schema: string() }))
// {
//    $schema: 'http://json-schema.org/draft-07/schema#',
//    type: 'string',
// }

Type 'StringSchema<undefined>' is not assignable to type 'GenericSchema<unknown, unknown, BaseIssue<unknown>> | GenericSchemaAsync<unknown, unknown, BaseIssue<unknown>> | undefined'.

This looks like a version miss match.
What version of valibot and this lib are you using ?

This looks like a version miss match.
What version of valibot and this lib are you using ?

Tested with 0.36.0 and 0.34.0

It should be fixed in the latest version

Thank you!


Delete image/tag

Hi everyone,
Thanks a lot for this work, working very well so far.
Do you intend to add a deletion feature to this client ? If not I'm willing to work on it.

@AlbinOS, any progress on this? I've written my implementation, see #21

@lorenzobenvenuti, not really, I was waiting for some guidances on how to write it but it's great that you went for it !

Done in #21.


Provisioning Eflow VM failed

Describe the bug
Provisioning failed while using dps provisioning du to access denied
To Reproduce
Steps to reproduce the behavior:

Deploy an Eflow VM
Provision it with the following Powershell command : Provision-EflowVm -provisioningType DpsSymmetricKey -globalEndpoint <dps url> -registrationId sy2si4igweflow1 -symmkey <symmetric key> -scopeId <scope id>

Expected behavior
Eflow should get its configuration through the dps.
Screenshots
Here is a screenshot of the iotedge logs in the Eflow VM :

Windows Host OS (please complete the following information):

Edition: Windows Server 2019 Datacenter
Version: 17763.2458
Virtual Machine: VM Ware virtual machine

Additional context
Iot edge version : AzureIoTEdge LTS 1.1.2202.21022

Hi @adcoly,
Moving this issue to the IoT Edge GitHub, as it seems to be related to the Edge runtime and misconfiguration of it
Thanks,
Francisco


What is GO:0043804 imidazolone hydrolase activity ?

Fixing IMG: xrefs #18908
id: GO:0043804
name: imidazolone hydrolase activity
namespace: molecular_function
def: "Catalysis of the reaction: N-formiminoglycine = imidazolone + H2O." [IMG:02122]
I dont find any EC to this, and no reference.
@hdrabkin Do you know what it is ?
Thanks, Pascale

Maybe related
RHEA:24935 | H2O + imidazol-4-one = N-formimidoylglycine
RHEA uses CHEBI:58479 N-formimidoylglycine zwitterion fo rN-formiminoglycine
(Formiminoglycine is a synonym of formimidoglycine).
Interestingly, RHEA notes that :24935 can occur spontaineously
the term 'imidazolone ' appears to be a parent term to many other terms such as imidazol-4-one
RHEA record has several references.

I think it's the reverse reaction
RHEA:24937          (APPROVED)
N-formimidoylglycine => H2O + imidazol-4-one

id: GO:0043804
name: imidazolone hydrolase activity
namespace: molecular_function
-def: "Catalysis of the reaction: N-formiminoglycine = imidazolone + H2O." [IMG:02122]
+def: "Catalysis of the reaction: N-formimidoylglycine => H2O + imidazol-4-one." [PMID:27286964, RHEA:24937]
+comment: Note that this reaction can occur spontaneously (see RHEA:24937).
+xref: RHEA:24937


[ElasticSearch] ES_JAVA_OPT based on request not limit values

Souldn't the Xmx value be based on the limit and not the request value?
I updated my ES cluster to use 4GB from 1GB and it didn't update the ES_JAVA_OPTS values as I would have expected until I set the request at the same level. I would actually have expected the request value be used for Xms and the llmit value be use to set the Xmx one.

We worked on an issue https://github.com/kubedb/project/issues/163 recently, where Users will be able to provide their own env, and these Env will overwrite the initial Envs of statefulsets (merged in master, will be added in next release).
I guess, that would be a better way to provide ES_JAVA_OPTS.
Heap size as 80% of request resource is just a safe configuaration.  For production setup, using EnvList to provide ES_JAVA_OPTS is better.

In 0.9.x it is configurable through spec.podTemplate.spec.env.


Mauro's review

It looks great! I only have two nit comments:

I see a needless return() here:
https://github.com/2DegreesInvesting/r2dii.colours/blob/1cfb783fa64954ef006945be350aa92829299df9/R/get_colours.R#L26

If you follow the tidyverse style guide then "only use return()
for early returns. Otherwise, rely on R to return the result of
the last evaluated expression."
-- https://style.tidyverse.org/functions.html?q=early re#return

I see do.case here:
https://github.com/2DegreesInvesting/r2dii.colours/tree/master/data

Are you using the S3 object system?
"It's better to reserve dots exclusively for the S3 object system. In
S3, methods are given the name function.class; if you also use .
in function and class names, you end up with confusing methods like
as.data.frame.data.frame()". -- https://style.tidyverse.org/syntax.html?q=snake#object-names
Nice to have:

A website: Run

usethis::use_pkgdown()
usethis::use_pkgdown_github_pages()

Thanks! All useful

Solved with #14


Internationalization

Hi,
Lettuce supports multiple languages. lettuce_webdriver should support those languages too.
Or at least, defining new translations should not duplicate the webdriver logic (for now I copied webdriver.py steps to my terrain.py file and translated the steps).

Here is my current workaround to avoid duplicating code. Any better solution is welcome.
... something like in my terrain.py file:
@step('je devrais voir "([^"]+)"$')
def should_see(step, text):
for regex, func in STEP_REGISTRY.items():
matched = (regex == r'I should see "([^"]+)"$')
if matched:
func(step, text)
break


fix: $ref must be  RFC3986 compliant. Closes #594

Coverage remained the same at 99.438% when pulling 4adf89d87143283e425939f092863dc823506920 on fix/refs into 9cc9120451644122f5bdaa752460d7094a139c00 on master.


Don't exclude trailing zeros

I found another small issue with reencode_utf8() in the internationalization setup. The current implementation drops trailing zeros as well as leading zeros resulting in incorrect characters when they end in zeros.
reencode_utf8("😀")
#> [1] "\\u01f6"
cat(stri_unescape_unicode("\\u01f6"))
#> Ƕ

After the fix, 😄 round trips correctly.
reencode_utf8("😀")
#> [1] "\\U0001f600"
cat(stri_unescape_unicode("\\U0001f600"))
#> 😀

Thanks so much for this! I noticed this behavior with some Polish characters but wasn't able to address it. Really appreciate the PR.


Send a pkill signal to a module

Is it possible to send a pkill real time signal to waybar and update a specific module?
I can do a thing like that thanks to i3blocks:
pkill -RTMIN+10 i3blocks
This will update a specific i3block module:
[example]
...
signal=10

If not, is there a way to update a specific module when I execute a custom command?

Done in #228


Python bindings for libzfs_core

Currently we call zfs command line tool directly. This is not good.
This is the overall issue for the low-level bindings; it will presumably be split up into sub-issues for more reasonable chunks of work.

We want CFFI based bindings.
Good error handling.
Logging of what is going on (via Eliot).
Separate package so we can spin this off into separate project (pylibzfs_core).
Validation that using zfs command line tool has same effects as pylibzfs_core.

We are moving our development planning to JIRA. This issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-731. You are welcome to file additional issues in GitHub if that's easier for you.


notifications: Fix soft-deactivated users don't get push notifications.

Fixes part of #10397.
It was discovered that soft-deactivated users don't get mobile push
notifications for messages on private streams that they have configured
to send push notifications.
Reason: handle_push_notification calls access_message, and that
logic assumes that a user who is a recipient of a message has an
associated UserMessage row. Those UserMessage rows are created
lazily for soft-deactivated users, so they might not exist (yet)
until the user comes back.
Solution: Removing stream_push_user_ids and stream_email_user_ids
from long_term_idle_user_ids ensures that a UserMessage row is
created in create_user_messages.
NOTE: This has not been tested manually.

The code changes here are clean at the local level, but I feel like there are some big-picture problems we can address here that will make the surrounding code more clear.
The first thing I noticed about this change is that long_term_idle_user_ids becomes an inaccurate name once you subtract out certain users.  So first I was gonna propose renaming that set of user ids to something like um_ineligible_user_ids.
But it turns out we already have the concept of um_eligible_user_ids!  And we use that in create_user_message for the first loop:
1443     for user_profile_id in um_eligible_user_ids:
1444         um = UserMessageLite(
1445             user_profile_id=user_profile_id,
1446             message_id=message.id,
1447         )
1448         ums_to_create.append(um)

Then we only use long_term_idle_user_ids to prevent writing UserMessage rows in the second loop:
1468     user_messages = []
1469     for um in ums_to_create:
1470         if (um.user_profile_id in long_term_idle_user_ids and
1471                 message.is_stream_message() and
1472                 int(um.flags) == 0):
1473             continue
1474         user_messages.append(um)

As you can see, the conditional here is about more than the user_ids; it takes into account whether the message is a stream message or whether certain flags get set.
I would actually be inclined to just pass stream_push_user_ids and stream_email_user_ids into create_user_message, where most of the fiddly logic is now, rather than distributing the logic between get_recipient_user and create_user_message.  Does that make sense?

To elaborate a bit, here's what I consider a good way to break down the responsibilities of the two functions, and the current code mostly does this:
The get_recipient_info function helps use optimize database reads, but otherwise it's quite dumb.  It just makes sure we don't do a zillion queries against UserProfile and Recipient to triage our users.  It doesn't do any real logic otherwise.  (One exception is user_ids_muting_topic, which is logic that I think may belong elsewhere).
The create_user_message rows helps us optimize database writes, or more precisely, helps us avoid DB writes altogether for long term idle users.  But only in certain cases.  So I'd want that function to do all the fiddly decision making about whether we write the UM row or not.
Just to add a bit more color, it's worth taking a quick read of get_active_presence_idle_user_ids, which also offloads some complicated logic from get_recipient_info.

Thanks for the review @showell :). The above comments make sense to me. I've updated the PR with the corresponding changes.

LGTM.  Thanks for addressing the feedback!

Merged as 6bfa29b8e6d8acd1ae0ea908aa1b5e621c459a0c, after editing the comment to be more readable in posterity (explaining the reasoning, not the bug it fixes, which only applies to part of the commented block's logic anyway).
Huge thanks to both @shubham-padia and @showell for making this a nice readable PR.


Switch from Pods to SPM for consuming AppCenter

Platforms Impacted

[X] iOS
[ ] macOS

Description of changes
FluentUI iOS Demo App currently consumes AppCenter binaries via CocoaPods. Change this to use Swift Package Manager to consume the AppCenter libraries.
Verification
Build the Demo.Dogfood target in the app after providing a temporary value for the app center secret. Ensure that the build runs and links the AppCenter libraries as expected.

Before
After

FluentUI Demo App for iOS uses CocoaPods to get AppCenter libraries
FluentUI Demo App for iOS uses Swift Package Manager to get AppCenter libraries

Pull request checklist
This PR has considered:

[ ] Light and Dark appearances
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)

Microsoft Reviewers: Open in CodeFlow

@markavitale Other than moving app center files from Pods/ directory can you please highlight the set of files that needs review?

@markavitale Other than moving app center files from Pods/ directory can you please highlight the set of files that needs review?

The pbxproj and related project files are the ones to review. Essentially, all the "add" and "modify" changes and none of the "delete" changes.


[ipynb][Solarized Light] Markdown text color while editing

Issue Type: Feature Request
In a python Notebook, when I use Solarized Light Color theme and edit a Markdown cell, the text color is the same when I select the text or not, i.e. there is no selection highlighting. I think is only a color issue in the theme and should be changed.
This is a screenshot while editing the markdown cell (a few words in the paragraph are selected):

This is with another color theme:

Extension version: 2020.4.76186
VS Code version: Code 1.45.0 (d69a79b73808559a91206d73d7717ff5f798f23c, 2020-05-07T16:10:24.511Z)
OS version: Linux x64 5.6.10-3-MANJARO

Hi,
this issue is still happening. Anybody has the same problem?
Thanks!


Index field in schema is not optional

PGSync version:  2.3.2
Postgres version: 14
Elasticsearch version: 8.4.1
Redis version: 7.0.4
Python version: 3.7
Problem Description:
The docs state that the index field in the schema is optional and defaults to the database name when not set..
However, when not setting the index field PGSync exits with code 1.
Error Message (if any):
pgsync_1         | Traceback (most recent call last):
pgsync_1         |   File "/usr/local/bin/bootstrap", line 70, in <module>
pgsync_1         |     main()
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
pgsync_1         |     return self.main(*args, **kwargs)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1055, in main
pgsync_1         |     rv = self.invoke(ctx)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
pgsync_1         |     return ctx.invoke(self.callback, **ctx.params)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 760, in invoke
pgsync_1         |     return __callback(*args, **kwargs)
pgsync_1         |   File "/usr/local/bin/bootstrap", line 58, in main
pgsync_1         |     for document in json.load(open(config)):
pgsync_1         |   File "/usr/local/lib/python3.7/json/__init__.py", line 296, in load
pgsync_1         |     parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
pgsync_1         |   File "/usr/local/lib/python3.7/json/__init__.py", line 348, in loads
pgsync_1         |     return _default_decoder.decode(s)
pgsync_1         |   File "/usr/local/lib/python3.7/json/decoder.py", line 337, in decode
pgsync_1         |     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
pgsync_1         |   File "/usr/local/lib/python3.7/json/decoder.py", line 353, in raw_decode
pgsync_1         |     obj, end = self.scan_once(s, idx)
pgsync_1         | json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 4 column 9 (char 54)
pgsync_1         |  0:00:00.001140 (0.00 sec)
pgsync_1         | Traceback (most recent call last):
pgsync_1         |   File "/usr/local/bin/pgsync", line 7, in <module>
pgsync_1         |     sync.main()
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
pgsync_1         |     return self.main(*args, **kwargs)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1055, in main
pgsync_1         |     rv = self.invoke(ctx)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
pgsync_1         |     return ctx.invoke(self.callback, **ctx.params)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/click/core.py", line 760, in invoke
pgsync_1         |     return __callback(*args, **kwargs)
pgsync_1         |   File "/usr/local/lib/python3.7/site-packages/pgsync/sync.py", line 1409, in main
pgsync_1         |     for document in json.load(open(config)):
pgsync_1         |   File "/usr/local/lib/python3.7/json/__init__.py", line 296, in load
pgsync_1         |     parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
pgsync_1         |   File "/usr/local/lib/python3.7/json/__init__.py", line 348, in loads
pgsync_1         |     return _default_decoder.decode(s)
pgsync_1         |   File "/usr/local/lib/python3.7/json/decoder.py", line 337, in decode
pgsync_1         |     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
pgsync_1         |   File "/usr/local/lib/python3.7/json/decoder.py", line 353, in raw_decode
pgsync_1         |     obj, end = self.scan_once(s, idx)
pgsync_1         | json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 4 column 9 (char 54)
pgsync_1 exited with code 1

Workaround:
Set the index field in the schema.json file.

This has now been fixed in the main branch. Thanks for spotting this

closing as resolved


memory tuning

moved to Java 8
extensive changes to jackson deserialization to reduce heap usage

merging to create a candidate release, v1.8.0-rc.1


feat: add unit tests for authentication middelware

Date: 17-11-2024

Developer Name: Mayank Bansal

Issue Ticket Number

#2217
Description

Added unit test cases for authentication middleware inside authenticate.test.js
Due to a missing import statement was getting an error while running tests. Fixed the error by adding the missing config statement in three files.

Documentation Updated?

[ ] Yes
[x] No

Under Feature Flag

[ ] Yes
[x] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[x] Yes
[ ] No

Screenshots

Test Coverage

Screenshot 1

Screenshot 2

Are tests not working without importing config because it is a global variable?
@MayankBansal12

@pankajjs I tried running it without the import, but I have been getting config is not defined error.

@pankajjs I tried running it without the import, but I have been getting config is not defined error.

Then how is it running before? @MayankBansal12

Left few comments @MayankBansal12

Left few comments @MayankBansal12

Will fix the issues mentioned

@pankajjs Added a new commit making the changes mentioned above. Have a look.


How is subscription status set?

I am combing through the code and cannot find it. My assumption at this point is that it needs to be implemented in the webhooks file am I right?
Can you point me in the right direction?

It's set here when created: https://github.com/pedropaf/saas-ecom/blob/1370ac169807e97ffb7414610d5be4de4a3cc9ae/SaasEcom.Core/DataServices/Storage/SubscriptionDataService.cs
You'd need to handle the other states on WebHooks or background job.


Reimplement validate using JSON Schema

Just like Python library.
placeholder for @pwalsh and @zhenyab

no need. will be covered in #16


Blinking caret/cursor doesn't scroll with it's Input text form element

HI
I've been using iscroll on our mobile pages from last six months and it was working fine even with form element hack. But suddenly now on iPhone, we have came across an issue with iscroll.
The scrollWrapper has 5-6 diff form elements. Click on one of the  text input box, it gets focus and virtual keypad pops up. One can also blinking caret/cursor in input box. Now when we try to scroll the content in wrapper, all the elements within it scroll up/down except blinking caret. Caret doesn't move and even if the input box has moved from it's pre-scroll position. Basically the caret is not in sync with it.  Now if you try to type something, caret jumps back inside the input box.
The issue is present in actual 3GS/4G device/emulator  and all OS. I wish I can attach a snapshot of the problem here which would have made problem more clear.
Has anyone come across same issue??  Thanks.

当页面滚动时，让input失去焦点就ok了~

@Liuxiyu-tivd 然后滚动停止 再获得焦点么？那不是还要获取当前焦点的input存起来。。。感觉在给自己找事。。。


Use of Terminology Related to Settings Sync

VS Code's use of terminology is subpar, ideally " Settings Sync " should be called somewhere along the lines of " Backup and Sync Configuration ". There are 2 problems with the naming, the word " Settings " is very specific - the feature backs up more than just settings, it backs up extensions, keyboard shortcuts, etc. And sync - how can you have the word sync on its own?
" Settings Sync " sounds short and sweet, somewhat catchy, but it's incorrect.

Thanks for pointing this out. However we currently have no plans to change a name that our users are already accustomed to.
Though I will keep this issue open and assigned to backlog in case there is other feedback.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Add a test that demonstrates a memory leak in any_scheduler

refs #852

Have I broken the gpu ci job description? I don't see them as pending anymore

/ok to test

/ok to test


Hydration fix for Next.js

Using Next.js, a hydration error is given when using the library. A part of the error:
Warning: Prop `style` did not match. Server: "position:absolute;z-index:9999;top:0;left:0;right:auto;bottom:auto;transform:translate(0px,0px)" Client: "position:absolute;z-index:9999;top:0;left:0;right:auto;bottom:auto;transform:translate(0px,0px);width:"
    at div
    at span
    at eval
...

The width style is now set to undefined so client hydration matches server. This resolves the error in Next.js.
Also, love the library! It has saved me a bunch of time setting up Headless UI / Floating UI.

@doseofted Thanks for the PR~

Released v0.11 contains this.


Fix hints not wrapping correctly when using inlineLabel()

Back in V2, hints were displayed below the label when using inlineLabel() on a component.
As of 3.0.0-beta17 (and in 3.x branch), hints are instead placed inline, which looks very broken when having longer hints.
Behaviour in V2:

Broken behaviour in V3:

This PR fixes the issue by taking the hint into account in the classes:
    $hasError = $errors->has($statePath) || ($hasNestedRecursiveValidationRules && $errors->has("{$statePath}.*"));
    $hasHint = filled($hint) || $hintIcon || count($hintActions);
@endphp

...
<div
        @class([
	        'flex',
	        'items-center justify-between gap-x-3' => !$hasInlineLabel,
	        'sm:pt-1.5' => $hasInlineLabel && !$hasHint,
	        'flex-col gap-y-1' => $hasInlineLabel && $hasHint
        ])

This is how it looks after the fix:

I'm assuming the sm:pt-1.5 was already there, in order to vertically center the label when using inlineLabel? This looks weird when the hints is placed below, so it's only included when there's no hint:

Let me know if there's anything I can improve, as this is my first Filament PR. :)

[x] Changes have been thoroughly tested to not break existing functionality.
[x] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

Hmm, hints aren't designed for long text.
Since they're placed on the same line as the label by default, I've moved them there for inline labels too.
An example of a hint would be an Optional hint next to the label to explicitly indicate that the field is optional.
In your screenshot you're using the hint as what should be the helper text.
The helper text always gets placed below the input, but we might add an option to place it below the label instead. This would make sense as an option for both inline and non-inline fields.
I'm going to close this PR as it's not a bug, but we can continue discussion regarding the above here if you like.

Hmm fair enough i never considered the semantics behind hint() and helperText() much, especially since it's been like that in V2.
However I do feel like putting the description / helper text under the label feels much more natural than putting it under the input itself, so I'd love to help make that an option, any API ideas? I don't personally see too many situations where I'd wanna put a hint on the same line as the label in a 1/3||2/3 layout.
But I guess that's what ->fieldWrapperView() is for then. 😂

To be honest @zepfietje I agree with @Capevace here, I think it looks bad inline when you are using the inline label. "hint" as a feature does not suggest any position, it is purely semantic, so I think we should just make it look as neat as possible rather than trying to make it consistent across layouts

Example:

I feel like those hints just belong below the label instead...

I feel like those hints just belong below the label instead...

I don't necessarily think so, but we might try.
Also, changing the field to use inlineLabel() doesn't change the meaning of the hint.
In my opinion, the hint should fit on the same line as the label just fine.
So even if we're moving the hint to below the label, my original comment still holds true.

Create an issue for implementing the option to show helper text below label: https://github.com/filamentphp/filament/issues/7265.

I feel like inlineLabel() has and should represent a different field wrapper rather than just the setting to make the label inline. This is why they were separate views in the first place. We shouldn't cower away from other tweaks to make the UI look more polished just because they appear out of scope of the original feature, they are essentially side effects

Oh the new hint position has nothing to do with the merge of the field wrapper views. I had already moved the hint when I hadn't merged the views. But as I said, I'll look into it and add a new option for having the helper text display below the label.

I don't understand why the helper text can't stay below the field, that sounds more inconsistent than just moving the hint 🤔

Because they're different things semantically.

I've thought some more on this, and I do agree that the text below the label should be helperText if semantics are strictly considered.
However I am wondering where the hint would be placed in that case. Putting it on the same line as the label seems like it would clutter the space potentially.
From a package user perspective, I feel like simply swapping the two when using inline labels may be the smoothest option and might look cleaner to a user. Put long-form help texts on the side where there's room and place the short hint under the input, clearing space to focus on the input itself.
Maybe having an option like ->inlineLabel(swapHintWithHelper: false) or ->inlineLabel(inlineHints: true) can make this relatively easy to opt-out of as well?
Just my two cents :)

I think both helperText and hint should have the ability to go under the label. I can imagine cases in which you need a message BEFORE the input field AND AFTER the input field. If both methods can be placed under the field, you can use both in those cases.

@epertinez, https://github.com/filamentphp/filament/issues/7265.


Expose version property for CustomVersioningPolicy

This allows the CustomVersioningPolicy to serialize and deserialize properly.
Otherwise when you submit a task that uses it, the version is lost when it is saved to, and then read out of, metadata storage

The CuratorDruidLeaderSelectorTest from #4699 test seems fail intermittently.  I see it failing on another PRs as well: https://travis-ci.org/druid-io/druid/jobs/271134762

I restarted the failed job.


Vue composition api

Hi,
I have a some issue with instrument code by istanbul in project with vue and composition api.
When I build project then istanbul create three coverage functions with the same path in dist folder.
First function is corect, it is for code in <script setup>. Second function has empty coverage and it is for <template>. The last one is for <style>.
Probably browser take only the last function with empty coverage. Then coverage don't work for these components.
First function:

Second function:

Third function:

Browser coverage:

Reproduction
https://github.com/lukasbrzobohaty/vite-istanbul
Steps to reproduce

npm install
npm run build
npm run start
visit http://localhost:8080, show window.__coverage__ in console and look to .../src/components/HelloWorld.vue

System Info
System:
    OS: Linux 6.5 Linux Mint 21 (Vanessa)
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
    Memory: 16.26 GB / 31.15 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 18.8.0 - ~/.nvm/versions/node/v18.8.0/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 8.18.0 - ~/.nvm/versions/node/v18.8.0/bin/npm
  Browsers:
    Chrome: 121.0.6167.160
  npmPackages:
    @vitejs/plugin-vue: ^5.0.3 => 5.0.4
    vite: ^5.1.0 => 5.1.1
    vite-plugin-istanbul: ^5.0.0 => 5.0.0

Used Package Manager
npm
Logs
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a vite-plugin-istanbul issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] The provided reproduction is a minimal reproducible example of the bug.

duplicate #96 (I think)

Hi @lukasbrzobohaty,
could you please try the new rc version released with #180 if this fixes your issue?

Closing due to inactivity.