FEATURE - Medium Widgets, View Maintenance Events

Describe the feature you want the app to have that it currently doesn't

Create a medium widget that allows you to view the total number of maintenance events for a specific vehicle
Be able to configure which vehicle you want to view for this widget

Describe alternatives you've considered
N/A
Additional context
Only make the medium widget (I'll create new issues for adding different widget sizes later

@harryheres wanted to work on this, can you comment on this and I'll assign it to you

@mikaelacaron Yes, I’m done with the #7 for now, so I can work on this :)

Notice on dev I created the Widget extension now, to hopefully cut down on merge conflicts

Oh okay, thank you for the update!

Sorry! This task isn't ready to be worked on right now, because I haven't connected the models together, feel free to choose another issue and I'll leave you as an assignee and let you know when you can come back to work on this issue

Okay, will stop working for the time being. Will be happy to continue once you've done the necessary features. Also, what models in particular are you referring to? Might be able to help out?

MaintenanceEvent and Vehhicle aren't connected, I would, but it might require how I am passing the models around, also I still need to change some Firebase rules

@mikaelacaron How are we doing with this?

Once #141 is done, you're ready! Thanks for your patience!
I was going to do it myself, but kinda got caught up, so I created an issue for someone else to work on this

Once #141 is done, you're ready! Thanks for your patience! I was going to do it myself, but kinda got caught up, so I created an issue for someone else to work on this

Awesome, will be looking forward to it!

This can be worked on now! Thanks so much for the patience

Awesome, will get to it ASAP!

@mikaelacaron When creating the widget, it remains blank in the simulator

I suppose this should not happen? This is just the sample widget, just added the medium size. Or am I missing something?

@mikaelacaron Do you want me to create new separate class for the medium widget or just modify the sample BasicCarMaintenanceWidget source file?

UPDATE: When migrated to StaticConfiguration and TimelineProvider, the widgets show their contents. Seems like a bug inside the WidgetKit. Any ideas if there's a solution to this?

I'm not sure, it worked by default with the current code on my machine.
And yes go ahead and make a new class for the size

Have you tested in on a real device or in a simulator?

Both, for the default widget, they work for me

Hmm, okay, will try to inspect a bit more then.

Unfortunately I think I'm going to need to put this on hold again, because it's not going to filter properly, by vehicle, the way it's being saved right now
I thought it was, but looking at it closer I don't think it is

Okay, let me know when it gets resolved :)

Sorry 😅 I just noticed it last night, will post more soon

Sorry 😅 I just noticed it last night, will post more soon

No worries, take your time :)

Thanks for your patience! I'm going to hold off on all the widget tasks for right now because I'm going to change how the vehicles and maintenance events are connected. But because it's so close to the end of Hacktoberfest I don't want to break everything for everyone, so I'll open this issue again after Hacktoberfest and you're welcome to contribute to it for fun if you'd like

Opening this back up for Hacktoberfest 2024!

@mikaelacaron Can I work on this?

@aking618 you got this! 🔥


koji_promote: set build.extra.image.tags

This new extra field lists the primary tags that are set on the image.

Coverage decreased (-0.5%) to 87.28% when pulling d998c4651999b871fdcfa4dd636e18cb907c952e on koji-image-tags into 723e8cfe11661599c34ed28e6663b378d62d0df4 on master.

Coverage decreased (-43.5%) to 44.215% when pulling 1387231a7f755a55d8a3614ae281001b8672d2f3 on koji-image-tags into 723e8cfe11661599c34ed28e6663b378d62d0df4 on master.

Coverage decreased (-43.5%) to 44.215% when pulling 0172dc7c13e92d0698bacdc112f5132acb40b41d on koji-image-tags into 723e8cfe11661599c34ed28e6663b378d62d0df4 on master.

I'm pretty sure coveralls is just lying.

pytest-cov seems to be getting confused by the buildimage tests. Investigating.

LGTM

Coverage decreased (-0.5%) to 87.28% when pulling b573a270a23e1023a4c9375fc50af6a36602e6e5 on koji-image-tags into bdb5ba1f7ecf17ff6fbc1c28cad3d4b78c72874d on master.

Coverage decreased (-0.5%) to 87.28% when pulling 60bfa485e491429265823e01e7c9066d3586c793 on koji-image-tags into bdb5ba1f7ecf17ff6fbc1c28cad3d4b78c72874d on master.

Coverage decreased (-0.5%) to 87.283% when pulling 88a3dda1301da1e393a5d507c92899cd7e047ff0 on koji-image-tags into bdb5ba1f7ecf17ff6fbc1c28cad3d4b78c72874d on master.

LGTM, merging


Unclear ammonite install location for shebang

In the documentation the suggested shebang is #!/usr/bin/env amm.
However in the install documentation, the suggested install command puts amm at /usr/local/bin/amm
$ sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L https://github.com/com-lihaoyi/Ammonite/releases/download/2.4.0/2.13-2.4.0) > /usr/local/bin/amm && chmod +x /usr/local/bin/amm' && amm

It should probably be one or the other, but which is preferred? Should the install command create a symlink to compensate for previous inconsistency?

Yeah, this shouldn't be a problem, @nrktkt.


Merge affinity from podtempalte and affinity-assistant

Changes

No matter user provide affinity in podtemplate or not the
affinity-assistant will overwrite the affinity in pod.
However if user set affinity in podtemplate merge
podtemplate's affinity with affinity-assistant's affinity
is better way.
So we inject the affinity of the affinity-assitant into the
affinity of the podtempalte as the affinity of the pod to
make sure that all the affinities work properly.
Related Issue: https://github.com/tektoncd/pipeline/issues/5241
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[x] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
If the user provide affinity in podtempalte it will merge with affinity-assistant's affinity

action required: Need to check podtemplate make sure the change will not cause unexpected behaviour

Need to add unit test.

/kind feature

/ok-to-test

/retest-required

I'm not sure whether this is a good idea or not (maybe it is! I'm just not sure). It seems like in this PR, if a user has set affinity from the pod template, both that affinity and the affinity assistant affinity will be applied to the resulting pod. I'm worried this might result in some confusing behavior. What if the user applies a pod affinity that isn't really compatible with the affinity assistant?
I'm also wondering if any node affinity specified by the user should be applied to the affinity assistant pod as well since it's scheduled first (again, not sure what the right answer is here).

I'm not sure whether this is a good idea or not (maybe it is! I'm just not sure). It seems like in this PR, if a user has set affinity from the pod template, both that affinity and the affinity assistant affinity will be applied to the resulting pod. I'm worried this might result in some confusing behavior. What if the user applies a pod affinity that isn't really compatible with the affinity assistant?

I think maybe I understand your concern and here is my thoughts.
If I set affinity in pipelinerun's podtemplate I think the affinity priority in podtemplate should be the highest and it should not be overwritten by anything. On the other hand,  I think affinity-assistant should only serve as an aid, helping to find  better node but not change the way to find a better node.
And if the user applies a pod affinity that isn't really compatible with the affinity assistant the result is that pod will not be scheduled and I guess it should be correct. In this case, the user can disable affinity-assistant or change the affinity in podtemplate to ensure a better node can be found.

I'm also wondering if any node affinity specified by the user should be applied to the affinity assistant pod as well since it's scheduled first (again, not sure what the right answer is here).

Yes, I totally agree with you, we should set the affinity of podtemplate to affinity-assistant pod.
Sorry, even with the help of google translate I don't know if I describe it clearly! If there is anything I have not described clearly, please point it out to me. Thanks!

If I set affinity in pipelinerun's podtemplate I think the affinity priority in podtemplate should be the highest and it should not be overwritten by anything. On the other hand, I think affinity-assistant should only serve as an aid, helping to find better node but not change the way to find a better node.
And if the user applies a pod affinity that isn't really compatible with the affinity assistant the result is that pod will not be scheduled and I guess it should be correct. In this case, the user can disable affinity-assistant or change the affinity in podtemplate to ensure a better node can be found.

Ok, this makes sense to me.

Yes, I totally agree with you, we should set the affinity of podtemplate to affinity-assistant pod.

Ok! The affinity assistant statefulset code lives here.

If I set affinity in pipelinerun's podtemplate I think the affinity priority in podtemplate should be the highest and it should not be overwritten by anything. On the other hand, I think affinity-assistant should only serve as an aid, helping to find better node but not change the way to find a better node.
And if the user applies a pod affinity that isn't really compatible with the affinity assistant the result is that pod will not be scheduled and I guess it should be correct. In this case, the user can disable affinity-assistant or change the affinity in podtemplate to ensure a better node can be found.

Ok, this makes sense to me.

Yes, I totally agree with you, we should set the affinity of podtemplate to affinity-assistant pod.

Ok! The affinity assistant statefulset code lives here.

Hi @lbernick, I have added the logic of changing the affinity of affinity-assistant pod and some unit tests.

/retest-required

/retest-required

/retest-required

/retest-required

/cc @vdemeester - I'm not familiar enough with this area of the code to lgtm without someone else chiming in. =)

/kind feature

/cc @abayer  @vdemeester  Hello, I would be very grateful if you could help review this PR！Thanks!

/test check-pr-has-kind-label

/lgtm

/retest

@vdemeester  sorry I force push because of rebasing main branch but cause removing lgtm. Could you please take another look again when you are fine? Thanks!

@yuzp1996 no worries, both would have remove the lgtm 😉
/lgtm


chore: remove the rerender at h/v-scale of etcd

close https://github.com/apecloud/kubeblocks/issues/8699

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.00%. Comparing base (885c3fd) to head (622a15a).

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #1367   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files         69      69
  Lines       6685    6685
=====================================
  Misses      6685    6685

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

/approve

/cherry-pick release-1.0-beta


[generate-format] track network Serde formats

Motivation

Record Serde formats of the network crate into a new file network.yaml.
Add unit test to track accidental changes.

In the future the yaml file can also be used for interoperability and to quote data structures in specifications.
Test Plan
cargo run -p generate-format -- --corpus network
cargo x test -p generate-format

Related PRs
https://github.com/libra/libra/pull/3674

:v: @matbd can now approve this pull request

@bors-libra r=phlib9

:pushpin: Commit c1aed5a has been approved by phlib9

:hourglass: Testing commit c1aed5a6a39ff6570aa1ba5ec647e505f80876e6 with merge e1251eaade0033db2fae769ccbc8c856a71a4dd8...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra r=phlib9

:pushpin: Commit ee89690 has been approved by phlib9

:hourglass: Testing commit ee8969007b0076cf4be5296489ba42590b9a412a with merge 4d3426fc69a7a3b9236441e73b9120960e48fc75...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: phlib9
Pushing 4d3426fc69a7a3b9236441e73b9120960e48fc75 to master...


Rails remote: true not making AJAX request

Whenever I click on a link_to with remote: true in my Rails 5.1 app, I get an InvalidCrossOriginRequest error. After turning off forgery protection the app ends up making a full GET request to the server and displays the javascript.
Here is the link:
= link_to 'Example', example_url, remote: true

example.js.erb:
$('.example').html('alert("example message")');

Route:
scope :js, defaults: { format: :js } do
    #### Example
    get 'example', to: 'examples#example'
end

Controller:
def example
	respond_to do |format|
		format.html { redirect_to root_url, alert: 'Page not accessible' }
		format.js
	end
end

I included the javascript in my template:
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'

And I added the necessary js asset paths:
//= require_self

// jQuery
//= require jquery
//= require jquery_ujs

@jonhue, did it eventually get solved? I'm having the same trouble right now without jquery


ratbagctl -h gives incorrect usage

$ ratbagctl -h
usage: ratbagctl [-h] [-V] [--verbose]

Inspect and modify configurable mice

optional arguments:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit
  --verbose, -v

This should state that ratbagctl takes a command argument, and ideally list which command arguments are available.
The message when running ratbagctl asdf is better in this respect, but it would be nice to have the "command" on the same line as the rest of the command-line for clarity:
usage: ratbagctl [-h] [-V] [--verbose]
                 {list,info,profile,resolution,dpi,rate,button,led} ...
ratbagctl: error: invalid choice: 'h' (choose from 'list', 'info', 'profile', 'resolution', 'dpi', 'rate', 'button', 'led')

In addition, error handling on incomplete invocations seems really rough, throwing exceptions in logic rather than validating and giving feedback at parse-time.

it would be nice to have the "command" on the same line

that's controlled by python's argparse module, we have some control but given our crazy parser this is going to be a fair bit of work


RMapCache and RLocalCachedMap should use sharded pubsub in Redis Cluster 7.0+

Done

Any change clients needs to do in order to use this feature.
Currently we are doing this:
RMapCache<String, String> mapCache = redissonClient.getMapCache(cacheName)
mapCache.addListener(new ExpiryEventListnerImpl());

We are facing problem with 7.0.7, for more details https://github.com/redisson/redisson/issues/5447


Update framehop and change object to have minimal features.

Consumers can add more features to change object reading if desired.
The way the crate is written, at least one of coff/elf/macho/pe/wasm/xcoff must be enabled for object::read::File to be available. While we could limit the features even further and make consumers choose which formats to support, this instead assumes that they want to be able to read any of the formats since we need to choose at least one anyway.

Not a fan of the duplicated dependencies but we can address that before we cut a new release by updating the other crates too.

Likewise, however it's only if you enable the debuginfo with symbols (though that is default).


fix: 图构建图查询样式优化

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


Controlling and Preventing Page Cache

It seems that either PhantomJS is keeping a browser cache of the page after one successful load. This makes debugging impossible when testing DOM manipulation, since I have to wait for the cache to clear, or else the modified DOM values aren't retrievable.
It isn't fixed in the 2.0.0 release of PhantomJS, and although the CasperJS clear() method doesn't apply to this case, the PhantomJS documentation tells us to do a page.clearMemoryCache(). But in order to do that, I'd need the page module, which I can get from casper.page.pageModuleApi(), however, I'm not at ll sure how to retrieve this reference through Spooky.
Is this the correct way to prevent page cache? Is it even possible through Spooky?

The CasperJS instance is available as this in a then callback:
spooky.then(function () {
  this.page.pageModuleApi().clearMemoryCache();
});

Resolved. Thank You.

Actually, this function appears to be undefined. Is this the correct way to clear cache with Spooky? I'm getting this TypeError.
TypeError: 'undefined' is not a function (evaluating 'this.page.pageModuleApi()')
[ { file: '', line: 3, function: '' },
  { file: '/usr/local/Cellar/casperjs/1.1-beta3/libexec/modules/casper.js',
    line: 1553,
    function: 'runStep' },
  { file: '/usr/local/Cellar/casperjs/1.1-beta3/libexec/modules/casper.js',
    line: 399,
    function: 'checkStep' } ]
TypeError: 'undefined' is not a function (evaluating 'this.page.pageModuleApi()')
  /Users/username/Projects/spookyproject:3
  /usr/local/Cellar/casperjs/1.1-beta3/libexec/modules/casper.js:1553 in runStep
  /usr/local/Cellar/casperjs/1.1-beta3/libexec/modules/casper.js:399 in checkStep
{ [Error: Child terminated with non-zero exit code 1] details: { code: 1, signal: null } }

In that callback, this is the CasperJS instance returned by calling casper.create, so this is not a Spooky problem. According to CasperJS's documentation, that method should be defined once start is called.

I'm having a similar issue. I go to a page, write in a text box, press a button, then retrieve a value.
I then want to go to the page state before the button was pressed. Unfortunately, even when I do this.open for the url, I can see that the html is in the same state as if I had pressed the button. I have tried spooky.destroy and other approaches too, but nothing has worked.

AFAICT, this is a bug in Casper or Phantom. Closing.

Anyone get this working?


cmake: fix conversion of zero to hex

Previously, to_hex(0 output) would have placed 0x into the output variable, which is undesirable... this fix ensures that 0x0 is placed into this variable if the input is zero.

No objections, but note that from_hex() and to_hex() were imported 7 years ago, and they can now be replaced with:
math(EXPR dec "${hex}" OUTPUT_FORMAT DECIMAL)
math(EXPR hex "${dec}" OUTPUT_FORMAT HEXADECIMAL)

The only difference is that the output hex here is lowercase. Other than that, we can probably get rid of hex.cmake.

I don't believe from_hex() is actually used anywhere, and to_hex() is only used in this instance, so I'll rework the PR - thanks!

@57300 - thanks for your comment... I'm done!

In light of @tejlmand's comments, I've reworked this to:

Fix the bug
Mark the to_hex() and from_hex() functions as deprecated, and include a "stub" / reminder in .../FindDeprecated.cmake
Stop using to_hex() in .../version.cmake

I hope this works for everyone!


[BUG] ChallengeUnknownStep when trying to log in

Handle this when trying to log in:
instagrapi.exceptions.ChallengeUnknownStep: ChallengeResolve: Unknown step_name "delta_acknowledge_approved" for "None" in challenge resolver: {'step_name': 'delta_acknowledge_approved', 'flow_render_type': 3, 'bloks_action': 'com.instagram.challenge.navigation.take_challenge', 'cni':<PHONE_NUMBER>7167850, 'challenge_context': '{"step_name": "delta_acknowledge_approved", "cni":<PHONE_NUMBER>7167850, "is_stateless": false, "challenge_type_enum": "GENERIC_PHISHED", "present_as_modal": false}', 'challenge_type_enum_str': 'GENERIC_PHISHED', 'status': 'ok'}
And in my phone Instagram have window with message about phishing. Next step is EMAIL/SMS challenge.
How reproduce behavior:

only with more times logining:)

Yes, Instagram think that your password got leaked.
Manually follow the instructions in the Instagram app and then login with the fresh session

In another library, authentication processing was performed within the library with the code below, but can't it be done with this library?
https://github.com/dilame/instagram-private-api/blob/623a348343e34058c3a286693740aa3698aed3cc/examples/checkpoint.example.ts
In the past, there were cases where you could log in without problems on the smartphone app, but you would be asked for an authentication code only when logging in from the library. Will the app be locked now?


Show weed species on result card instead of just 'weed' or 'crop'

Fixes #349

I'd like to have this live before the TCG meeting tomorrow as it makes more sense of the live data.

maybe I'll just deploy it?

Grr the change to app.js wasn't meant to be committed

I've made this live on prod.

very nice! Looks good.


Add 1.13 and 1.14 Cilium manifests

Added manifests for newer Cilium versions

1.13.16
1.14.11
1.15.5 (Has differences between 1.30 and older versions, will be addressed later on)

The upgrade path seems to go incremental according to upstream docs

@mateoflorido said the test failure is unrelated to the changes, and is related to COS/monitoring. Will probably need to be addressed separately.
We've agreed manual tests were enough, I've attached my shell history/logs on manual tests.
Upgraded from 1.12 -> 1.13 -> 1.14.
cilium-upgrade.log
Leaving the merge up to you folks, thanks for the reviews!


Refactor falco talon chart

What type of PR is this?
/kind cleanup
/kind feature
/kind chart-release
Any specific area of the project related to this PR?
/area falco-talon
What this PR does / why we need it:
I added support of name and namespace override for falco-talon as Falco is doing.
I added support for falco-talon custom rules. I found an issue that i wasn't able to custom talon rules due to a little mistake in the chart, after discussion with a maintainer, we have agreed to change this behavior to support it as Falco does.
Which issue(s) this PR fixes:
Fixes #https://github.com/falcosecurity/falco-talon/issues/491#issuecomment-2414710722
Special notes for your reviewer:
This is my first contribution to Falco, don't hesitate to give me feedbacks if I can improve my proposals.
Checklist

[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[ ] CHANGELOG.md updated

@LeoFVO: The label(s) area/falco-talon cannot be applied, because the repository doesn't have them.

In response to this:

What type of PR is this?
/kind cleanup
/kind feature
/kind chart-release
Any specific area of the project related to this PR?
/area falco-talon
What this PR does / why we need it:
I added support of name and namespace override for falco-talon as Falco is doing.
I added support for falco-talon custom rules. I found an issue that i wasn't able to custom talon rules due to a little mistake in the chart, after discussion with a maintainer, we have agreed to change this behavior to support it as Falco does.
Which issue(s) this PR fixes:
Fixes #https://github.com/falcosecurity/falco-talon/issues/491#issuecomment-2414710722
Special notes for your reviewer:
This is my first contribution to Falco, don't hesitate to give me feedbacks if I can improve my proposals.
Checklist

[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[ ] CHANGELOG.md updated

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Hey, this PR is fixing some issues I noticed here
I also improved the codebase to be more uniformized with falco charts.
If you have any questions, feel free to ask :)

I'm currently in Norway for a talk, will review asap. Thanks a lot.


Failed to execute 'removeChild' on 'Node exception on ResizeSensor destructor

In ResizeSensor destructor, sometimes there's an exception "Failed to execute 'removeChild' on 'Node': The node to be removed is no longer a child of this node"
This is due to an element.resizeSensor already removed from element.
Here's a patch to correct this:
this.ResizeSensor.detach = function(element) {
if (element.resizeSensor) {
if(element.resizeSensor.parentNode) {
element.resizeSensor.parentNode.removeChild(element.resizeSensor);
}
//old removechild call
//element.removeChild(element.resizeSensor);
delete element.resizeSensor;
delete element.resizedAttached;
}
};

I see, good catch! Would you mind sending us a pull-request with that fix?

ping @paztis

Is this the same of https://github.com/marcj/css-element-queries/pull/168?


Add manifest.ts file

Context
With Next 13, there is a new way to handle manifest data:
https://nextjs.org/docs/app/api-reference/file-conventions/metadata/manifest
Expected Behavior
Have a manifest.ts file with some good baseline standards.
Here's what you will need:
import { MetadataRoute } from 'next'

export default function manifest(): MetadataRoute.Manifest {
  return {
    name: 'Codú',
    short_name: 'Codú',
    description: 'A free network and community for web developers. Learn and grow together.',
    start_url: '.',
    display: 'standalone',
    background_color: '#fff',
    theme_color: '#fff',
    icons: [
      {
        src: '/favicon.ico',
        sizes: 'any',
        type: 'image/x-icon',
      },
    ],
  }
}

Current Behavior
This isn't implemented.

Hi @NiallJoeMaher, let me know if you can assign this to me. Cheers!

@AnuMessi10 all yours!

@NiallJoeMaher I have made the PR (#607), let me know if any additional changes are required. 😄


disable rejection of perm simp lemmas, or override perm field for a simp lemma

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed.
Reduced the issue to a self-contained, reproducible test case.

Description
The simplifier identifies some simp lemmas as permutation lemmas (if the lhs and rhs differ only by a permutation of variables), and then rejects some rewrites by these lemmas.
This has undesirable effects, in particular when using simp lemmas with side conditions that independently prevent looping. It would be helpful to either be able to disable the check that rejects rewrites by perm lemmas, or on a per-lemma basis to override the perm field.
(This is a feature request, not a bug report.)

The intention here is that simp only [comm, comm_assoc, add_assoc] should sort a sum of f a i terms according to the value of i.
Expected behavior:
Both examples to succeed. I'd be happy if I needed to add some annotation that tells simp that comm should not be considered a perm lemma (because of the side condition), or to specify a configuration object for simp that disables the perm check.

This use case probably counts as mis-use of the simplifier, because it is using side conditions to control flow. One should imagine an alternate version of the simplifier, which instead of checking side conditions as they arose, collected them all and only checked them at the end. This version would loop in this example without the perm check. Probably one doesn't want to have to think about this difference in the specification of the simplifier's behavior.
Mario suggested as a possible alternative, relevant for the application I had in mind, a way of specifying a custom term order to the simplifier (i.e. to use at https://github.com/leanprover/lean4/blob/master/src/Lean/Meta/Tactic/Simp/Rewrite.lean#L73), as an alternative to the side conditions.
I still think it would be nice to have a hook to disable this term order check entirely, for people who want to play with fire, but I appreciate the reason to be hesitant. :-)
A separate issue that came up in this conversation was that this example relies on the simplifier using decidability to discharge side conditions, which is potentially extremely expensive, and will probably be turned off as the default behaviour in future.

I still think it would be nice to have a hook to disable this term order check entirely, for people who want to play with fire, but I appreciate the reason to be hesitant. :-)

By the way, if the term order was a user function, then you could supply fun _ _ => true as the term order if you like to play with fire...

I had a quick look at this possibility. Unfortunately one couldn't add a termOrder : Expr → Expr → MetaM Bool field to Simp.Config without a lot of rearranging, because that is defined in src/Init/Meta.lean, before MetaM is available.

Not Simp.Config, Simp.Methods


added bellman ford algo in java

I have added the Bellman ford algorithm in Java .
Closes #309

thanks for contributing


Hint font is too small

We need to be smarter about resizing the tutorial hint window -- otherwise the hints are not readable.

Fixed


Update delayed-healing

Fixes:
https://github.com/DapperMickie/delayed-healing/issues/1
https://github.com/DapperMickie/delayed-healing/issues/2
Better reliability and works in bank now.
Thanks to https://github.com/CreativeTechGuy for the PR

some optimizations you can make if desired:
Widget#isHidden can be expensive, so I'd move this check into the previous conditional block: https://github.com/DapperMickie/delayed-healing/compare/15922240fcf794905806783a2bac4d440d8052fb...DapperMickie:fe699f342beda037c57766606e6fe4a5b3fbe415#diff-69603ddaecdb9381dabadfcf7585204dcb3ad6009965bee1e350f6db80c4135cR47-R49
map.put(key, map.getOrDefault(key, 0) + newValue) could be replaced with map.merge(key, newValue, Integer::sum)

@iProdigy so for when INVENTORY_CONTAINER is not hidden, we don't check it twice is what you're saying? I'll fix that.
And the 2nd suggestion lgtm, I'll do that as well.


Date Picker Triggers Invariant Violation

🐛 Bug Report
tried to fix this issue here, but I don't understand what could be causing it...
I was using the Calendar component in my project with no issues. However, I decided it would be more convenient replacing it by the DatePicker, which apparently uses pretty much the same. Here is the code I have so far (relevant part):
To Reproduce
import React from 'react';
import {
            Alert,
            ScrollView,
            StyleSheet,
            View,
            InteractionManager,
            Image,
            TextInput,
            TouchableOpacity,
            BackHandler

        } from 'react-native';

import {
  Card,
  CardHeader,
  Layout,
  Text,
  Calendar,
  DatePicker,
  Spinner,
} from '@ui-kitten/components';

import { TaskCard } from './components/task-card';

import { validate } from 'validate.js';

import { Auth, Storage, API, graphqlOperation, scTracker } from '../modules/commons';
import Styles from '../modules/styles';
import constraints from './fields/constraints';

import Ionicons from 'react-native-vector-icons/Ionicons';

import { CustomCalendar } from './components/custom-calendar';

class TasksScreen extends React.Component {
    static navigationOptions = {
        title: "Atividades",
    };

    state = {
      cDate: null,
      showCalendar: false,
    };

    constructor(props) {
        super(props);

    };

    componentDidMount() {
        try {
            let lcDate = new Date();
            this.setState({
                cDate: lcDate,
            });
        } catch (e) {
            console.log(e);
        };
    };

    render() {
        return(

. . . . .

                    <Layout level="2" style={{width:"100%"}}>

                        <DatePicker     date={this.state.cDate}
                                        onSelect={(date)=>{this.setState({cDate: date})}}
                        />

                    </Layout>

                    <ScrollView contentContainerStyle={Styles.vScrollViewContent}>

                        <TaskCard

. . . . . .

Expected behavior
For some reason, with exactly the same parameters, it started to trigger an error pointing exactly on the line of the Layout wrapping the date picker (alog with all other Layout objects):
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s%s, undefined,  You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check your code at tasks-scr.js:91.,
    in TasksScreen (at SceneView.js:9)
    in SceneView (at createTabNavigator.tsx:67)
    in RCTView (at View.js:45)
    in View (at SceneView.tsx:92)
    in SceneView (at TabView.tsx:173)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:217)
    in AnimatedComponent (at Pager.tsx:667)
    in PanGestureHandler (at Pager.tsx:659)
    in Pager (at TabView.tsx:70)
    in RCTView (at View.js:45)
    in View (at TabView.tsx:128)
    in TabView (at createMaterialTopTabNavigator.tsx:136)
    in MaterialTabView (at createTabNavigator.tsx:228)
    in NavigationView (at createNavigator.js:80)
    in Navigator (at SceneView.js:9)
    in SceneView (at StackViewLayout.tsx:889)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:888)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:887)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewCard.tsx:106)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at screens.native.js:71)
    in Screen (at StackViewCard.tsx:93)
    in Card (at createPointerEventsContainer.tsx:95)
    in Container (at StackViewLayout.tsx:975)
    in RCTView (at View.js:45)
    in View (at screens.native.js:101)
    in ScreenContainer (at StackViewLayout.tsx:384)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewLayout.tsx:374)
    in PanGestureHandler (at StackViewLayout.tsx:367)
    in StackViewLayout (at withOrientation.js:30)
    in withOrientation (at StackView.tsx:104)
    in RCTView (at View.js:45)
    in View (at Transitioner.tsx:267)
    in Transitioner (at StackView.tsx:41)
    in StackView (at createNavigator.js:80)
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (at SceneView.js:9)
    in SceneView (at StackViewLayout.tsx:889)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:888)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:887)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewCard.tsx:106)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at screens.native.js:71)
    in Screen (at StackViewCard.tsx:93)
    in Card (at createPointerEventsContainer.tsx:95)
    in Container (at StackViewLayout.tsx:975)
    in RCTView (at View.js:45)
    in View (at screens.native.js:101)
    in ScreenContainer (at StackViewLayout.tsx:384)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewLayout.tsx:374)
    in PanGestureHandler (at StackViewLayout.tsx:367)
    in StackViewLayout (at withOrientation.js:30)
    in withOrientation (at StackView.tsx:104)
    in RCTView (at View.js:45)
    in View (at Transitioner.tsx:267)
    in Transitioner (at StackView.tsx:41)
    in StackView (at createNavigator.js:80)
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (at createAppContainer.js:430)
    in NavigationContainer (at App.js:21)
    in RCTView (at View.js:45)
    in View (at modalPanel.component.js:62)
    in ModalPanel (at applicationProvider.component.js:68)
    in ThemeProvider (at styleProvider.component.js:13)
    in MappingProvider (at styleProvider.component.js:12)
    in StyleProvider (at applicationProvider.component.js:67)
    in ApplicationProvider (at App.js:19)
    in App (at withExpoRoot.js:20)
    in RootErrorBoundary (at withExpoRoot.js:19)
    in ExpoRootComponent (at renderApplication.js:35)
    in RCTView (at View.js:45)
    in View (at AppContainer.js:98)
    in RCTView (at View.js:45)
    in View (at AppContainer.js:115)
    in AppContainer (at renderApplication.js:34)
- node_modules/expo/build/environment/muteWarnings.fx.js:27:24 in error
- node_modules/react/cjs/react.development.js:188:36 in warningWithoutStack
- node_modules/react/cjs/react.development.js:603:32 in warning
- node_modules/react/cjs/react.development.js:1730:14 in createElementWithValidation
* src/screens/tasks-scr.js:91:25 in render
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:11581:21 in finishClassComponent
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:11509:4 in updateClassComponent
- ... 15 more stack frames from framework internals

Invariant Violation: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of `TasksScreen`.
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:5716:10 in createFiberFromTypeAndProps
- node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js:5744:4 in createFiberFromElement
- ... 19 more stack frames from framework internals

Warning: Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in %s.%s, the componentWillUnmount method,
    in TabBar (at MaterialTopTabBar.tsx:92)
    in TabBarTop (at createMaterialTopTabNavigator.tsx:84)
    in Pager (at TabView.tsx:70)
    in RCTView (at View.js:45)
    in View (at TabView.tsx:128)
    in TabView (at createMaterialTopTabNavigator.tsx:136)
    in MaterialTabView (at createTabNavigator.tsx:228)
    in NavigationView (at createNavigator.js:80)
    in Navigator (at SceneView.js:9)
    in SceneView (at StackViewLayout.tsx:889)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:888)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:887)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewCard.tsx:106)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at screens.native.js:71)
    in Screen (at StackViewCard.tsx:93)
    in Card (at createPointerEventsContainer.tsx:95)
    in Container (at StackViewLayout.tsx:975)
    in RCTView (at View.js:45)
    in View (at screens.native.js:101)
    in ScreenContainer (at StackViewLayout.tsx:384)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewLayout.tsx:374)
    in PanGestureHandler (at StackViewLayout.tsx:367)
    in StackViewLayout (at withOrientation.js:30)
    in withOrientation (at StackView.tsx:104)
    in RCTView (at View.js:45)
    in View (at Transitioner.tsx:267)
    in Transitioner (at StackView.tsx:41)
    in StackView (at createNavigator.js:80)
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (at SceneView.js:9)
    in SceneView (at StackViewLayout.tsx:889)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:888)
    in RCTView (at View.js:45)
    in View (at StackViewLayout.tsx:887)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewCard.tsx:106)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at screens.native.js:71)
    in Screen (at StackViewCard.tsx:93)
    in Card (at createPointerEventsContainer.tsx:95)
    in Container (at StackViewLayout.tsx:975)
    in RCTView (at View.js:45)
    in View (at screens.native.js:101)
    in ScreenContainer (at StackViewLayout.tsx:384)
    in RCTView (at View.js:45)
    in View (at createAnimatedComponent.js:151)
    in AnimatedComponent (at StackViewLayout.tsx:374)
    in PanGestureHandler (at StackViewLayout.tsx:367)
    in StackViewLayout (at withOrientation.js:30)
    in withOrientation (at StackView.tsx:104)
    in RCTView (at View.js:45)
    in View (at Transitioner.tsx:267)
    in Transitioner (at StackView.tsx:41)
    in StackView (at createNavigator.js:80)
    in Navigator (at createKeyboardAwareNavigator.js:12)
    in KeyboardAwareNavigator (at createAppContainIjs:430)
- node_modules/expo/build/environment/muteWarnings.fx.js:27:24 in error

UI Kitten and Eva version

Package
Version

@eva-design/eva
1.3.1

@ui-kitten/components
4.3.2

Environment information

  System:
    OS: Linux 4.15 Ubuntu 18.04.3 LTS (Bionic Beaver)
    CPU: (1) x64 Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
  Binaries:
    Node: 10.16.3 - ~/.nvm/versions/node/v10.16.3/bin/node
    npm: 6.13.1 - ~/environment/node_modules/.bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  npmPackages:
    react: 16.8.3 => 16.8.3
    react-native: https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz => 0.59.8

Datepicker, not DatePicker


add test for DecodeCustom

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

80 of 109 (73.39%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 55.165%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

jwt/jwt.go
80
109
73.39%

Totals

Change from base Build<PHONE_NUMBER>:
0.5%

Covered Lines:
2152

Relevant Lines:
3901

💛  - Coveralls


eosjs 7.1.5 fail to initial Localnet

eosio version: dawn-v3.0.0 (d9ad8ee)
eosjs version:  7.1.5 (a148dc8)
Test code:
Eos = require('../src') //Eos = require('eosjs')
eos = Eos.Localnet() // eos = Eos.Testnet() // testnet at eos.io
eos.getBlock()

Error message:
$ node app/test.js
/home/joel/eosjs/src/structs.js:117
  const staticVariant = baseTypes.static_variant([
                                  ^

TypeError: baseTypes.static_variant is not a function
    at PublicKeyType (/home/joel/eosjs/src/structs.js:117:35)
    at createType (/home/joel/eosjs/node_modules/fcbuffer/lib/types.js:161:14)
    at customTypes.(anonymous function) (/home/joel/eosjs/node_modules/fcbuffer/lib/types.js:132:20)
    at getTypeOrStruct (/home/joel/eosjs/node_modules/fcbuffer/lib/fcbuffer.js:160:13)
    at create (/home/joel/eosjs/node_modules/fcbuffer/lib/fcbuffer.js:198:16)
    at module.exports (/home/joel/eosjs/node_modules/fcbuffer/lib/index.js:51:17)
    at module.exports (/home/joel/eosjs/src/structs.js:74:58)
    at createEos (/home/joel/eosjs/src/index.js:76:50)
    at Object.Localnet (/home/joel/eosjs/src/index.js:52:12)
    at Object.<anonymous> (/home/joel/eosjs/app/test.js:2:11)

@Joelone I check again and I see it is success 👍
Test code:
  keyProvider: ['5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3'], // WIF string or array of keys..
  httpEndpoint: 'http://<IP_ADDRESS>:8888',
  expireInSeconds: 60
};

const eos = Eos.Localnet(config);

console.log(eos.getBlock());

Result:
[nodemon] starting `node -r dotenv/config -r babel-register src/index.js`
[nodemon] restarting due to changes...
[nodemon] starting `node -r dotenv/config -r babel-register src/index.js`
USAGE
getBlock - Fetch a block from the blockchain.

PARAMETERS
{
  "block_num_or_id": "string"
}

RETURNS
{
  "previous": "uint32",
  "timestamp": "time",
  "transaction_merkle_root": "uint32",
  "producer": "uint16",
  "producer_changes": "map<account_name, account_name>[]",
  "producer_signature": "signature",
  "cycles": "thread[]",
  "id": "fixed_bytes33",
  "block_num": "uint32",
  "ref_block_prefix": "uint32"
}```

Strange, I still see the same error with your code. Is it because of eosjs only support docker, and I built EOS 3.0 release from source?
app/test.js
Eos = require('../src') //Eos = require('eosjs')
config = {
  keyProvider: ['5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3'], // WIF string or array of keys..
  httpEndpoint: 'http://<IP_ADDRESS>:8888',
  expireInSeconds: 60
};

const eos = Eos.Localnet(config);

console.log(eos.getBlock());

cleos output
$ cleos get info
{
  "server_version": "d9ad8eec",
  "head_block_num": 59221,
  "last_irreversible_block_num": 59220,
  "head_block_id": "0000e755b775186a91e8db5926181c6584b0fcbed3100ca473e4597fac7b6b20",
  "head_block_time": "2018-04-10T03:45:11",
  "head_block_producer": "eosio"
}

result
$ node app/test.js
/home/joel/eosjs/src/structs.js:117
  const staticVariant = baseTypes.static_variant([
                                  ^

TypeError: baseTypes.static_variant is not a function
    at PublicKeyType (/home/joel/eosjs/src/structs.js:117:35)
    at createType (/home/joel/eosjs/node_modules/fcbuffer/lib/types.js:161:14)
    at customTypes.(anonymous function) (/home/joel/eosjs/node_modules/fcbuffer/lib/types.js:132:20)
    at getTypeOrStruct (/home/joel/eosjs/node_modules/fcbuffer/lib/fcbuffer.js:160:13)
    at create (/home/joel/eosjs/node_modules/fcbuffer/lib/fcbuffer.js:198:16)
    at module.exports (/home/joel/eosjs/node_modules/fcbuffer/lib/index.js:51:17)
    at module.exports (/home/joel/eosjs/src/structs.js:74:58)
    at createEos (/home/joel/eosjs/src/index.js:76:50)
    at Object.Localnet (/home/joel/eosjs/src/index.js:52:12)
    at Object.<anonymous> (/home/joel/eosjs/app/test.js:9:17

@Joelone I am using build on MacOS 😄

@navcsdev I'm using ubuntu 16.04, but I think it shouldn't be matter for node.js

Is eosjs using the correct fcbuffer version like this:
npm ls fcbuffer
<EMAIL_ADDRESS>/home/jcalfee/eosjs/eosjs
└──<EMAIL_ADDRESS>

My local repo messed up.It works now. Thanks @jcalfee


AOM: Introduce AVM Nightly configuration

This is designed carefully after multiple iteration and testing, yet this will run ~15 hours (usertime) with ~4/5 machines with some sets (A1, A2, B1) taking 3 threads each for AOM-CTCv4.0.

http://vlc12.xiph.osuosl.org:3000/?job=AVM_RA_4.0_RA-17f-mandatory-112c-tiles-nightly-t3-V3
This is a sample runs, it takes around ~20 hours at the moment in the machine, once we put in beta, we will have more clear idea, So lets deploy this patch.


[auth-mailchimp-sync] Add lifecycle events

Add lifecycle events to add existing users to the specified Mailchimp audience.
TODO

[x] Docs review from @kevinthecheung - done in firebaseprivate
[x] Update package-lock.json once<EMAIL_ADDRESS>is published
[ ] Code review
[x] Republish and test to ensure that nothing broke while switching to published deps

Added some improved error handling for users already in the audience:


I am getting Material-UI: the component displayName is invalid warning after migration from v3 to v4

` console. | @ | index.js:1437
-- | -- | -- | --
  | (anonymous) | @ | breadcrumbs.js:76
  | printWarning | @ | warning.js:34
  | warning | @ | warning.js:58
  | (anonymous) | @ | withStyles.js:32
  | ./src/pages/App/components/Header/components/MultiISP/index.js | @ | index.js:155
  | webpack_require | @ | bootstrap:786
  | fn | @ | bootstrap:149
  | ./src/pages/App/components/Header/index.js | @ | index.js:550
  | webpack_require | @ | bootstrap:786
  | fn | @ | bootstrap:149
  | ./src/pages/App/index.js | @ | index.js:405
  | webpack_require | @ | bootstrap:786
  | fn | @ | bootstrap:149
  | Promise.then (async) |   |
  | ./src/containers/App.js | @ | App.js:25
  | webpack_require | @ | bootstrap:786
  | fn | @ | bootstrap:149
  | ./src/index.js | @ | CustomStyle.js:209
  | webpack_require | @ | bootstrap:786
  | fn | @ | bootstrap:149
  | 0 | @ | subscriberStatus.js:70
  | webpack_require | @ | bootstrap:786
  | checkDeferredModules | @ | bootstrap:45
  | webpackJsonpCallback | @ | bootstrap:32
  | (anonymous) | @ | main.chunk.js:1
`

Can you provide a minimal reproducible example please. A codesandbox or a repository will do :)

I just got the same thing - I'll try to find it and make a PR to add it to the documentation.

@jmcpeak How can we reproduce the problem?

@jmcpeak How can we reproduce the problem?

Use recompose and don't use [setDisplayName('NameHere')](https://github.com/acdlite/recompose/blob/master/docs/API.md#setdisplayname)
I probably have 100 components where I don't set this value...

Could you provide a codesandbox?

I'm still trying to create a sandbox - but...
I found the issue...
withStyles() is being called with an object not a function - that object has a displayName property - but it is never being used.
In this file:
https://github.com/mui-org/material-ui/blob/master/packages/material-ui-utils/src/getDisplayName.js
this method: function getDisplayName(Component)
If the type of Component is an object, the switch only checks for: Component.$$typeof
But if the object has a displayName - it is ignored.
I'm still working on creating an example... more to come...

Can you provide a minimal reproducible example please. A codesandbox or a repository will do :)

I am working on client project, so not able to share repository. I will try to create codesandbox link and let you know. Thank you for your reply :)

We might be able to introduce a new warning in development, waiting for the codesandbox :).

Same issue too... :( Cant find way to fix it...
Warning: Material-UI: the component displayName is invalid. It needs to be a string. Please fix the following component: [object Object].

The reason is the wrapped component cannot be recognized by withStyles().
For example, the code,
withStyle(styles)(connect()(MyComponent)) will throw the warning.
After changing it to,
connect()(withStyle(styles)(MyComponent)), the warning is fixed.

The reason is the wrapped component cannot be recognized by withStyles().
For example, the code,
withStyle(styles)(connect()(MyComponent)) will throw the warning.
After changing it to,
connect()(withStyle(styles)(MyComponent)), the warning is fixed.

Thank you very much @sucy6330133 :)

I can reproduce the warning doing the following:
export default compose(
  withStyles(styles),
  React.memo,
  connect(state => ({
    reduxTheme: state.theme,
    t: state.options.t,
    userLanguage: state.options.userLanguage,
  })),
)(AppFrame);

Warning: Material-UI: the component displayName is invalid. It needs to be a string.
Please fix the following component: [object Object].

Also experiencing this issue - is the new expectation with withStyles/makeStyles not to allow an object passed in, but always a function?

It will be fixed in v4.0.2, this weekend.


Correct boundaries for old base package

This fixes #79
it is not possible to support versions older than 7.10 since there were  some api changes

@juanpaucar what about:

To Hapistrano maintainers: you probably need to add a conditional dependency on nats for older base versions that do not have Numeric.Natural in them.

@sestrella I tried but, I got this errors because of the api change on errors

@sestrella could you take another look, please? What do you think? Should we remove compatibility or make deeper changes on errors catching to support older versions?

@sestrella I'm merging this to push the package to hackage. If an issue is opened to support older versions, we might take a look at this again. In any case support for ghc 7.10 was dropped on version <IP_ADDRESS> but boundaries were not properly adjusted


Missing acorn peer dependency

Bug report
What is the current behavior?
When I install the latest version of webpack (5.48.0), I receive the warning:
npm WARN<EMAIL_ADDRESS>requires a peer of acorn@^8 but none is installed. You must install peer dependencies yourself.

This is quite strange since acorn is an explicit dependency of webpack: https://github.com/webpack/webpack/blob/v5.48.0/package.json#L13
Output from npm ls acorn:
> npm ls acorn
<EMAIL_ADDRESS>/Users/me/git/my-project
├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ └─┬<EMAIL_ADDRESS>│   └─┬<EMAIL_ADDRESS>│     └─┬<EMAIL_ADDRESS>│       └─┬<EMAIL_ADDRESS>│         ├──<EMAIL_ADDRESS>│         └─┬<EMAIL_ADDRESS>│           └──<EMAIL_ADDRESS>deduped
└─┬<EMAIL_ADDRESS>  └── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>
If the current behavior is a bug, please provide the steps to reproduce.
npm install -D webpack
What is the expected behavior?
Able to install without peer dependency warnings.
Other relevant information:
webpack version:  5.48.0
Node.js version: 14.17.3
Operating System: macOS 11.5.1 (Intel silicon)
Additional tools:

npm: 6.14.13

Even stranger. The following resolves the issue:
npm uninstall webpack eslint jest
npm install -D webpack
npm install -D eslint jest

Combining the last two commands into one (e.g., npm install -D webpack eslint jest) does not resolve the issue.

due bug in npm


Adds code to enrich data

https://github.com/metal-toolbox/trivy-extractor/pull/2#discussion_r1273769324
if we wanted to make it global we would need 10 global variables to grab each attribute. We might be able to do one and then have match indexes to grab the value for the attribute. the reason i did it this way is in anticipation that the order changes in future releases.


Login fail

Hi Newan,
I don't know when it started, but my adapter doesn't work anymore.
The log sais:
Request failed with status code 429
Api login error - check username and password
I think it's self-explaining that I never changed any credentials.
I sent a mail to the easee support and they gave me a link to the API. All I see there is this:
Too many requests from third party system detected.
Your IP is temporary blocked for 24 hours from the last request received. Easee portal and app will work as normal but any third party integration will fail.
Easee does not provide end-user support for third party integrations. Please contact your third party provider / developer for support.
I closed the adapter and will wait until tomorrow, but I need to know if this is an adapter issue. Do you have the same problems right now?
Thx Alex

Nope, no such problems here.
But I heard that easee introduced some load-avoidance parameters, such as to restrict the number of requests sent towards their api.
I see two possibilities here:

Check your instance settings: In api-settings, what intervall did you choose here? Try to set it to 120 seconds or even greater, if SignalR works stable for you.
Check your skripts if they try to modify/request information too often. For me, 120 seconds work perfectly as well here, since most cars don't like to many changes in the provided power anyway.


Format the code

It can be hard to read at times, this would make it easier.

Yeah, I'm planning to do this for all of the addons after merging the current PR.

I'm also planning on just cleaning it up a little more (getting rid of console logs, unnecessary comments, etc.) 👍

That's great! Maybe I'll able to actually try to make an addon then lol

:D :D :D

@mybearworld I just installed/setup ESLint so that formatting will be much better, will create a PR soon.


YASQE flags correct path syntax as inccorrect

YASQE flags correct path syntax inside blank node abbreviation forms as incorrect.
MWE:
prefix : <http://>
select * { :s :p1 :o1 ; :p2 [ :p3/:p4 :o2 ] }

This is correct according to sparql.org and according to the W3C BNF grammar.

Pff, horrible, the sparql grammar. Postponing this for now, and will look into it later.
ps. interestingly enough, the other js SPARQL parsers fails on this query specifically as well: https://github.com/RubenVerborgh/SPARQL.js

@LaurensRietveld SPARQL syntax not that bad (compared to GML syntax, that is :-P), let me walk you through it:
First, we use the following rule to introduce an anonymous blank node
with square bracket notation:
[101] BlankNodePropertyListPath ::= '[' PropertyListPathNotEmpty ']'

Within the brackets we are then allowed to write a VerbPath followed
by an ObjectListPath:
[83]  PropertyListPathNotEmpty  ::= ( VerbPath | VerbSimple ) ObjectListPath
                                    ( ';' ( ( VerbPath | VerbSimple ) ObjectList )? )*

For the VerbPath we can quickly walk through a sequence of simple
grammar rules that show us that iri '/' iri is legal:
[84] VerbPath         ::= Path
[88] Path             ::= PathAlternative
[89] PathAlternative  ::= PathSequence ( '|' PathSequence )*
[90] PathSequence     ::= PathEltOrInverse ( '/' PathEltOrInverse )*
[92] PathEltOrInverse ::= PathElt | '^' PathElt
[91] PathElt          ::= PathPrimary PathMod?
[94] PathPrimary      ::= iri | 'a' | '!' PathNegatedPropertySet | '(' Path ')'

The ObjectListPath is a simple iri.

It seems the YASGUI grammar is correct (and the only sparql.org validator isnt ;)).
Your clause [ :p3/:p4 o2] is incorrect. Paths are not allowed there (see https://www.w3.org/TR/sparql11-query/#rPropertyListPathNotEmpty), only ObjectLists


error version

The snapshot format changed with the recent releases.  Older snapshots can not be loaded in it.  Use a snapshot in the new format.
If you still have the problem and wish to discuss it further, please post it in https://eosio.stackexchange.com. To keep things organized, Github issues are intended for bug reporting and feature tracking, and Stack Exchange is the right place for any technical support discussions. Thanks!


Bsc bridge client

Currently we only support tft token v1 in web3proxy and will not support token v0. So until https://github.com/threefoldtech/home/issues/1424 is done I will put this to state blocked.

bridges will become a 3bot function


Redmine 5.0: Assign to me text shouldn't wrap

I was able to reproduce the issue.
It doesn't show up on the full-screen desktop. And I also don't see it on the mobile.
But when I scale the browser window on the desktop (make it smaller and smaller horizontally), at some point the UI transitions to a mobile layout. When I continue to make the window smaller, I'm able to capture this wrapping issue. And then when the window is as narrow as a mobile phone, the issue disappears again.


Update PPP

Codecov Report

Merging #212 (7d5df88) into master (3b20597) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #212   +/-   ##
=========================================
  Coverage     72.88%   72.88%
- Complexity      741      743    +2
=========================================
  Files           108      108
  Lines          2423     2423
  Branches        280      280
=========================================
  Hits           1766     1766
  Misses          583      583
  Partials         74       74

Impacted Files
Coverage Δ

src/main/java/seedu/fast/model/person/Name.java
90.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Fast double-buffered DMA

When handling multiple double-buffered DMA streams the current safe-and-universal API becomes slower than necessary.
This adds next_dbm_transfer_with(), a closure-based API to the inactive buffer, without address poisoning, compiler fences, data barriers, or buffer swapping. For some applications this reduces the overhead significantly (speedup of 5).

It's really interesting that such a dramatic speedup is possible. I guess that's with release mode / optimisations enabled in both cases?
The PR looks good to me.

Yes. That's always in release mode. The gain is mostly in cancelling the buffer Option swapping operations, several address writes through the slower bus matrices, various checks of DMA state that depend on whether it's double buffer or not, and the redundant fence in the case of multi-DMA handlers.

Thanks!
bors r+


Detect tensorboard commands in terminal

Send telemetry when we find an integrated terminal running tensorboard

We can use vscode.window.onDidWriteTerminalData

This is now https://github.com/microsoft/vscode-python/pull/15125

This is now https://github.com/microsoft/vscode-python/pull/15125

Did you submit this in python already?

Did you submit this in python already?

Yes but this is just about sending telemetry when we find an integrated terminal running tensorboard now.

Yes but this is just about sending telemetry when we find an integrated terminal running tensorboard now.

@joyceerhl I was looking to verify this bug. I installed tensorboard locally but when I started it up either from my Mac terminal or from VS Code terminal my terminal name changed to Python3.7 not tensorboard. Anything specific I need to do here?

@joyceerhl I was looking to verify this bug. I installed tensorboard locally but when I started it up either from my Mac terminal or from VS Code terminal my terminal name changed to Python3.7 not tensorboard. Anything specific I need to do here?

Sounds like the current mechanism won't work for tensorboard installed into conda environments. I'll implement the process tree polling idea next.

Sounds like the current mechanism won't work for tensorboard installed into conda environments. I'll implement the process tree polling idea next.

@joyceerhl should we move this out of validate or is there another issue for the conda problem?

@joyceerhl should we move this out of validate or is there another issue for the conda problem?

Ugh I thought I moved it back to backlog. Should be fixed now.

Ugh I thought I moved it back to backlog. Should be fixed now.


Feature request: brew cask reset (zap without uninstall)

Description of feature/enhancement
It would be nice to be able to reset a package's data directories (like zap does) without uninstalling the original cask.  I would suggest using the term reset (i.e. brew cask reset android-studio).  It would take al the same parameters as zap
Justification
The main reason for this would be to reset the preferences for an app to its default state.
Currently, this can be achieved by a combination of zap and install...but for large applications, this can involve redownloading the application during the install phase.
It can also be achieved by brew cask cat <token> and deleting stuff from the zap stanza manually.  This, however, can be tedious as well.
Example use case
One use case I have run into is with android-studio.  Sometimes it gets in a "wonky" state, and cleaning up the SDK directory and its preferences will get it back to a working condition.  Since the application is quite large, the second download is kind of painful.
Yes - if it's cached, it won't redownload, however, when using homebrew and homebrew-cask in an scripted environment to automate system deployment, it's nice to be able to get back to a "clean" starting point.

While I can see these use for this with some Casks, zap does not respect shared files (updaters, etc) and in some Casks completely duplicates the uninstall.
I would be concerned that promoting reset as an option to "reset" prefs, caches, etc could lead to unexpected results for the user.

and in some Casks completely duplicates the uninstall.

Wait, we have those? Why? zap always runs uninstall beforehand, so there’s no need for any duplication between them.

I would be concerned that promoting reset as an option to "reset" prefs, caches, etc could lead to unexpected results for the user.

Agreed. While on one hand I’m fine with the feature since the user should be familiar with the possibility of screwing up files for another app, in practice I think we’d get bug reports and PRs that would make zap less useful, to avoid those cases. Having a third stanza just for reset is out of the question — too much work for too little gain.

Wait, we have those? Why?

Only two or three  Casks with "automatic" uninstallers, the zap is a backup. nomachine is the only one I can think of offhand but there are a couple of others.

Closing as per https://github.com/caskroom/homebrew-cask/issues/40880#issuecomment-345513041
@toonetown You can perform a "reset" by piping the output of brew cask _stanza {cask}
Quick example:
$ brew cask _stanza zap android-studio | xargs -n 1 | grep -A2 trash | grep Library | tr -d ","
~/Library/Android/sdk
~/Library/Application Support/AndroidStudio3.0
~/Library/Caches/AndroidStudio3.0
~/Library/Logs/AndroidStudio3.0
~/Library/Preferences/AndroidStudio3.0
~/Library/Preferences/com.android.Emulator.plist
~/Library/Saved Application State/com.google.android.studio.savedState


Start conda kernels by inheriting env variables from the conda environment

For #365
TODO:

Will need to use conda environments & install beakerx & test this

this will primarily be mostly yml work (& re-using existing tests for running non-python kernels code  in notebooks).

Please review existing fucntionality in the mean time.

Looks like a live share test is also failing, will fix that


Working nodeFit feature

Implements #529.
This feature adds a nodeFit boolean parameter to all descheduler strategies. When nodeFit is set to true, the descheduler strategy will take "node fit" into account when evicting pods. This increases the probability that pods can be re-scheduled to a new node successfully upon eviction.
For the current implementation, "node fit" is defined by the following criteria:

A nodeSelector on the pod
Any Tolerations on the pod and any Taints on the other nodes
nodeAffinity on the pod
Whether any of the other nodes are marked as unschedulable

/assign @damemi @ingvagabund
Could you please review my PR?
Specifically @damemi I made some changes to the TopologySpreadConstraint strategy to avoid checking for node affinity and taints twice (see line 290 of topologyspreadconstraint.go).

@RyanDevlin: The following test failed, say /retest to rerun all failed tests:
Test name	Commit	Details	Rerun command
pull-descheduler-verify-master	b7daf8e link /test pull-descheduler-verify-master
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

@RyanDevlin  It seems that you forgot to run make verify before pushing commits.

@RyanDevlin https://github.com/kubernetes-sigs/descheduler/issues/551 is more about deciding what's the average number of duplicates per node rather than checking if a pod can be evicted. The issue is about avoiding unnecessary evictions in the first place.

@ingvagabund In the description of #551 it says "Take at least node taints (e.g. taints repealing pods from master nodes) into account when selecting pods for eviction. If possible, take node selector into account as well". I'm a bit confused how that differs from what my feature does?
Since RemoveDuplicas filters pods by with the Evicatable function prior to calculating duplicates, would this feature not achieve the behavior desired in #551?

#551 is focused mainly for adjusting https://github.com/kubernetes-sigs/descheduler/blob/master/pkg/descheduler/strategies/duplicates.go#L107. As described in the description:
In case there's a cluster with 3 master nodes and 3 workers and a workload (owned by an RC) is uniformly
distributed among worker nodes (the expected distribution), the strategy still evicts pods of the workload
since it takes master nodes into account as well. E.g. 12 pods, 4 pods bound to each worker node, 6 pods
are evicted (6 nodes, 12 pods, 2 per node) which always end up on the same worker nodes again.

Currently, all 6 nodes are taken into account. So the average number of pods per node is 2. The idea is to adjust nodeCount to 3 (filter out masters which can not run evicted pods). With your PR the nodeCount is still 3 and there are two other worker nodes which can run the evicted pods. So instead of evicting 0 pods (since the pods are evenly distributed among the worker nodes), the strategy will still evict 6.

@ingvagabund I see what you mean, thanks for that link! I'll remove #551 from the description of the PR.

@damemi I'm still unable to resolve my generated conversions issue, but I have some more information if it helps. You can see the latest build logs here: https://prow.k8s.io/view/gs/kubernetes-jenkins/pr-logs/pull/kubernetes-sigs_descheduler/559/pull-descheduler-unit-test-master-master/1389200208998436864.
The log file shows all the places in my zz_generated.conversion files where there are errors, eg:
sigs.k8s.io/descheduler/pkg/api/v1alpha1/zz_generated.conversion.go:122:74: undefined: DeschedulerPolicy

You can see these errors yourself if you fetch my code and run ./hack/update-generated-conversions.sh, then open the sigs.k8s.io/descheduler/pkg/api/v1alpha1/zz_generated.conversion.go file.
So far I haven't been able to figure out the cause of these errors. If there is something I'm doing wrong, or something I should try, please let me know.

@RyanDevlin in that Prow output I see: sigs.k8s.io/descheduler/sigs.k8s.io/descheduler/pkg/api/v1alpha1, and from your other comment above (https://github.com/kubernetes-sigs/descheduler/pull/559#issuecomment-830402018) it sounds like the generator script is creating an entirely new directory called sigs.k8s.io/descheduler within the project?
If so, something is totally broken. The reason you're getting undefined errors is because those generated files don't have any type definitions to go along with them. In other words, that script should just be updating the existing zz_**.go files in the directories like https://github.com/kubernetes-sigs/descheduler/tree/master/pkg/api
So, first off we need to delete the sigs.k8s.io/descheduler directory that's being created, and then figure out why the script is creating a new one in the project root on your environment.

@damemi That makes so much more sense, I didn't initially understand that the conversion gen script should be editing the existing zz_**.go files. Also I've figured out why this is happening. Running ./conversion-gen --help gives me:
  -o, --output-base string               Output base; defaults to $GOPATH/src/ or ./ if $GOPATH is not set. (default "./")

Since my $GOPATH is unset, this is defaulting to the root of the repo. The problem I face now is that even if I set my $GOPATH, my local copy of the repo is structured as a fork. Thus, my directory structure is:
~/go/src/github.com/RyanDevlin/descheduler

and not:
/go/src/github.com/sigs.k8s.io/descheduler

So the script will keep trying to look for the sigs.k8s.io/descheduler/pkg/api path, which I don't have. Is it a requirement to clone the repo into a sigs.k8s.io folder? Or should these scripts be agnostic of the directory they exist in?

Is it a requirement to clone the repo into a sigs.k8s.io folder?

When GOPATH was more of a requirement, yes, you should clone your forks to the location of the actual package name (ie, the upstream path) and add your fork as a Git remote.
Technically with go.mod now widely used, we should probably be able to function independently of that. In the meantime, I would try to change your project directory to match and see if that's the easy fix

@damemi Okay I've fixed the issue by changing directories and using GOPATH. Sorry about all that confusion, I shouldn't run into this issue again.
Like you said, I'm thinking eventually we make it so the conversion-gen script doesn't rely on assumed paths. For now, this works though.

One thing to keep in mind. There's no guarantee an owner will keep the pod manifest as it is between descheduler runs. E.g. one might create 10 replicas of a pod and then edit a RS to change the taints/node selector. So when the Descheduler tries to decide if there's a different node that can run the evicted pod, a new pod can have completely different constraints to respect.
Worth mentioning that when enabling nodeFit param. The Descheduler still works in the "best-effort" approach.

There's no guarantee an owner will keep the pod manifest as it is between descheduler runs. E.g. one might create 10 replicas of a pod and then edit a RS to change the taints/node selector. So when the Descheduler tries to decide if there's a different node that can run the evicted pod, a new pod can have completely different constraints to respect.

@ingvagabund if the RS is modified, won't this trigger an immediate redeployment of all the pods with the new spec, and they'll be re-listed in the Descheduler cache? So we will have the new constraints anyway, or it will try acting on non-existent pods

It will not to my knowledge. Only when the number of replicas is decreased and then increased.

@ingvagabund @damemi In that case, would some clarification in the README be sufficient to cover this topic in the context of the current PR?

@RyanDevlin sorry for the late review. I finally found more time to check your changes more closely.

/retest

/retest

@ingvagabund have you had time to review my comments above? Specifically the second comment about strategies that filtered for node taints and affinity?
Just to reiterate, my line of thinking was that the goal of this feature was to get all strategies in line with a method for considering taints, affinity, etc. before descheduling. Some strategies already performed a subset of these checks before considering pods for descheduling.
In order to make this process more uniform, I removed some of the filtering for taints, etc. from nodeAffinity, topologySpread, and maybe one or two other strategies. I obviously never removed any filtering that was critical to the strategy (eg. the affinity filtering performed in nodeAffinity).
My assumption was that, if a user desired more advanced filtering, they would turn on the nodeFit feature in order to gain a closer to optimal eviction process.

/retest

I like the point you are making. I am in favor of simplifying the code. On the other hand, we can't change the default behavior just because of that. I'd rather wait for a release or two and make it enabled by default. Then eventually remove the gate completely.

@ingvagabund That's a fair point. In that case, I can revert any filtering changes I made to the strategies for now. Also I'll wait to hear from @damemi @lixiang233 @seanmalloy for extra thoughts on this before pushing anything.
For this type of follow up task, should I file a new issue so we can keep track of the future work?

For this type of follow up task, should I file a new issue so we can keep track of the future work?

I'd like to hear from other as well what they think about it. Filling a tracking issue sounds good if agreed.

I like the point you are making. I am in favor of simplifying the code. On the other hand, we can't change the default behavior just because of that. I'd rather wait for a release or two and make it enabled by default. Then eventually remove the gate completely.

Yeah, let's not change the default behavior right now. Tracking it over the next 2 releases to be enabled by default makes sense, and falls in line with upstream's featuregating approach

@ingvagabund @damemi Thanks for the input! I've restored the original functionality of the strategies. I also agree that the tests are becoming exceedingly complex, especially the e2e tests.
Lastly, I've opened issue #574 to track the removal of the optimization performed by this feature from the individual strategies.
Hopefully that covers everything for this PR, but if not, please comment and I will make changes!

/lgtm
Had a PTO the last week. Sorry for the delay :)
@RyanDevlin thank you for the patience.

@damemi @ingvagabund Thank you both for the review!


[Feature Request] Compass Button Snap to/between Cardinal Directions

Would it be possible to make the compass button have more inputs?
The first click would snap to N
The next click would snap to East
and so on.

Duplicate of #1770


question: why url type is constrained in "host:port(no path)" format

Url used in etcd is constrained in "host:port(no path)" format. https://github.com/coreos/etcd/blob/master/pkg/types/urls.go#L28
if _, _, err := net.SplitHostPort(u.Host); err != nil {
    return nil, fmt.Errorf(`URL address does not have the form "host:port": %s`, in)
}
if u.Path != "" {
    return nil, fmt.Errorf("URL must not contain a path: %s", in)
}

Under this constraint, the path of unix socket file in integration pkg is <IP_ADDRESS>:port+pid, a related path.
https://github.com/coreos/etcd/blob/master/integration/cluster.go#L460 . In my view, a more common unix socket file path may be /absolute/path/xxx.sock(url.host="", url.path="absolute path").
func newLocalListener(t *testing.T) net.Listener {
    c := atomic.AddInt64(&localListenCount, 1)
    // Go 1.8+ allows only numbers in port
    addr := fmt.Sprintf("<IP_ADDRESS>:%05d%05d", c+basePort, os.Getpid())
    return NewListenerWithAddr(t, addr)
}

So why url type is constrained in "host:port(no path)" format? Can't find the reason from this constraint's commit https://github.com/coreos/etcd/commit/83137f9eba183b454264b9902f00739b42ba49a8 .
Thanks in advance.

So why url type is constrained in "host:port(no path)" format?

It was added merely for testing, so it makes sense to enforce URL format.
For more general unix socket use case, we might remove such constraints in the future.


Update Dockerfile

This pull request includes a

[X] Bug fix
[X] Feature
[X] Transition

Three changes:

ca-certificates doesn't need to be at the top. (bug fix)
--host <IP_ADDRESS> will ALWAYS need to be run, best to hardcode it on the ENTRYPOINT (feature)
CMD has been added to run the help when the container is run with no switches (transition)
.dockerfile ignores the .git/ directory for smaller, faster builds.

All looks good apart from moving the ca-certificates back to the line where build-base is installed - I moved it to the top because if the Python requirements.txt changes, it'll invalidate the cache for the following lines including the line where ca-certificates is installed. Because we need the ca-certificates package even if requirements.txt changes, I moved it higher than that line to avoid the cache being invalidated and having to reinstall the package.

I (personally) don't like making disk changes before meta changes.
A meta change is:

EXPOSE
WORKDIR

Split out:
RUN apk add build-base ca-certificates
COPY requirements.txt /usr/src/app
RUN pip install && apk del build-base

Thoughts?

Waaaaay out of date now. Sorry for not getting to it sooner - the open source community ploughed on faster than I could keep up with :)


Make BundleInfo's fields not pub(crate)

Objective
While working on #8053, it became apparent that BundleInfo's pub(crate) fields are a potential soundness if the fields are accessed mutably after initialization.
Solution
Make them not pub(crate). Use inlined accessor functions instead.

Hmm. This is technically breaking. I'm fine to omit a migration guide entry, but I'm not sure I love shipping this in 0.10.1

Is it breaking? The fields are pub(crate), no user facing interface was changed.

Yep I was wrong: this isn't breaking at all.

Oh right the const on the ID. It's not technically breaking as it's only a gain of function and will not break any builds, but it is backwards-incompatible. I can remove that if need be.

I don't think this needs to be in the 0.10.1, this doesn't affect any consumers of bevy_ecs.


Ambiguous text for Sig Store X (formerly known as Twitter) link

Description
Link for the Sig Store X (formerly known as Twitter) page does not have meaningful text, creating ambiguity for a screen reader user.
Recommendation: Link text should be I.E. 'Connect us on X' or 'Sig Store on X' to make it more meaningful.
Note
The relevant WCAG success criteria is2.4.4
Reference Accessibility Audit #245
Background
Test performed by Krishna Bodawala Accessibility Consultant Iota

Created a PR for this. I just went with "Twitter" and "GitHub" for now., rather than "Connect to Sigstore on Twitter" or similar.


Invalid Java package name

Currently, the Android library uses a package name of com.onepassword.rustls-platform-verifier, which works fine on older versions of Java but on newer versions of Java presents us with this build failure:

Package 'rustls.rustls-platform-verifier' from AndroidManifest.xml is not a valid Java package name as 'rustls-platform-verifier' is not a valid Java identifier.

Underscores are not considered valid characters in a Java identifier.
Suggestion: change the package name to something like rustls.platformverifier.android (not sure why 1Password needs to be referenced at all) and remove all of the underscores.
This is currently blocking some Android updates at 1Password so I'm happy to make this change but I just wanted to file an issue so that this is being tracked.

Thanks for filing this. This seems like a pretty easy change to make, but please feel free to make a PR if you'd like. Otherwise I can get to this next week.

not sure why 1Password needs to be referenced at all

Its a holdover from when this crate was moved from the 1Password GitHub organization to here. At the time no one saw it as an issue to keep it as-is, so it wasn't modified. This seems like a good opportunity to fix it though.


Is this project alive and open to collaboration?

So I've submitted an issue that never got touched, and assumed this project was dead... but have noticed a couple of version bumps recently.
Questions:

is someone maintaining it?

if so, who?

where are the contributing guidelines and what's the release flow?

the only issues on this board are raised by me, so where's the issues board you're using? And is there a release roadmap/plan?

do you need help?

have you considered getting sponsorship from Google (because really, this is a very good project compared to google's in-house "sdks" which are a nightmare to work with)?

(and because I noticed that you've deprecated support for python <3.10)

are you aware google use ridiculously out of date python versions (e.g. dataflow only supports up to 3.9), so to get any kind of acceptance you'll need to keep some backward compatibility?

Hey @thclark ! Sorry for the absence of response, this notification might have got lost.

is someone maintaining it?
I maintain this repo as a side project, it is heavily used in some companies I've been working.
Some of my colleagues also help from time to time.

where are the contributing guidelines and what's the release flow?
You can just fork and make a PR. The CI/CD should take care of some minor guidelines, but the testing is still quite manual since there's no integration test with Google APIs.

the only issues on this board are raised by me, so where's the issues board you're using?
The issues that my team encounter are immediately resolved (as you may see by the constant releases).

And is there a release roadmap/plan?
We try to make releases as soon as possible. We test a lot and release.
It might not the most stable library, but it allows us to "break fast, change fast".

do you need help?
Sure, everything we might think you can add is very welcome. 🙏

have you considered getting sponsorship from Google
I did not, really. Google has been gradually adding better libraries (one for each service).
This project mainly helps with those very beta-stage APIs that have no dedicated library.

are you aware google use ridiculously out of date python versions
Yeah, I like to keep things up-to-date to use the cool features, and this repo usually follows up these projects, since I didn't have many other users, really.
And I agree repo could have more retro-compatibility, we're just missing more tests and release cycles.