K3os high memory usage in virtualised environment

Version (k3OS / kernel)
K3OS: v0.11.1
Kernel: 5.4.0-48-generic # 52 SMP Sat Sep 26 08:27:15 UTC 2020

Architecture

x86_64
Describe the bug

When I run K3os in KVM or Hyper-V, the hypervisors seem to measure a significantly higher memory usage than what Rancher's internal resource dashboards show. I've tried running them in both Proxmox and Hyper-V, but the issue seems to persist. It seems to be especially bad when I deploy a large number of containers.
Even when these containers should not use much memory, they still seem to make the hypervisor allocate a significant chunk of extra memory to the VM.
I've tried to use the following configurations with and without the part commented out, but that does not seem to make a difference.
#cloud-config
ssh_authorized_keys:
- "github:lordchunk"
boot_cmd:
- "echo Europe/Amsterdam > /etc/timezone"
k3os:
  # modules:
  # - kvm
  ntp_servers:
  - 0.nl.pool.ntp.org
  - 1.nl.pool.ntp.org
  - 2.nl.pool.ntp.org
  - 3.nl.pool.ntp.org
  dns_nameservers:
  - <IP_ADDRESS>
  - <IP_ADDRESS>
  k3s_args:
  - "--disable=traefik"

To Reproduce

Deploy a K3os VM with the above configuration and deploy several workloads to it.
Expected behaviour

The hypervisor and Rancher dashboard display similar memory usage.
Actual behaviour

Hypervisors observe significantly higher memory usage than Rancher's dashboard shows.
Additional context

For clarification, this is what I mean with Rancher's dashboard.

This was the memory usage at the same moment as the other screenshot.

I understand that the differences shown in the screenshot may be within a margin of error, but the gap grows with the amount of memory that is used.

Did you compare with free? Proxmox shows memory used including caches.


New version: Amazon.AWSCLI version 2.17.12

Pull request has been created with komac v2.3.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

[Policy] Needs-Manual-Merge

https://github.com/microsoft/winget-pkgs/issues/142854

https://github.com/microsoft/winget-pkgs/issues/142854


[remote tunnels] Use modal for tunnel done message

have notifications muted
enable tunnels
🤷 nothing happens... IMO it would be better to use a real modal for this message because it is an explicit action that I took

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Difficult to say. DND is doing arguably its job here. Perhaps this would be less of a common situation if we had more control over which notification sources were muted. E.g. I could mute a few extensions vs. using the full sledgehammer of DND mode, which sort of implies that you really don't want anything popping up at all.
I think modals are best used for critical/blocking interactions where a decision needs to be made right away.

I understand. Maybe it's an issue with the tunnel flow, not with notification. When in DND mode you don't see any feedback making me believe it failed to establish a tunnel

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


docs: update estimated release of the PR #1338

According to CHANGELOG.md notes PR #1338 fixing issue #1337 was expected to be released as part of the v0.6.1.
This PR updates CHANGELOG.md to reflect the new estimate.

Yes, we are affected.
Currently we fan out StoreAPI requests to HA pair without any client-side or server-side load-balancing (it's not yet feasible in our setup).
We can discuss the setup in person in 6 days :-)

Have you tried master build? (:
On Wed, 14 Aug 2019 at 18:31, Dima Scherbakov<EMAIL_ADDRESS>wrote:

Yes, we are affected.
Currently we fan out StoreAPI requests to HA pair without any client-side
or server-side load-balancing (it's not yet feasible in our setup).
We can discuss the setup in person in 6 days :-)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/thanos-io/thanos/pull/1417?email_source=notifications&email_token=ABVA3O6USXGT2SW4QGI6BN3QEQ6QPA5CNFSM4ILWU5W2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4JQ6JA#issuecomment-521342756,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABVA3O3L6IPXUCXVLNERRFLQEQ6QPANCNFSM4ILWU5WQ
.

We didn't, we were burned by tag in the past a couple of times with unexpected regressions, so, trying to be more careful with upgrades now.


getToken is not called on every Request

If I make a graphql request and my token changed internally, graphql won't recognize it.
graphql_flutter should execute getToken() before each request to make sure that the token is current.
Only updating the token on error is no solution as on my app there are multiple tokens that can be correct and if I log out of a certain context and log in to another the old token is not invalidated straight away. So graphql just uses the old token and gets old content.

mm, yeah this should definitely be configurable at least

mm, yeah this should definitely be configurable at least

I think calling getToken() on each request should be the standard as it shouldn't be a performance problem because it usually only is about copying a string from the Autoservice to graphql. The Autoservice should automatically update its token to be valid and so on ... So it could also be a performance benefit as we would not have to wait for a request to fail, call getToken() then and try it again as it is being done right now.

@lazylazyllama yeah, the api should probably allow for custom exception handling but right now it's way too presumptuous.

For now, here's a version of AuthLink that always calls getToken that probably works
import 'dart:async';
import 'package:meta/meta.dart';

import "package:gql_exec/gql_exec.dart";
import "package:gql_http_link/gql_http_link.dart";
import "package:gql_link/gql_link.dart";
import "package:gql_error_link/gql_error_link.dart";
import "package:gql_transform_link/gql_transform_link.dart";

class AuthLink extends Link {
  Link _link;
  String token;

  final FutureOr Function() getToken;

  final String headerKey;

  AuthLink({
    @required this.getToken,
    this.headerKey = 'Authorization',
  }) {
    _link = Link.concat(
      ErrorLink(onException: handleException),
      TransformLink(requestTransformer: transformRequest),
    );
  }

  Future<void> updateToken() async {
    token = await getToken();
  }

  Stream<Response> handleException(
    Request request,
    NextLink forward,
    LinkException exception,
  ) async* {
    if (exception is HttpLinkServerException &&
        exception.response.statusCode == 401) {
      await updateToken();

      yield* forward(request);

      return;
    }

    throw exception;
  }

  Request transformRequest(Request request) =>
      request.updateContextEntry<HttpLinkHeaders>(
        (headers) => HttpLinkHeaders(
          headers: <String, String>{
            ...headers?.headers ?? <String, String>{},
            headerKey: token,
          },
        ),
      );

  @override
  Stream<Response> request(Request request, [forward]) async* {
    await updateToken();

    yield* _link.request(request, forward);
  }
}

@britannio you could probably also use this

Thank you :)

https://pub.dev/packages/graphql/versions/4.0.0-alpha.2 is published, and the provided AuthLink has been simplified back to the original behavior of just calling getToken every request.
The exception handling stuff might make sense for some use cases but it is really easy to implement custom auth links


Fixes OpenXR

PR Details

Fixes OpenXR crash
Fixes OpenXR mirroring
Removes Remnants of the deprecated Fove & GoogleVR APIs

Description

Upgrades Silk.NET.OpenXR from 2.15.0 to 2.17.1

Related Issue
https://github.com/stride3d/stride/issues/1909
Motivation and Context
It fixes OpenXR, and cleans things up.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

LGTM but @tebjan has far more experience with VR stuff, so just waiting on his approval.

@arturoc would you have time to take a quick look at this?

Yes, I've been busy these last few days but can take a look next week

Don't have any XR to test this out but OpenVR still works as expected. @arturoc seems quite busy, so I say we merge this in. It can't be worse than the current state of XR anyway.

Thanks, and sorry for the delay @MaximilianEmel !

FYI, this pull broke the OpenGL code because Silk.NET had breaking changes from 2.15.0 to 2.17.1
Opening the Stride.Android.sln will be the easiest way to see what broke.


[test] Test fix for platforms like s390x

This fix has already been merged in master (https://github.com/apple/swift/blob/master/test/IRGen/clang_inline_opt.swift) from commit https://github.com/apple/swift/commit/56318f3e1f6b73d5217de8ee28a2bcf19517bcfa#diff-55b9807777157809ac141c08ac044ac7. It adds supports for s390x and powerPC. I am now pushing it to branch 5.0.

To clarify, this is just one part of the fix for SR-9413. This is completely safe and I'll approve it for Swift 5.0. Tracking internally as rdar://problem/47984586

@swift-ci please test

thanks @bob-wilson


[in_app_purchase] Add documentation for price change confirmations

The Android and iOS plugins for in_app_purchase added features to handle price change confirmations. This PR adds the explanation to the readme of the generic package.
This PR is a WIP/Draft as the iOS feature is not completely finished yet.
Android: PR #4077 and issue flutter/flutter#85038
iOS PR #4085 and issue flutter/flutter#85129
Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the relevant style guides and ran the auto-formatter. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[X] I signed the CLA.
[X] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[X] I listed at least one issue that this PR fixes in the description above.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@mvanbeusekom I also added the code that actually calls the price change function: https://github.com/flutter/plugins/pull/4092/commits/4b62107df09d8ed42b7676de791ada30640c48de#diff-4a28c57f2e830b968dfb575e9152d91d12d3d276641696552e79df589daa1291L261-R263


Monthly update for December 2021

@mbasmanova thanks for the feedback. I address the comments. Can you take another look? Thanks.


Add ptemcee sampler

Feature Request
Is your feature request related to a problem? Please describe.
No. I would like to add the ptemcee sampler as an option:
https://github.com/willvousden/ptemcee
Describe the solution you'd like
The addition of the sampler
Describe alternatives you've considered
There are no alternatives
Teachability, Documentation, Adoption, Migration Strategy
I will simply add it.

I've decided against this in the end as it is not maintained well.


fix(action): Fix public action

What this PR does / why we need it:
Add your description
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @gaocegege

Release note:

NONE

/lgtm


Fix query to only pull requested data

Tracked by #15

Started implementing. Next step is to pass the correct stuff into the search parameters.
{t:60}

Search parameters are correct. Next steps:
-Query FOD_FPA by default
-organize additional details by categories
{t:60}

Spent a bunch of time getting additional details to only show the collumns that are in the categories selected. Unfortunately our collumns don't line up exactly with the excel sheet provided so I will need to clean it up still.
{t:165}

Sorting the data points by category is very tedious. All of the functionality is done the data just needs to be cleaned.
{t:110}


"R" raises an exception when following through a one-to-many relation

I have the following model structure (approximately):
USER = get_user_model()

class Company(models.Model):
    #fields omitted for brevity

class Staff(models.Model):
    company = models.ForeignKey(Company, on_delete=models.CASCADE)
    user = models.ForeignKey(USER, on_delete=models.CASCADE)

and a permission perms["core.view_company"] = R(staff__user=lambda user: user)
I'm creating API endpoints using Django REST Framework, integrated with bridgekeeper as per the documentation. DRF view is a bog-standard ModelViewSet, DRF serializer is a bog-standard HyperlinkedModelSerializer.
Django version: 3.0.3
bridgekeeper version: 0.9
When accessing the API endpoint for a specific company (e.g. /api/company/1/) I get the following exception from bridgekeeper:
Traceback (most recent call last):
  File "C:\Anaconda3\lib\site-packages\rest_framework\views.py", line 343, in check_object_permissions
    if not permission.has_object_permission(request, self, obj):
  File "C:\Anaconda3\lib\site-packages\bridgekeeper\rest_framework.py", line 166, in has_object_permission
    return self.get_permission(request, view, obj).check(request.user, obj)
  File "C:\Anaconda3\lib\site-packages\bridgekeeper\rules.py", line 203, in check
    return self.left.check(user, instance) or self.right.check(user, instance)
  File "C:\Anaconda3\lib\site-packages\bridgekeeper\rules.py", line 322, in check
    field = lhs.__class__._meta.get_field(

Exception Type: AttributeError at /api/company/1/
Exception Value: type object 'RelatedManager' has no attribute '_meta'

Note that this exception is not raised when accessing /api/company/ (the correct list of companies is returned)
It seems that the R syntax in bridgekeeper can't handle following relationships backwards through a many-to-one relationship (although I think it might work if the many-to-one is at the end of the chain?).
Unless I'm doing something wrong, I think this is inconsistent with the Q and filter syntax in Django. For example, Company.objects.all().filter(staff__user=user) returns the expected set of companies. So I'm logging it as a bug!
In the meantime, I'm achieving the same thing with In(lambda user: set([staff.company for staff in user.staff_set.all()])) but I'm guessing this is less efficient.

So I realised today that I had missed a line in the documentation here that says:

If the argument refers to a foreign key or many-to-many relationship, another Rule object.

That made me realise that I should really have been doing perms["core.view_company"] = R(staff=R(user=lambda user: user)) which worked as I expected.
That in turn made me realise that this conversion could actually be automated inside R.check! So I've made PR #23 which does that conversion and added some tests to cover the case. I hope it's a useful contribution!


Add colorized bracket highlighting colours

This PR fixes #132493
As suggested in this comment by @hediet.
This shows an preview of what these colours would look like (generated from adding these settings to my local settings.json file.

edit by @hediet:
With default colors:

Without bracket pair colorization:

Thanks! Can you post a before/after screenshot of the same code region?

Ah, I've already added those screenshots to the issue that I raised, with the bracket colorization off and on too.

@roblourens what do you think?

Not me :)

I don't think that individual themes have owners. You could run it by @misolori if you want another opinion

@misolori What do you think?

Here's a snapshot of the theme colors + bracket colors with the original vs the proposed colors:

I'd probably keep the bracket colors closer to the original so this is what I would suggest:

Before

After

The reason I selected the white colour was because that was what the standard colour of the brackets without any bracket pair colorization. I would also caution against using the blue colour as it's the same colour as the text, which somewhat removes the benefit of colour differences in IDEs.

The reason I selected the white colour was because that was what the standard colour of the brackets without any bracket pair colorization

Doesn't this conflict with the feature? I think we'd want to mirror the original as close as possible while still matching the theme

I would also caution against using the blue colour as it's the same colour as the text, which somewhat removes the benefit of colour differences in IDEs

Fair point, I think an alternate color can work here as well

Doesn't this conflict with the feature? I think we'd want to mirror the original as close as possible while still matching the theme

I think it is actually not a bad idea to use white as one of three (or more) colors for specific themes: This feature is all about being able to see matching bracket pairs, not neccessarily about highlighting brackets from text.
The original extension does not support themeable colors anyway.

@misolori Is there anything I can do to get this over the line? What's the blocker here?


Profiles

@viktor-yakubiv Let me explain the idea behind this. I was thinking about distinguishing dev and production API URLs. Obviously we could do it simply by checking env variable. But I decided to propose something different - changing API dynamically.

Three profiles are created localhost, staging, and production and you can switch between them dynamically.
The localhost profile may be quite powerful especially for our backend guys. They don't need to push bugfixes and deploy to dev to check whether it was fixed or not.
The profile is stored in session storage which means it gets removed after tab is closed. No need to switch back to the default profile.
No need to restart the server to use different API URL.
We can use profiles for storing text/images CDN too.

Please let me know what do you think. This is more like a proposal. It doesn't have to be merged. Also, it's not finished. I need to find a better place for profile switch also it should be shown only for admin users. I just need to know if it is worth to continue.
NOTE: You will need to run this code sample on localhost for the time being. now.sh is considered as a production env. I need to change it.

Is not this outdated?

It is. I am gonna close it. As only I was excited about this feature. 😄


Resolve-Error -Last 2 => says the error is in Resolve-AZerror

If you run the new Resolve-Error, and erroneously use "-Last 2", you get an error which incorrectly identifies the cmdlet as Resolve-AZError
Steps to reproduce

Download Daily build 7.0.0-daily.20191008
2, Type The following

Resolve-Error -Last 2

I would have expected to see the cmdlet with the error to be identified as Resolve-Error..
Actual behavior
PS [C:\foo> ]> Resolve-error -last 2
Resolve-AzError: A positional parameter cannot be found that accepts argument '2'.

Environment data

PS [C:\foo> ]> $PSVersiontable

Name                           Value
----                           -----
PSVersion                      7.0.0-daily.20191008
PSEdition                      Core
GitCommitId                    7.0.0-daily.20191008
OS                             Microsoft Windows 10.0.18995
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.10032.0, 6.0.0, 6.1.0, 6.2.0, 7.0.0-daily.20191008}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Az.Accounts module has the Resolve-AzError cmdlet and its alias Resolve-Error.

Unfortunately, the Az module has Resolve-Error alias.  Maybe that is a good reason to avoid Resolve-ErrorRecord, however, we did take rve alias :)   cc @theJasonHelmick

So my bad!
But I do prefer the name is Format-ErrorRecord


Submitting an expense with >255 receipt filename results in "Errorvalue too long for type character varying(255)"

Describe the bug
I've tried to submit an expense for https://github.com/NixOS/foundation/issues/83 but was unable to due to the following error appearing when clicking "submit expense"

I took a screenshot of a GitHub issue to upload as the expense receipt, but the filename was larger than 255 chars, resulting in the error. The solution was to
mv "Screenshot 2023-09-05 at 11-09-27 Funding nix.camp 2023-09-24 to 2023-10-01 · Issue #83 · NixOS_foundation.png" funding.png

@MatthewCroughan thanks for documenting this issue :heart:
I suggest fixing this is in the API by truncating the filename if too long and storing the non-truncated version in data.originalFilename.

This has been resolved in https://github.com/opencollective/opencollective-api/pull/9503


OmniSharp did not start(v1.0.10)

When I opened the csharp project generated by dotnet new,OmniSharp did not boot.Only the following line was displayed in OmniSharp log.
[INFO] Starting OmniSharp at 'c:\src\vscode-test'...

I tested another version,then 1.0.8 or previous were ok,but 1.0.9 or later were not working.
my environment is:

windows 8.1(64bit)
vscode 1.1.1
having http proxy

set http_proxy and https_proxy

@itn3000, does the latest (1.0.11) work for you?

@DustinCampbell I'm afraid it was not worked(same as 1.0.10).
I ran the extension from source,then I get the following error:
'C:\Program Files (x86)\Microsoft VS Code\Code.exe' --debugBrkPluginHost=46392 --extensionDevelopmentPath=g:\src\gitrepos\omnisharp-vscode

Loading development extension at g:/src/gitrepos/omnisharp-vscode
[g:/src/gitrepos/omnisharp-vscode]: Overwriting extension C:/Users/ito/.vscode/extensions/ms-vscode.csharp-1.0.11 with g:/src/gitrepos/omnisharp-vscode.
[OmniSharp]: Installing to g:\src\gitrepos\omnisharp-vscode\.omnisharp
[OmniSharp] Attempting to download omnisharp-win-x64-net451.zip...
Uncaught Exception: Error: connect ETIMEDOUT <IP_ADDRESS>:443
Error: connect ETIMEDOUT <IP_ADDRESS>:443
at Object.exports._errnoException (util.js:890:11)
at exports._exceptionWithHostPort (util.js:913:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1061:14)
Uncaught Exception: Error: socket hang up
Error: socket hang up
at createHangUpError (_http_client.js:239:15)
at TLSSocket.socketCloseListener (_http_client.js:271:23)
at emitOne (events.js:95:20)
at TLSSocket.emit (events.js:182:7)
at TCP._onclose (net.js:477:12)
ApplicationInsights:Sender
Array[1]
0:Object

I guess the nodejs's 'http' module does not support proxy?

I think using request module is better than use 'https' module.
'github-releases' module also uses it.

I believe this should be fixed with this PR: https://github.com/OmniSharp/omnisharp-vscode/pull/350


Missing Implementation of BsonDocument.CopyTo

Just stumbled upon this in BsonDocument class
public void CopyTo(KeyValuePair<string, BsonValue>[] array, int arrayIndex)
{
   throw new NotImplementedException();
}

Is this an unsolved problem or just a bug?
Because it also prohibits List.AddRange I was forced into a verbose workaround :-)
 <bson document>.Aggregate(new List<KeyValuePair<string, BsonValue>>(), (l, kv) => { l.Add(kv); return l; });

Yes, it´s missing by "auto-implement" interface by visual studio auto. I will fix soon or if you want contribute, please make a PL :)


a+=b vs a=a+b : clarify the difference is not universal

Made the text say it depends on class, and rest of explanation talk of lists, not objects.

Thanks! Merged :+1:


Add new gpt-4o-mini

Pls add gpt-4o-mini support, openai giving new api video + photo supported

Added with v2


Issue with pulling multiple value field into keycloak user storage.

Hello, I'm trying to have a user attribute I have named Roles. From the saml IdP we pull in roles or role and place the value in user_storage under Roles. I also have singular-keycloak-database-federation in use to pull values into keycloak, including what my company uses as application roles. Here is where my problem lies... On initiating connection to IdP from application, I log in, and then I'm redirected back to my application. I have a testing application that displays the information of the openid user_information, token, etc ( openid-connect-client ). Anyways, the problem I'm having is the values from the IdP and the DB are not merged together. For the IdP the value returned shows values separated in json array. However the values from the database, because of multivalued are shown as a long string of "roles" separated by ## values. Example:
"roles": [
"Role1",
"Role2##Role3##Role4##Role5",
"Role6"
]
What I was expecting was:
"roles": [
"Role1",
"Role2",
"Role3",
"Role4",
"Role5",
"Role6"
]
Is this an issue with keycloak 20? Is this something I have done wrong/incorrect? Please advise.

I think I have some testing that I would like to tell you about.  When experimenting with the db provider returning attributes.  I setup  singular-keycloak-database-federation.  What I'm doing against the oracle database is I select out id, firstName, lastName, email from the database, but I also have some user attributes output I will call this dbroles.
With this running - I query for a particular user.  However what I return in select as dbroles is a multi value string.  Here is an example....
CalgaryUser##EdmontonUser##RedDeerUser##value1##value2##value3##value4
I have as well added idp to map to this variable as well, it seems to work as in UI I see the values together with the '##' separator.
Now here is the issue - when mapping this user attribute out I see the value as "dbroles": [ "CalgaryUser##EdmontonUser##RedDeerUser##value1##value2##value3##value4" ]
I can confirm this by using postman and talking to the Rest API and query for the user.  The list shown in postman shows again as:
"dbroles": [
"CalgaryUser##EdmontonUser##RedDeerUser##value1##value2##value3##value4",
"ValuefromIdP"
]
Worse still - if I go to the user and add a junk variable called "test" and value "12345" AND THIS IS IMPORTANT - HIT SAVE.  Now EMAIL_VERIFIED = false and ENABLED = true is shown.  The dbroles looks the same, however on query in Postman/Rest API - dbroles looks now like this....
"dbroles": [
"CalgaryUser",
"EdmontonUser",
"RedDeerUser",
"value1",
"value2",
"value3",
"value4"
]
The proper value in rest api I would have expected.  If someone can give me some advise here, it would be appreciated.  Can some testing like I have outlined be done to confirm what I'm seeing/doing is correct and how do I fix so it works consistently.


CoalescePropertyScema

A property schema that receives multiple property schemas and returns the first schema that returns a value

Cool!
Get Outlook for iOS
On Mon, Aug 8, 2016 at 11:49 AM +0300, "sbarzilay"<EMAIL_ADDRESS>wrote:
A property schema that receives multiple property schemas and returns the first schema that returns a value
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Maybe think of a more elegant way to initialize other than:
...
"coalesce": true,
...


[GT-2505] Add NewRelic configs

https://jfc-dcd.atlassian.net/browse/GT-2505
What happened 👀
Insight 📝
Proof Of Work 📹

I do not work on CI/CD much so please tell me if I do anything wrong 🙈


missing privilegie on player when all settings is default

any player can be use biome so info for commit is wrong
https://github.com/SkyBuilder1717/essentials/commit/dddf0403f1a66b717a319cf8dc1499c4e7e167c8
the source code does not forced a privilegie.. that's why i leave blank and added note observaztion.. check line 174 on commands.lua only line 184 has a privs check ..
essentials/commands.lua
Line 182 in dddf040
if minetest.check_player_privs(name, {server=true}) then
this is a bug or not? can you explain?, i mean i leave blank cos means player does not need provilegie if settings are enabled (and i confirmed any player can send biome command)

not bug. because more info is for developers


[Adding feature] Add Fetch original article API endpoints into n8n nodes miniflux

Hi,
First, I would like to thank your work for this n8n node that is working very well.
I would like to suggest adding the feature to Fetch original article https://miniflux.app/docs/api.html#endpoint-fetch-content so we can have the full article in the API, and not the first lines of it.
Here is an example with an article from The Register :

Here is the content inside n8n miniflux node:

We can see that the content output shows only the beginning of the article.
Here is the content using the Fetch original article in the API :

By using fetch original article we can get the full content of the article using the API.
This feature combined with your work with Plain Text option can be a great way to gather full articles in n8n.
Thanks,

Sounds like a great idea @NeZios, thanks for the suggestion! I'll have some free time next week and give it a try.

Thank you very much, keep us in touch! 🙂

This has been added with https://github.com/that-one-tom/n8n-nodes-miniflux/commit/b71f9bcfe27c2850d6ad0d771aca1c488410b905 and the latest node version is now available through NPM as well: https://www.npmjs.com/package/n8n-nodes-miniflux

One thing worth noting is that I couldn't get the community node update functionality in n8n to work. So I had to uninstall the previous node version through n8n's Community nodes page, then install the new version. I also had to re-start my n8n instance for the new option to show up.

Thank you very much! I am gonna try that this weekend ! 👍

Hi @that-one-tom
So, the update works great.
However I am getting the error : The service was not able to process your request [item 3]
fetcher: access forbidden (403 status code) every time my limit is superior or equal to 3 items.
Can you confirm me that is normal ? I would like to get 5 items.
Thanks!


Calendar Widget

We would like to use the same widget for another 3rd party site. In this example, another web site in the region of Outaouais is called "MRC Collines-de-outaouais".
Features to add to html for installing the widget on another website:

config to hide the navbar for event/workshop/organization
config to keep event list open rather than opening/closing like on toutculture.ca
links to "view all" on toutculture.ca should have the same number of total hits in both places
config to set a filter by region ie. Tout culture wants to show only events and workshops in the region "collines-de-outouais".
config to open new tab/window when clicking events or any click leaving the widget.  The Toutculture.ca site should open full screen (not inside the 3rd party site).

Additional request from Minimal for the search widget:

session cookie storage of the current search term, tab (event, workshop, org) and date or date range so that a new page load does not erase the search settings in progress.
Adjust the thumbail image to use the image's natural aspect ratio (remove fitimage: cover) but still set the max height.

@SyamBabu-M please assign this issue to me after you do the estimate.

@troughc I have some doubts regarding this tickets. Can we discuss this in todays standup?

@saumier https://docs.google.com/spreadsheets/d/1NgK_C-MSRr4qEwTDhSCDiOtU6bfrq_eyKe7ZjKRcw7s/edit#gid=0

Estimate of 24 hours by Syam.

@SyamBabu-M I have updated the Readme with my suggested parameters and created a PR here https://github.com/culturecreates/minimal-footlight-search-widget/pull/82
Please review and let me know if you have any questions or ideas to do the configurations differently. You can merge the PR if you agree with the changes.

@saumier I have merged the PR. The suggestions looked great to me.

@troughc Is the design for this completed?

@saumier @troughc
http://demo.staging-tout-culture.s3-website.ca-central-1.amazonaws.com/
http://staging.minimal-footlight-search-widget.s3.ca-central-1.amazonaws.com/v2/test-dist.html
please use these links to test the widget.

@troughc The link with the 3 tabs is relevant because it is the new widget that will be seen on toutculture.ca.  So we need to test that the new widget works in both places at the same time.
I will update the parameters on the test page to show FR and the  region "collines-de-outouais" but it will take me a bit of time. I'll ping you when it is done.

The region ID for collines de l'outouais is 63bc0b2d1c6b6c005aad5253

@SyamBabu-M I did some testing and there are things that need to be fixed.  Below is my list divided into MUST FIX and NICE TO HAVE.  Please only do the must fix and after you have tested the must fix and you still have time then you can work on the nice to have.
MUST FIX

Unable to configure the filter by region. The widget must be configurable to only show events from the region "collines de l'outaouais".  This should be configurable with the parameter data-search-events-filter='&region=63bc0b2d1c6b6c005aad5253&exclude-type=64776b93fbeda20064d2332f'. There are today only 3 events and no workshops. Test by comparing with this result: https://toutculture.ca/filter-evenements/?region=63bc0b2d1c6b6c005aad5253
concept ids for event filters must no be hardcoded. You currently hardcode "type=64776b93fbeda20064d2332f" and "exclude-type=64776b93fbeda20064d2332f". These should be passed in to the widget using parameters like data-search-events-filter. You will probably need to add a new parameter for workshops like data-search-workshop-filter.
there is a delay when clicking the search box. It appears that the throbber starts and only after about 1 second then the Footlight API is called. The API should be called right away when you click on the search box, and only while the person is typing should there be a debounce.

NICE TO HAVE

The parameters inline and float are backwards. The float is when the search results are in a layer above the webpage, inline is when the search box and results all appear in the page together. The default is "float" so it remains compatible with toutculture.ca.
There appears to be only 9 events listed, but the API call has a limit of 10. Why are we only displaying 9 of the 10? Either the limit is decreased or the display increased.

The footer label says no events are found, but there are events.  Label is incorrect.

@troughc I tested and it looks good. I am pushing to production.

@SyamBabu-M Please add links that you found here, and your thoughts on pros and cons.  Also, please try to setup a test page with the iframe passing the parameters.

@saumier you can access the test page using the link given below.
http://staging.minimal-footlight-search-widget.s3.ca-central-1.amazonaws.com/v3/test-iframe.html

test according ot the MRC story:

when you click results, open in a new tab
inline
uses iFrame
limiting set of filters (targets third party website)
No organizations

@SyamBabu-M What is the status?  I need to let the client know when they can start using v3 on the Minimal site.  Does the default click in production now open in the same window?

@saumier I have added a PR

@troughc Have you tried the widget on MRC with the click opening in the iframe instead of opening a new window? It is interesting. Maybe even better? Try it out and let me know what you think.

@saumier in my marketing experience  customers (i.e. a customer like Tout Culture) often use a widget like this as a way of:

promoting events
promoting their own calendar
So having the calendar open on another tab helps bring traffic to the Tout Cutlure website.
But, I can also talk with Isabelle at Tout Culture about this to get her feedback directly. Because it is interesting.


Docs - DOC-1332 - Adds VS 2019 support

Tested with improbadoc

There's still a 2017 reference here.

Also, someone should run the set-up to ensure that our recommended Workloads ares still accurate.

I think that reference is ok because we still offer 2017 as an option?


chore: fix syntax error in owlbot.py

I'm going to block this PR temporarily while I work on a solution for the review comments

Superseded by #372


name k2 container based on deployment.cluster

at present since container names are randomly generated, and k2cli times out, it's possible for me to have two containers running a cluster up and a cluster down simultaneously; this should make those cases collide
also this makes it easier to script / grep for which container's logs to follow

lgtm


Unexpected "Transaction ID us already in use"

My Environment

ArangoDB Version:                  3.6.5
Storage Engine:                       RocksDB
Deployment Mode:                 Single Server
Deployment Strategy:             Manual Start in Docker
Configuration:
Infrastructure:
Operating System:                  ArangoDb in Docker
Total RAM in your machine:   16gb
Disks in use:                            ssd
Used Package:                        Docker - official Docker library

Hello
I used Stream Transaction in my project.

I call transaction begin API and lock all my exhisting collections to write.
I try to get document with transaction header.
Sometimes I have unexpected error like "transaction '123' is already in use. ErrorNumber: 28 HttpStatusCode: 500"
I don't understand why it happens, because in this momemnt only trunsaction '123' is running and i don't try to create new one (check with get transaction list API).
In documentation I could found out that error 28 rises when resource is locked, but in my case I tried to read with RocksDB engine.
This exception raises unexpectedly, sometimes all runs good, sometimes not. Db located in my local machine that's why only my code use it in one moment.
Now I resolved this problem with retries policy, but I'd like to know the reason of this behaviour.

UPD. Okay, this problems didn't resolved with retries policy.
Now I try to read data from db about 5 times with exponential wait policy, but sometimes even 5 retries aren't enough.

This problem was supposedly fixed in 3.6.5:

Fixed issue ES-609: "Transaction already in use" error when running
transaction.
Added option --transaction.streaming-lock-timeout to control the timeout in
seconds in case of parallel access to a streaming transaction.

Is your Docker image have this exact digest? (It's possible that the initial release was updated shortly after)
https://hub.docker.com/layers/arangodb/arangodb/3.6.5/images/sha256-60d87c56940e9b995f4d1b2a41677a224f2042db2857f770df20fa81227e8618?context=explore
In general, you should avoid sending operations for the streaming transaction in parallel (e.g. async on the client-side), because the server has to serialize the operations anyway. You could try to increase the streaming lock timeout to see if that has an effect:
https://www.arangodb.com/docs/stable/http/transaction-stream-transaction.html#limitations
Can you share details about the transaction operations you use?

@aunikitin Did you have a chance to look into this again?

@Simran-B after your comment we removed all parallel query to arango with same transacation id header. Now observing if problem will arise again

@aunikitin Alright, I'll close the issue for now. Please re-open if you encounter the problem again.


Out out damm deprecations

Thanks!!

Updated as per comments.
Got to love 1 liners that take 3 hours to track down…
To be fair, that's what I was going to do 3 hours back but I wanted to figure out why it was breaking!

LGTM

Released as v1.5.2


Pretty much everything about the path handling functions is wrong

For example, link generation and even the locations of generated files are nonsensical when using the "-o" switch.

This should have been filed against Harbored. I AM SMART.


tests: remove locker waits

@pavelfeldman we are getting a consistent fail on ShouldBeAbleToCaptureAlert.
It seems that now with the wait message we are sending we introduced a race here
var popup = await popupTask;
var dialog = await popup.WaitForEventAsync(PageEvent.Dialog);

I'm getting the dialog before being able to wait for the event
{"guid":"page@c07698ba5ae9a2c4cff3dab3c9b39504","method":"__create__","params":{"type":"Dialog","initializer":{"type":"alert","message":"hello","defaultValue":""},"guid":"dialog@f4690f10a5efec721f53ba98f709a5ff"}}
{"guid":"page@c07698ba5ae9a2c4cff3dab3c9b39504","method":"dialog","params":{"dialog":{"guid":"dialog@f4690f10a5efec721f53ba98f709a5ff"}}}
{"guid":"frame@649140d84a56940fcf64a3420af626d0","method":"loadstate","params":{"add":"domcontentloaded"}}
{"guid":"page@c07698ba5ae9a2c4cff3dab3c9b39504","method":"domcontentloaded","params":{}}
{"guid":"frame@649140d84a56940fcf64a3420af626d0","method":"loadstate","params":{"add":"load"}}
pw:channel:command {"id":73,"guid":"page@c07698ba5ae9a2c4cff3dab3c9b39504","method":"waitForEventInfo","params":{"info":{"apiName":"page.WaitForEventAsync(\u0022Microsoft.Playwright.IDialog\u0022)","waitId":"4a2e1757-d588-46a0-a58f-348aac2076ad","phase":"before"}},"metadata":{"stack":[{"file":"/Users/neo/Documents/Coding/Personal/playwright-sharp/src/Playwright.Tests/PageEventPopupTests.cs","line":89},{"file":"C:\\Dev\\xunit\\xunit\\src\\xunit.execution\\Sdk\\AsyncTestSyncContext.cs","line":58},{"file":"C:\\Dev\\xunit\\xunit\\src\\common\\XunitWorkerThread.cs","line":37}]}}

I'm getting the dialog before being able to wait for the event

Re-do the test via popup event


Copy and Paste uses ctrl+c/ctrl+v by default and cannot be changed

I have read the FAQ.
I have searched in existing issues.
Environment

OS: macOS 11 Big Sur
scrcpy version: 1.16
installation method: Brew
device model: Huawei Mate 20 Pro
Android version: 10

Describe the bug
I use a mac, so copy and paste is carried out by cmd+c/cmd+v. When using scrcpy, it uses ctrl+c/ctrl+v instead, and this gets annoying. I have already attempted changing the shortcut modifier key using the following terminal codes:scrcpy --shortcut-mod=lctrl, scrcpy --shortcut-mod=lctrl+lalt,lsuper, scrcpy --shortcut-mod=lsuper, scrcpy --shortcut-mod=lalt, but it's still using ctrl+c/ctrl+v for copy paste.

Cmd+c and Cmd+v should inject COPY and PASTE.
https://github.com/Genymobile/scrcpy#copy-paste
To test, try:
adb shell input keyevent KEYCODE_COPY
adb shell input keyevent KEYCODE_PASTE

If this does not work as expected, see #1771.


readOnlyChainId should be active when UnsupportedChainIdError is thrown

https://github.com/TrueFiEng/useDApp/blob/00a3181a01b9887d59debc8088fb85dd194a58b1/packages/core/src/hooks/useEthers.ts#L59
I was thinking the default should be the readOnlyChainId even when UnsupportedChainIdError got thrown...
Isn't that how web3-react behaves?

Or anyone knows any solution to have the UI continue reading even when the wallet is connected to an unsupported chainId?

I'm taking a different approach


not discovering tag - tried on two separate devices.

I have tried the code in this repo with both a mac and an intel edison and it fails in the same way.  I am using a 2560 tag.
^Cgreglakomski@Gregs-MBP:~/Sensortag/iot-sensor-tag/publish$ node sensor-tag.js
Device MAC Address: 00249b063352
Make sure the Sensor Tag is on!
MQTT client connected to IBM IoT Cloud.
And it sits here.  It is entering the device.discover function but is not discovering.

If I navigate to noble and run test.js the mac sees the tag

After recloning the iot-sensor-tag repo yet agin, I checked for out of date packages.  There were several including sensortag.  I forced the install of the current packages and it looks like the sensor tag is now being recognized.  Unfortunately, Bluemix is no longer connecting to my powerbook so I can't tell whether the issue has gone away.

If there are newer packages that work, please submit a pull request

Ok.  Can you explain : client errorError: Connection refused: Not authorized

Can you provide guidance on how to do pull request on cloned repo.  I found instructions based on a forked repo.  I am not a github expert.

A not authorized error would indicate that you are not supplying the correct credentials when making a connection to the IoT service.
You can only submit a pull request based on a fork of a repo.

Ryan,  when the repo is cloned and npm install is executed, both sensor tag and mqtt come up with wrong versions.
Package    Current  Wanted  Latest  Location
mqtt         1.3.5   1.0.5   1.3.5  mqtt
getmac       1.0.6   1.0.6   1.0.7  getmac
sensortag    1.0.2   0.1.9   1.0.2  sensortag
I updated to the above versions in order to get sensor tag to be discovered.

@stumpygreg see #6.  I will merge these changes in soon


I always wanted to parse parse vim colors schemes for usage in themes

Please excuse my unpythonic ways. This is my attempt at merging a script I previously wrote for parsing vim themes (https://github.com/97-109-107/gvim-to-xcolors) because I was an avid user of themer anyway.

whoops, I seem to have completely missed this. I'm sorry, I'll check it out now.

continued in #19


use constructor

Nice to have. Will merge later. Now constructor still have problem with abigen in tomochain codebased.

right, I was wondering about how the code will be shared between node and the dapp. would it make sense to add test for solidity validator code only?

yep, need some pull request for tests for solidity codes.
Dapp read/write data to smart contract via EVM in node. Consensus will be read Smart Contract to know who is masternode. The first one is done, but the second one is developing, will done soon.

It fixed in #86


epinio app manifest should update routes

This is a fix for this comment: https://github.com/epinio/epinio/pull/942#issuecomment-958733119
Let's wait until #594 is done to avoid conflicts and fix it only once.

The domain configuration is, AFAICT the routes field of ApplicationUpdateRequest. Should be mapped to the yaml key configuration.routes.

Confirmed missing. Ok,time to investigate, because I saw the yaml tags on the structure, would have expected it to be marshaled.

Ah. Data not yet returned by the server.

Needs to be fixed in application/application.go, fetch().
Yep. Use ListRoutes(). from the ingresses.go sibling.

No. ListRoutes is for the active routes of a running app. Need something new for the routes of an app at rest.
... Lets look at #954 if that already got something for this.

No.


Dead Link

The link to the Tractus-x linters is wrong. The affected page is this one. The link is located under the notes section at the bottom of the page.

Hi @LuisRickert :) do you know where should that link point to? currently it looks like is trying to access a file in the docs/kit-process/processes/ folder but with a bad ending afterwards: https://eclipse-tractusx.github.io/docs/kit-process/processes/"https://github.com/eclipse-tractusx/eclipse-tractusx.github.io"
However, in the processes folder there is no file that refers to the linters

I think it should to the readme in the root directory, there are the linters mentioned or to implemented linter directly,here.

Thank you @LuisRickert! What do you think @danielmiehle @maximilianong?

As discussed the mentioned Link is been  removed of the Notes list
@LuisRickert can you close this issue?


Many to many relationship

Can you update the example to provide a many to many relationship? I haven't managed to make it work. In the meantime if I succeed I will make a pull request.

May not be your problem, but I had to do something different to get a many to many working (and from what I was reading this would apply to a one->many from the one side):
func addRelatedItem(value: NSManagedObject, forKey: String) {
  var items = self.mutableSetValueForKey(forKey);
  tems.addObject(value)
}


Update CLI.md

guidance scale must be >1.0

Another case in which github doesn't let me use its web interface to rebase the changes! I'll take care of it when I'm back at my desk.


¿Can be used in sublime text?

¿Color picker can be used in sublime text 3?  or could only be used in atom thanks

Sorry, color-picker is made for Atom.


Additional Scores: AUC, NDCG

For MIND we only compute MAP & MRR, while their leaderboards main scores are AUC & NDCG & MRR.
We should also compute AUC & NDCG.

I assume we are referring to reranking. I believe this issue is resolved so will close it for now.

Not sure this is resolved 🤔 Below a results file from MindSmallReranking I just ran & it does not have nDCG or AUC.
{
  "dataset_revision": "59042f120c80e8afa9cdbb224f67076cec0fc9a7",
  "evaluation_time":<PHONE_NUMBER>694702,
  "kg_co2_emissions": 0.06074708882090688,
  "mteb_version": "1.12.75",
  "scores": {
    "test": [
      {
        "hf_subset": "default",
        "languages": [
          "eng-Latn"
        ],
        "main_score": 0.3180987098530169,
        "map": 0.3180987098530169,
        "mrr": 0.32850986128284615,
        "nAUC_map_diff1": 0.07233267473926527,
        "nAUC_map_max": -0.22122063033450423,
        "nAUC_map_std": -0.07678253863346561,
        "nAUC_mrr_diff1": 0.07387378953198852,
        "nAUC_mrr_max": -0.17009134675867302,
        "nAUC_mrr_std": -0.048568851419476304
      }
    ]
  },
  "task_name": "MindSmallReranking"
}


DataNode shapes

Metabolite DataNodes should have a different shape (such as Rounded rectangle), compared to GeneProducts; they are now both rectangles and can only be differentiated by means of colour (which is not that machine readable).

Fixed by https://github.com/PathVisio/pathvisio/pull/121/commits/4c2079df7f5fa954cbf9ff94f8b5624999491557


Dep update Github Action fails on Update jsonnet dependencies

Bug description
Here is a sample job run that is failing
Steps to reproduce
Run the job (I ran it three times and they all failed)
Interestingly, the same steps pass from within a Gitpod workspace.
Expected behavior
It would ideally pass
Example repository
No response
Anything else?
It runs successfully from a Gitpod workspace. :thinking: Perhaps it is related to Github Action runner changes? Ref

the CI fails because it ends with exit code 1 if there is nothing to update. I'm running the script manually inside a workspace and I can see that nothing is being updated, besides the jsonnetfile.lock.json file.

Can you echo a message on failure, so folks know why the job failed? This way they get feedback from the job, without having to troubleshoot it in a workspace.

Are you sure that the PRs making changes to dashboards were merged before you triggered the CI here?

I recall trying to run this to update SLOs in Pyrra. Perhaps this is the wrong workflow? I was not trying to update a dashboard...doh! What workflow updates Pyrra? Sorry...

the CI fails because it ends with exit code 1 if there is nothing to update. I'm running the script manually inside a workspace and I can see that nothing is being updated, besides the jsonnetfile.lock.json file.

Can you echo a message on failure, so folks know why the job failed? This way they get feedback from the job, without having to troubleshoot it in a workspace.

That's a very good idea! Let me open a PR

Are you sure that the PRs making changes to dashboards were merged before you triggered the CI here?

I recall trying to run this to update SLOs in Pyrra. Perhaps this is the wrong workflow? I was not trying to update a dashboard...doh! What workflow updates Pyrra? Sorry...

SLOs are managed by ArgoCD, e.g. the workspace-slos app. We tried to document that in the architecture page 🙂

Thank you for clarifying how SLOs ship!


A Ruby HEREDOC being handled incorrectly

After a HEREDOC string early in this file, most of the file is highlighted incorrectly as one long string with interpolation. Here it is in a gist, and I'll inline it as well.
https://gist.github.com/justinforce/95523af264c25ac9ea9a
#!/usr/bin/env ruby

require 'io/console'

begin
  require 'trollop'
rescue LoadError
  warn <<STR
Trollop isn't installed. We need that for argument parsing. Run

  gem install trollop
STR
  exit false
end

%w[INT TERM].each do |signal|
  trap(signal) { ScriptStart.quit }
end

module ScriptStart

  VERSION = '0.0'.freeze

  APM_BUNDLE_PATH  = ENV['APM_BUNDLE'].freeze
  DEFAULT_APPS     = ['property'.freeze].freeze
  DEFAULT_FORCE    = false

  def self.run(opts)
    exit_if_bad_environment
    @apps = opts.apps
    @force = opts.force
    start_apps
    input_loop
  end

  def self.command_app(app, verb)
    Command.new(app, verb, @force).run
  end

  def self.command_apps(verb)
    @apps.each { |app| command_app app, verb }
  end

  %w[start stop].each do |verb|
    define_singleton_method "#{verb}_apps" do
      command_apps verb
    end

    define_singleton_method "#{verb}_app" do |app|
      command_app app, verb
    end
  end

  def self.restart_app(app)
    stop_app app
    start_app app
  end

  def self.restart_apps
    @apps.each { |app| restart_app app }
  end

  def self.exit_if_bad_environment
    if APM_BUNDLE_PATH.nil?
      warn <<STR
You need to export APM_BUNDLE to match your apm_bundle repo location.
e.g. Add this to your ~/.bash_profile

export APM_BUNDLE=~/src/apm_bundle
STR
      exit false
    end
  end

  def self.input_loop

    print_help
    loop do
      key = STDIN.getch.downcase
      case key
      when 'r'
        restart_apps
      when /\d/
        index = key.to_i - 1
        if app_index_out_of_bounds? index
          print_help
          next
        end
        restart_app @apps[index]
      when 'q', 's', "\x03" # \x03 is Ctrl-C
        quit
      else
        print_help
      end
    end
  end

  def self.app_index_out_of_bounds?(index)
    ![*0...@apps.size].include?(index)
  end

  def self.print_help
    puts '='*40
    @apps.each_with_index { |app, index| puts "Press #{index+1} to restart #{app}" }
    puts 'Press r to restart apps'
    puts 'Press q to stop apps and quit'
    puts '='*40
  end

  def self.quit
    stop_apps
    exit true
  end

  private

  class Command

    COMMAND_TEMPLATE = "cd %{app_path} && script/%{verb} %{force}"

    def initialize(app, verb, force)
      @app   = app
      @verb  = verb
      @force = force
    end

    def run
      puts "Running `#{command}'"
      system command
    end

    private

    def command
      @command ||= COMMAND_TEMPLATE % {app_path: app_path(@app),
                                       verb: @verb,
                                       force: force}
    end

    def app_path(app)
      "#{APM_BUNDLE_PATH}/apps/#{app}"
    end

    def force
      '--force' if @force
    end
  end
end

opts = Trollop::options do
  version ScriptStart::VERSION
  opt :apps, 'A list of apps to start delimited by spaces', default: ScriptStart::DEFAULT_APPS
  opt :force, 'Whether to use --force with script/start (applies to all)', default: ScriptStart::DEFAULT_FORCE
end

ScriptStart.run opts

Linguist only selects the grammar to use for highlighting. For Ruby, GitHub uses textmate/ruby.tmbundle. You should open an issue there if there isn't already one ;)

Sweet. I found the issue. I'll add my notes to that. Thanks!
https://github.com/textmate/ruby.tmbundle/issues/77


how to use reset function in python script

I can't find related code in Bard.py (something like def reset()). Thanks if someone can help.

nvm, I found another way.


[WIP] Support for Multipart

Adds support for multipart in network cables

Still needs implementing:

Block connections through covers - will have to add a canConnect(ForgeDirectory)
Place items in existing multiparts
Modem support

I want to look at getting covers to work. Do you know a good mod to look at to try to figure it out?

I've had a look at that, though no luck. I think Project Red has something, but I can't see it. Extra Utilities also has cover support, though that isn't open source.
You will also have to patch the renderer to pass the direction, and also fix the node visitor to work with it as well.

Ah cool thanks.
Yea I've looked at project red. Undocumented mess that thing is...

I would say you probably want to remove these lines so covers can be placed once a cable has connected: https://github.com/SquidDev-CC/CC-Tweaks/blob/ac873c3bf7fa11ea985163fea9a4bbc74e6267cf/src/main/java/org/squiddev/cctweaks/core/integration/multipart/CablePart.java#L67-L85

Occlusion boxes in FMP are specifically how parts block other parts from being placed, right? It's the bounds and such that determine hit boxes. Right?

Collision - entities,
Occlusion - collision with other parts
SubParts - the bounding box you get on mouse over. This is a bit tricky as you can't have a complex shape, but if we have a full box (cables on all 6 sides), then you can't place covers in the block.

Great

I'm guessing you want this method to raytrace, though I'm not sure.

I think I cleaned up the collision boxes and subpart stuff

Yeah, I'm working on it. That is because I never check the item metadata. And also you can't even place a modem as cables are now automatically multiparts. I'm still not entirely happy about the outlines being different for each part of the cable, but I don't see a better way.
An alternative to covers would be right clicking on a side of the cable to disable it, though we would still have to implement the entire sided connection thing so really it wouldn't make much difference.

Yea I was going to ask how you think we should be handling the sided network. Perhaps the canVisit method should provide a ForgeDirection parameter to indicate which direction it's being visited from?
Also, is there any way to not have cables placed default as multiparts? It's a minor thing, but I think as cable networks get bigger, it'd be better to have fewer of them be multiparts if possible. I believe that'd be more performant.

I've added some basic modem support. Like, really basic. The cable will have to do some searching to check if there is a modem connected to it.
I agree it would be nice if they weren't automatically multiparts, I'll have a look later - I've got other stuff on tonight - sorry :frowning: .

Yea not being multiparts is low on the list of priorities for getting the whole multipart thing working. I'd say that should be at the end right now.

[ ] Modems
[ ] Covers
[ ] Don't place as multiparts

Covers! Whoo!

Also, I'm not sure why, or how to fix it, but this happens.

The tips of the cables don't have that dark square, but only when two adjacent cables have a cover between them.

Ohh, fancy indeed! The trouble is that rendering still uses BlockCable.isCable. We will need to patch both CablePart.CableRenderer and ComputerCraftClientProxy.CableRender to use the side argument. It might be sensible to also cache if it can connect and only change it on neighboring blocks/parts changing.
Right, modems next. Thanks!

I think Modems ought to wait until we get the networking ironed out with covers and what not. It doesn't even work with hollow covers yet.

Also, I spy a couple of spaces in there. I thought IntelliJ came pre-packaged with an EditorConfig plugin, but if not can you install one? I'm not that fussed, I just like keeping consistency within a code base.

Yea I understand. I thought it did too so I hadn't payed attention to it. Sorry about that.

Ohh I know what it was. I used sublime text for a couple things (a few nice editing tricks I can only do in that program). And I forgot that I have that set to spaces for my Team-CC-Corp stuff.

I've got some more things working. It attempts to place non-multipart by default now, though I would like to improve that somehow.
Cables connect to modems inside multiparts, though the rending is slightly very buggy so I'm going to have to look at that too. I think we need to cache connections we can make and invalidate them when the multipart is changed, we'll also have to raytrace the part on that connection side.
Implementing cover support for normal cables too - doesn't connect through covers - is also needed. Anything that references BlockCable.isCable needs to be replaced.

Uh. That's not how canBeVisited works. It's there so that nodes in adjacent blocks can check if this node can be connected to in this direction, not to see if there's a side node in the TileMultipart that is another node. In fact, having more nodes than just the cable in the TileMultipart shouldn't happen. The INetworkNodeProvider for multiparts just returns the first part that implements INetworkNode, so it might return the modem instead of the cable.
I think modems shouldn't be INetworkNodes. Instead, they ought to implement a different API that tells CablePart to connect to them and use them as peripheral providers.

Ah ok. Sorry. I clearly wasn't thinking when writing this. I'm not sure how to approach this as ideally I wouldn't like to make ForgeMultipart a dependency, as in everything works perfectly with CBMP, but we shouldn't get errors if it isn't installed, which makes multipart support slightly more confusing.
I think any network component, including modems, should implement INetworkNode as that means full blocks can connect to each other without cables, like AE. However, it does lead to some issues like this.
If CablePart implements TSlottedPart taking up the center position (1 << 6) then the network provider only needs to check the center position, then the cable can delegate to other nodes in the multipart. This also means we don't get the glitch where cables connect to modems without cables, which just looks silly.
I'll revert my changes to CablePart and see if I can think up a better solution. Sorry.

Slotting CablePart is a great idea. And yea so CablePart can then search the TileMultipart for any parts that are implement INetworkNode and delegate to them. And if a part is slotted as a side, the cable will render in that direction.
I've got a few changes I need to push (better cover occlusion support for hollow covers and the like, and allowing multiple modem parts in the same multipart) gimme a sec.

Cables now connect to other nodes in the multipart. I've also changed rendering to prevent overlap between modems and cables, though this is a bit hacky.
Modems placing is buggy, I know. I'm going to see if I can get some work on modems done now. There rendering is slightly broken as their rotation isn't taken into account when getting the texture to use:

Uhhhrh, why doesn't Java support traits? A tiny bit of me wants to port the multipart to scala, but I just don't think it is sensible.

I wouldn't be against having the multipart portion being written in scala. Doesn't intellij have a tool for transforming java code into scala code?
Anyway, I got the modem placement bugs mostly fixed. The last thing is getting it so that you can just place on the side of a cable by right clicking on the cable's side. But that's not major.
This is one of the most satisfying images I've seen in a while.

I guess that just leaves us with two things to do.
[ ] Fix modem rendering issue
[ ] Make modems function via right clicking on them
[ ] Fix non-multipart cables from rendering toward cables with a cover on the side.

I've started working on modems. I think the only time we require FMP is in the ItemCable class so we can just override the patcher's matches method with one that also checks if FMP is loaded.

Overrode the cable rendering / bounds. Uses canBeVisited now. Whew.
Although I discovered a bug. If you place some other mulitpart in a WiredModemWithCable block, it converts the modem but not the cable, and the cable gets lost.
This is my fault. I made the silly decision that the convert method wouldn't be in charge of turning WiredModemWithCables into two multiparts, because the convert method will only accept a return of a single part.
I think the solution will have to be an intermediate part that represents both the modem and the cable. Then on the first call to update() in the part, it'll replace itself with two different parts.

Cool! I'll test that now. Sorry for not adding anything in the past few days, I've just been very busy.

No worries. The other solution I can think of is having the modem part add a cable if it knows the tile its converting was a WiredModemWith cable. But as far as I can see, there's no way to do that immediately. I tried doing it in the onAdded method, but that just lead to glitches because FMP calls onAdded with the expectation that the parts list doesn't change. So this would only work by waiting a whole tick until the update method can be called to add the part.

I think if we just have a part that does nothing but look like a modem it should be fine. It is an issue with CBMP which we'll just have to work around. The icons are not implemented correctly, though that should be reasonably trivial to correct.

I'm definitely starting to think that the best course of action is the method of adding a cable the tick after. Either way we have the part not functioning properly for a tick, and this way we don't have to build a whole intermediate part.
Unless we want to build a fully functioning intermediate part, but that's a huge pain.

Oh and apparently wired modems canBeVisited(any). Not the parts, obviously. But the vanilla CC ones.

Do you mean cables connected, even if they have no cable. I think we should 'fix' that, even if it is a vanilla CC bug.

Yea. Although I think it's our fault =P I think we just have it set so that the node for a WiredModem returns true no matter way on canBeVisited().

Modems! I'm pretty sure everything works correctly, though I'm sure there are some issues that will come up. So as far as I'm aware, the only things remaining are:

[ ] Fix modem rendering issue
[ ] Fix cable icon issue

I think caching multipart connections would be good as the collision testing is potentially slow just because it is checked so many times.

Awesome! I'm still working on the issue with WiredModemWithCable to multipart conversion. But I figured out a pretty easy way to do that so I'm close.
As for caching connections, yea that is necessary. I thought about that while I was writing it. But ultimately I figured we can implement that later, and we need to be feature complete before we start optimizing.

Have you seen the isConverted method? I don't know if that is helpful. I agree about optimisation however, it doesn't seem to be an issue at the moment.
I'll see if I can fix rendering.

onConverted is just a delegation to onAdded that gets called in place of onAdded. We can override it, but it's ultimately the same as onAdded. In both cases, there are issues with adding parts during this call. Basically, when converting a WiredModemWithCable to a multipart, you have to convert it to one specific part. So if you make a modem part, and use that modem part to add another part after conversion in the onAdded or onConverted method, FMP for some reason mixes the two parts up. So when you try to break the modem part, it breaks the cable part instead. Then if you try to break that modem part again, it breaks the modem part plus another part (probably the one that triggered the conversion). It's weird.
So my solution is to subclass CablePart with a new part ModemWithCableIntermediatePart. This part double delegates all the relevant calls to the super and to a modem. Then on the first call to update, it removes itself and adds the modem and cable.

Btw, I filed an issue on FMP about our little glitch.

Yep, I think an array would be more convenient, because we can't be the only people who want to convert between various multipart systems (which is what CC's network cables effectively are).

I've fixed the modem textures. Well I think I've fixed them, it isn't entirely clear if they should look like that. I think the only issues remaining are modem conversion and a few other bugs with modems - removing the block doesn't destroy the peripheral - it should fire invalidateNetwork and remove the peripheral.
I would also like to fix it so placing cables fires an invalidateNetwork event - otherwise you have to place and break another cable for it to work. Satisfying image ahoy:

Awesome. I am having this little texture issue though:

I know, I pushed it and shutdown, then thought: "I bet that will muck up on rotations". Good work on the intermediate part :+1:.

I have actually fixed modem textures this time, and modems remove their peripherals when destroyed. Networks are now always invalidated when a cable is placed so new peripherals will be discovered if joining different networks together.
I think we are ready to merge. Have you found any bugs or is there anything else you think we should add? :shipit:

One minor thing, the intermediate part should override the INetworkNode methods.

Also I think we should do the connection map caching before we merge.

Yeah, I'm not sure how to do that. If multipart cables have two caches - one for internal connections and one for external connections which we can just refresh on part/neighbour changes. This wouldn't actually cache the nodes themselves, just if it can be accessed. Thoughts?

I agree with your suggestion for caching. I think that'd be a good way to implement it.

So with the new APIs and such, how would I go about accessing the peripherals on the network from a peripheral?

If you look at the findPeripherals method this gives a basic method.
final Map<String, IPeripheral> newPeripherals = new HashMap<String, IPeripheral>();
new NetworkVisitor() {
	public void visitNode(INetworkNode node, int distance) {
		if (node != start) {
			Map<String, IPeripheral> nodePeripherals = node.getConnectedPeripherals();
			if (nodePeripherals != null) newPeripherals.putAll(nodePeripherals);
		}
	}
}.visitNetwork(this);

So you create a network visitor that adds every peripheral to a list of peripherals, then you can modify them somehow. You need to rebuild this when you receive a networkInvalidated call, as anything could have changed.

Just profiled the network cables, it isn't as bad as I thought it would be, but is still worth optimising. I'll start caching today, though I don't know if I'll finish it.

I've added some basic caching, though I haven't profiled it yet so I don't know how effective it is. There are some more optimisations we could do, like caching the node in the network visitor instead of getting it both in SearchLoc.isValid and visitNode.

Alright I think the last things to do then are finish up connection map caching and making the intermediate part override the canVisitTo and canBeVisited methods to blank out the side the modem is on.

Good point, I forgot about modem sides. There are a couple of other bugs with caching because I used the wrong flags (should use cable & external instead, etc...). What do you mean connection map caching?

Just using the term that project red uses for the caching. They keep a "connMap" integer where bits represent the directions that things can connect.

Ah Ok. Well one commit for those, and one more for bug fixes - and then 42 commits! Sorry, I'll get on that now.

Sorry I haven't done much the past few days. Busy time.

Don't worry, I'm so grateful for all the work you've done on this. You've pushed this much further than I would have done on my own.

Always helps to have others helping things along.

Check your CC messages. Sent you a PM

I've just profiled the latest code on my computer and it is a massive improvement. However I have noticed a major bug - onNeighbourChanged and onPartChanged are only called on the server - so textures, drawing, etc... are never updated. I can send a packet to the client to update which is what I have done with multipart - it is just a nuisance that will result in graphical glitches on laggy servers.

I've updated the caching system. This removes caching external nodes as there were issues with stack overflows from NetworkHelper.canConnect and CablePart.canBeVisited. So we have to check external nodes every draw, however there shouldn't be that big a performance issue as this is what we have to do on normal TileCables as well.
Multipart hollow covers will also shrink to fit the cable now which I think looks much nicer.

So do we have everything fixed? The intermediate part returning false for canBeVisited and canVisitTo in the direction of the modem? And firing peripheral detach events and calling peripherals' detach method?

Most peripheral things were working before, I just wasn't detaching peripherals on neighbor changes. I've thought of a couple of extra optimisations to rendering - we can cache the sides every draw tick instead - ATM we need to check every connection for every side for each 'sub-cable' we draw. This will reduce it to one check for each side from 1-6 checks per side.

I'm feeling so smug about the fact that this is 42 commits. :+1: Thanks for all the work!


API Error

TuyaOpenAPI request: method = get, endpoint = https://openapi.tuyaeu.com, path = /v1.0/iot-01/associated-users/devices, params = {"size":100}, body = null, headers = {"t":"1652632019138","client_id":"ke89j4nysqfnrw8amkws","nonce":"d7531be0-d46b-11ec-a503-03a07257d441","Signature-Headers":"client_id","sign":"D1B928B0E86553B39AAF2E01E77F68D26EB4D14DD4AA497D6A71E860889F3032","sign_method":"HMAC-SHA256","access_token":"6b788b28b6ae49fe94b4d53411ad9490","lang":"en","dev_lang":"javascript","dev_channel":"homebridge","devVersion":"1.5.0"}
TuyaOpenAPI response: {"code":28841101,"msg":"No permissions. This API is not subscribed.","success":false,"t":1652632019297,"tid":"d80905a7d46b11ecafb0ea79ca261ada"} path = /v1.0/iot-01/associated-users/devices
Please advise, I've followed the instructions and even the API Exlorer shows an error...

As a follow-up, to anyone else having this issue - I've opened a bug ticket within the Tuya IoT Platform dashboard and explained my issue - in fact, even the API Explorer function told me I didn't authorize the services I tried to push a request to. Within a few hours I've got a generic response stating that I should enable the services - however, without me changing anything the API had requests suddenly gone through so I suspect someone changed something behind the scenes.
TL;DR - Issue a bug ticket through the Tuya IoT Platform and API requests should go through


Dupe bug. Magic and mythic crucible custom blocks have conflicting behavior.

Mythic crucible blocks take damage from say cast grenade (or any spell that breaks blocks, regenning doesn't matter) and drop themself. the problem is, they shouldn't be. they should be disappearing and regenerating.
So, they then regenerate and now players have the dropped copy and the regenerated copy.
Im using note block custom blocks for this btw
paper 1.20.2
Magic 10.8.12 SNAPSHOT 4f766c8 (edited)
MythicCrucibel lastest dev 2.0.0
it also bypasses region checks if a player can build or not, the blocks will drop a copy, but not break/regen.

This plugin is basically in maintenance mode, I don't forsee adding any new plugin integration so unfortunately I think you will have to remove it if it's having compatibility issues like this with some other plugin.
Sorry!

no can do,. mythic crucible is a major feature of my server.

I was suggesting you remove Magic.

how can i remove the explosion effect from the grenade and such?

also, has this plugin been abandoned?
will you return in the future?

It hasn't been abandoned, but I don't have time to service feature requests or plugin integration issues. The specific issue you're mentioning will probably never get fixed.
I will continue to make updates for bugs within the plugin itself and for compatibility with future versions of Minecraft.
You can turn off all block-breaking with /mexample add safe, so you could try that before resorting to removing the (Magic) plugin.

now i cant cast grenade at all

That will disable all block-breaking and creating spells. Most of them won't really do anything if you don't let them break blocks, there's no point in leaving them on. Who's going to use Grenade to just deal AOE damage to entities?
/mexample remove safe to turn that back off.
You could try making all blocks indestructible, I think that's /mconfig configure material indestructible *  but a lot of spells are going to feel underwhelming or downright useless.
Really just remove Magic, the entire point of like 75% of the builtin "survival" spells is breaking or creating blocks.
Your other option is to go for a fully custom config that does not revolve around block-breaking, but that's going to be a lot of work and something like Heroes or MagicSpells may be a better fit for your server out of the box at that point.

I use te bomb for AOE indeed.

Hey sorry I should've thought of this earlier, but there is one other thing you could try if you're not wanting to remove or nerf the Magic plugin.
There's a feature that will pass block break events to other plugins when breaking blocks with spells- maybe that will help?
The command would be something like /mconfig configure generic_protection MythicMobs
Or if Crucible is a separate plugin (I think it's a MM add-on? Not sure...) instead of "MythicMobs" put "Crucible" or "MythicCrucible" whatever the name of the plugin is.
Also, again sorry, I missed this part in your original issue:

it also bypasses region checks if a player can build or not, the blocks will drop a copy, but not break/regen.

That is honestly very strange- can I ask what region plugin you're using?

worldguard

/mconfig configure attribute generic_protection block MythicCrucible
/mconfig configure attribute generic_protection block MythicMobs
the exact command /mconfig configure generic_protection MythicMobs

preventing the user from casting it altogether fixes the block breaking issue at spawn
but here are screenshots of the problem:
1: initial placement of the block
2: cast a spell that breaks blocks
3: THe block breaks dropping an item from crucible,
4: the area regens. original block returns alongside dropped one
Potential fix would be an option to change the break block mechanic with "replace with air"
similar to how rubberize works with slime blocks. It does not cause blocks to drop themself

The block break mechanic for most spells does just replace with air.
Is the grenade spell (and possibly boom) the only issue?
If so, then this is starting to make some sense, those are different in that they use vanilla explosions. Maybe just disable those two spells. If you are very attached to Grenade it could probably be re-written so the primed TNT entity is just visual and block-breaking is handled similarly to the Blast spell.

powerstone does it too
bomb rain, etc

I personally use the grenade for aoe. its part of Rogue class.
they way I have to configured, its actually useful

Idk what powerstone is, but yeah the carpet bomb one makes sense, anything that uses TNT or explosions. Sounds like Crucible is catching those explosion events and force-dropping blocks.
I would disable any of the ones you don't care about. You could try editing grenade /meditor spell grenade, add size: 0 to parameters and the TNT won't explode (I think)
Then you could look at some other spells, maybe blast, to see how to deal AOE damage and optionally break blocks (without an explosion), just copy+paste some of the actions and parameters.

Ok thanks. i removed the explosion effects


refactor: drop deprecated runtimes

Many runtimes were obsolete, simply remove them.

Thanks @berenddeboer!
I was thinking if we should annotate them as @deprecated or remove them. According to AWS doc, after a runtime is deprecated:

you can no longer create or update functions that use the runtime ... ... Lambda does not block invocations of functions that use deprecated runtime. Function invocations continue indefinitely after the runtime reaches end of support.

If we removed the runtime, ppl using deprecated runtime would get a type error (ie. nodejs12.x), even though they are not "required" to update.
What do u think? /cc @thdxr

Hi @fwang no-one using SST would be using any of these old run-times. They are very very old. Secondly, you don't want to support them even, so if you keep them deprecated, it still means they technically should work.

Thanks @berenddeboer, good point! Agreed.
I put back nodejs12.x and dotnetcore3.1 for now as they were recently deprecated by Lambda. I know a few folks from the early days of SST that were using these two. They should have updated. But let's just give them a few more months in case they haven't 🥲


Add hom nay em cuoi roi by Khai Dang

Song Name
hom nay em cuoi roi
Artist Name
Khai Dang
Source
Youtube
Youtube Link
sJdMiyVv-MI
Direct File Link
No response
Song ID
565656
Start Offset [ms]
2.5
Extra
Created from Auto Nong.
Created for level: 104983154

reject
invalid youtube link


deps update

updated dependencies.
updated tests to reflect current bosh-cli logic.

for the discussion on the test update, see the discussion in cf slack. this PR's core functionality is to bring the bosh-cli library up to 6.2.1, where it can use the native array syntax that came about in 6.2.0.

@drich10 have you had a chance to look at this and provide some feedback?


Add Size Prop for Avatar

add a size props for avatar so we can control the height and width of the avatar component

I can pick this up if that's ok


Allow cli access content set and content flow APIs

Is your feature request related to a problem? Please describe.
Allow access to content set and content flow APIs such as list content sets, start content flow, cancel content flow
Describe the solution you'd like
cli commands allowing viewing and changing contents set and content flows
Describe alternatives you've considered
N/A
Additional context

@zygw Any chance to get a release with this feature soono?

The code is merged.  There was an issue with the ubuntu version, followed by the codecov issues.
Not sure how to get the release kicked off again.
From: Konrad Windszus @.>
Date: Tuesday, May 23, 2023 at 04:41
To: adobe/aio-cli-plugin-cloudmanager @.>
Cc: Zygmunt Wiercioch @.>, Mention @.>
Subject: Re: [adobe/aio-cli-plugin-cloudmanager] Allow cli access content set and content flow APIs (Issue #670)
EXTERNAL: Use caution when clicking on links or opening attachments.
@zygwhttps://github.com/zygw Any chance to get a release with this feature soono?
—
Reply to this email directly, view it on GitHubhttps://github.com/adobe/aio-cli-plugin-cloudmanager/issues/670#issuecomment-1558818167, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAN3JHJHDEUFL7QZQEOPU63XHRZ4BANCNFSM6AAAAAAXUIDXGQ.
You are receiving this because you were mentioned.Message ID: @.***>

What is the process of resolving this?
I merged the ubuntu update to get the job to run, without realizing that it would cause this failure.
Zyg
From: Konrad Windszus @.>
Date: Tuesday, May 23, 2023 at 07:36
To: adobe/aio-cli-plugin-cloudmanager @.>
Cc: Zygmunt Wiercioch @.>, Mention @.>
Subject: Re: [adobe/aio-cli-plugin-cloudmanager] Allow cli access content set and content flow APIs (Issue #670)
EXTERNAL: Use caution when clicking on links or opening attachments.
The release failed as you can see in https://github.com/adobe/aio-cli-plugin-cloudmanager/actions/runs/4983477450/jobs/8921166037.
—
Reply to this email directly, view it on GitHubhttps://github.com/adobe/aio-cli-plugin-cloudmanager/issues/670#issuecomment-1559116502, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAN3JHMQP2NRDRF56NGLDFTXHSOK7ANCNFSM6AAAAAAXUIDXGQ.
You are receiving this because you were mentioned.Message ID: @.***>

FWIW @zygw https://github.com/orgs/community/discussions/25305 and https://stackoverflow.com/a/76135647 provide potential solutions for this. Or just turn branch protection off.

@zygw Any idea how to continue here? Who at Adobe took over ownership of this plugin after @justinedelson left?

Thanks @zygw an you set the milestone for this issue and close it then?

Released as 4.1.0


[excel] (Tables) Replace table filter sample with more targeted example

There was a lot of confusion around filtered table JSON sample. I think the need for a JSON-specific sample is no longer needed with the new JSON article. This PR takes the code to filter a table and adds it to the Basics article.
Here's a workbook to test on, if needed: table-filter.xlsx

Docs Build status updates of commit 7aad97a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resources/samples/excel-samples.md
:white_check_mark:Succeeded
View

docs/resources/samples/filter-table-get-visible-range.md
:white_check_mark:Succeeded

docs/resources/samples/get-table-data.md
:white_check_mark:Succeeded
View

docs/resources/samples/samples-overview.md
:white_check_mark:Succeeded
View

docs/resources/samples/table-filter.xlsx
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@alison-mk, the samples on that page are really varied and not intended to be ran in sequence. At some point, I anticipate splitting that page into several smaller ones. I'll make the lead in a bit more clear, but I don't want to over-index too much on the specifics (I think the in-code comments do that just fine). The descriptions are meant to be quickly scannable.

Docs Build status updates of commit 033b5f4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resources/samples/excel-samples.md
:white_check_mark:Succeeded
View

docs/resources/samples/filter-table-get-visible-range.md
:white_check_mark:Succeeded

docs/resources/samples/get-table-data.md
:white_check_mark:Succeeded
View

docs/resources/samples/samples-overview.md
:white_check_mark:Succeeded
View

docs/resources/samples/table-filter.xlsx
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@alison-mk I should also mention that the Office Scripts linter actually warns people if they don't have a table named "StationTable" (or whatever) in their workbook.


Installation error: No matching distribution found for matplotlib~=3.8.0

Hello! I am trying to install species on another machine (where I do not have sudo rights) and get:
[…]/species$ pip install -e .
Defaulting to user installation because normal site-packages is not writeable
…  # many things that get installed without problem
INFO: pip is looking at multiple versions of species to determine which version is compatible with other requirements. This could take a while.
ERROR: Ignored the following versions that require a different python version: 2.2.2 Requires-Python >=3.9; 2.2.2rc3 Requires-Python >=3.9; 3.8.0 Requires-Python >=3.9; 3.8.0rc1 Requires-Python >=3.9; 3.8.1 Requires-Python >=3.9; 3.8.2 Requires-Python >=3.9; 3.8.3 Requires-Python >=3.9; 5.3 Requires-Python >=3.9; 5.3.1 Requires-Python >=3.9; 5.3.2 Requires-Python >=3.9; 5.3.3 Requires-Python >=3.9; 5.3.4 Requires-Python >=3.9; 5.3rc1 Requires-Python >=3.9; 6.0.0 Requires-Python >=3.9; 6.0.0rc1 Requires-Python >=3.9; 6.0.0rc2 Requires-Python >=3.9
ERROR: Could not find a version that satisfies the requirement matplotlib~=3.8.0 (from species) (from versions: 0.86, 0.86.1, 0.86.2, 0.91.0, 0.91.1, 1.0.1, 1.1.0, 1.1.1, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1rc1, 1.4.1, 1.4.2, 1.4.3, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 2.0.0b1, 2.0.0b2, 2.0.0b3, 2.0.0b4, 2.0.0rc1, 2.0.0rc2, 2.0.0, 2.0.1, 2.0.2, 2.1.0rc1, 2.1.0, 2.1.1, 2.1.2, 2.2.0rc1, 2.2.0, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 3.0.0rc2, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0rc1, 3.1.0rc2, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.2.0rc1, 3.2.0rc3, 3.2.0, 3.2.1, 3.2.2, 3.3.0rc1, 3.3.0, 3.3.1, 3.3.2, 3.3.3, 3.3.4, 3.4.0rc1, 3.4.0rc2, 3.4.0rc3, 3.4.0, 3.4.1, 3.4.2, 3.4.3, 3.5.0b1, 3.5.0rc1, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.6.0rc1, 3.6.0rc2, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.7.0rc1, 3.7.0, 3.7.1, 3.7.2, 3.7.3, 3.7.4, 3.7.5)
ERROR: No matching distribution found for matplotlib~=3.8.0

I have Python 3.8.10. [I get the same error on my computer, actually, but had already installed species before the requirements got increased (my computer got grandfathered in :smile:).] What can I do?

One "solution" was to upgrade python to 3.10 instead of python 3.8.10… I might not be able to do this on every machine but at least it avoids the problem (hence the quotation marks around "solution" :wink:).

Ah! Sorry! I had not read that page recently and last time, 3.8 was still compatible :). Thanks for the tip about pyenv!


updateChannel config param should be hot reloaded

When user change updateChannel setting to 'canary', for example, it should change Hyper behaviour instantly and should not require a restart.
Feed URL should be changed on the fly, and a new update check should occur directly after this config reload.

@chabou The idea is pretty good. But vscode when updated asks to restart 🤔

This not what I meant.
User should obviously restart after an update.
What I meant is to not have to restart Hyper after a config change.

@chabou  I understand :D

https://zeit.co/blog/canary
I don't want to read, for Now desktop

Once the preference is checked, it will be applied immediately - no restart required.

and for Hyper

After that, restart the application

Been looking into this for the last couple days. The code isn't a big change but it seems like testing the autoUpdater is more difficult than I originally expected. Code signing on Mac is all new to me! Is there a way to test that this is working without getting a Developer ID Application so code signing works properly? It's quite expensive to enroll in the program through Apple.


⚠ LPDM Handbook (hosted on Divio) has degraded performance

In 75c6052, LPDM Handbook (hosted on Divio) (https://repohubdev.tk) experienced degraded performance:

HTTP code: 500
Response time: 5513 ms

Resolved: LPDM Handbook (hosted on Divio) performance has improved in 9e72bfd.