Fix shift

Taking some inspiration from the (MIT-licensed) vue js:
https://github.com/vuejs/vue/blob/dev/src/cache.js#L66
Updated the shift method to properly:

maintain the size
clear the tail on exhaustion

I’m not taking vue’s word and intuition that
this._keymap[entry.key] = undefined
is sufficient.
Fixes #6.

This is a super-simple alternative to #8, which incorporates the test cases mentioned there. Thanks @hilbix!


missing parent "regulation of cytoplasmic translational initiation"

GO:1990611
"regulation of cytoplasmic translational initiation in response to stress"
is not a descendant of
GO:0002813
cytoplasmic translational initiation

Hi @ValWood
I wonder why this is precomposed; I thought you captured 'response to' as extension?

There is no logical definition for this term (and the parents). How about, for GO:0043555 regulation of translation in response to stress:
is_a GO:0065007 ! biological regulation
regulates GO:0006412 ! translation
happens_during GO:0033554 ! cellular response to stress
Note that it would then loose is_a cellular response to stress.
Is that OK ? If so, I'll add the others on that model.
Thanks, Pascale
+intersection_of:

wonder why this is precomposed; I thought you captured 'response to' as extension?

I would prefer that especially for pathways that are activated in response to many different stresses (oxidative, osmotic, nitrosative etc). Or that we get rid of all the chemicals used as ways to induce these stresses .......but I think there is some room for very general stress terms.
I would be happy to do either way. We use those to be consistent. If we pick up mappings it looks odd to not have other pathway parts annotated in the same way. So I guess I use the terms if they exist, but I don't  request new  precomposed terms....


refactor: modify modulemodel obtain from beanfactory

modify modulemodel obtain from beanfactory

Codecov Report

Merging #13181 (730fe52) into 3.3 (8bdcaf6) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                3.3   #13181      +/-   ##
============================================
- Coverage     68.45%   68.41%   -0.04%
  Complexity        8        8
============================================
  Files          1717     1717
  Lines         70800    70801       +1
  Branches      10236    10236
============================================
- Hits          48464    48440      -24
- Misses        17658    17680      +22
- Partials       4678     4681       +3

see 31 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Support OpenAI API server in benchmark_serving.py

Adds --endpoint and --model parameters so that the user can benchmark their OpenAI compatible vLLM server

@simon-mo can I request a review?
This might be something nice to merge before #2433 so that the OpenAI compatible server can benefit from @ywang96's work.

can you enable maintainers to edit this PR? I have some small fixes here

can you enable maintainers to edit this PR?

Thanks for the review @simon-mo, unfortunately I don't think I can because my PR is from an organisation-owned fork, not a user-owned fork. Although, I'd be happy to make any changes you suggest!

I have just realised that using tqdm.gather (as per my latest commit) is also not the right solution because it'll only get called to gather the last few tasks once the async for is complete.

Thanks for making the change. Let me add the benchmark script because it requires some back and forth.

@simon-mo I've just confirmed this morning that the fix I made in ddd7e33 is not actually correct.
The progress bar only appears once the async for loop is complete so we only benefit from the progress bar once most of the requests have already completed.

Hmm I see. It is pretty tricky because a one liner won't do. Feel free to open another PR!

Hi guys, thanks for the PR, just saw that this benchmark: https://github.com/vllm-project/vllm/blob/main/benchmarks/benchmark_serving.py#L138
It doesn't count the tokens length in the output response, it take directly the max_tokens as output_len?
I think we should measure the actual output token throughput, not the requested max token.

Hi @tattrongvu, this PR is only really concerned with enabling the benchmarking of the OpenAI compatible server, not with any specifics of the benchmark itself.

It doesn't count the tokens length in the output response, it take directly the max_tokens as output_len?

This is partially correct. You're right in saying that the actual output token length is not measured, but it's not using max_tokens either. From the code snippet below, you can see that the output_len actually comes from measuring the length of the completion in the dataset:
https://github.com/vllm-project/vllm/blob/3209b4903376fd723858b256dcfabb8420a0cc64/benchmarks/benchmark_serving.py#L50-L57
This method is not great because it's very unlikely that any model will actually recreate the exact completion in the dataset.
The good news is that this is resolved in #2433!

Hello @tattrongvu! As @hmellor mentioned, the original benchmark script always assumes the model generates the same number of tokens as output_len, which I believe won't be true for some engines (e.g., TGI) if they don't have a ignore_eos feature.
One of the fixes I did in #2433 is to postprocess the generated text and measure the number of tokens to give a more accurate result.


[FEATURE] Update outdated go deps

Is your feature request related to a problem?
We have quite a few outdated go deps and a few dependabot issues https://github.com/opensearch-project/opensearch-k8s-operator/security/dependabot
What solution would you like?
Update the deps but not sure what the right approach would be:
Either update everything:

go work sync && go mod tidy
go get -u -d ./... && go mod tidy

Or update only dedicated deps

[Triage]
Hey @salyh how about we update all the dependencies ?
Adding @swoehrl-mw @bbarani


Update README.md ( Closes #40 )

Enhanced README.md with these updates
✅ Add image badges
✅ Create a banner at top to showcase the project
✅ Add contributors list action workflow that updates contributors section
✅ add detailed descriptive guide
Closes #40

@RameezIbrahimOfficial While your contributions is appreciated & the code-changes are really good, that i can merge them.
However you must follow the Hacktoberfest guidelines. You should first comment on the #40 issue so it can be assigned to you.
You can't just raise a PR without following protocol or let the author know.


bugfix: driver: esp32: eth_mdio: fix clock and function calls

Both MDIO and Ethernet drivers share the same clock subsystem. After clock control update in #73807, clock_control_on() now returns -EALREADY for already initialized clock subsystem. As a result, ethernet driver won't initialize as needed.
Due to the same clock control and hal updates, internal functions required updates.
Fixes #74440
As this PR updates hal_espressif, it also fixes #74632.

It is also important to mention that current clock_control_api test interface considers that -EALREADY is an error:
https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/drivers/clock_control/clock_control_api/src/test_clock_control.c#L261

Bebase again to check whether Babblesim stops failing.


disable persistGraphQL in DEV mode

Thank you for the awesome project!
I just wanted to run queries on graphiql but got blocked by persistGraphQL on, even in DEV mode.
So I'm disabling it when it's DEV mode.
Simply close this if you don't think it's a problem.

I think I am missing something.

@zirho Should be fixed via: https://github.com/sysgears/apollo-fullstack-starter-kit/commit/9f2be313a08f2a4211f68253d5865e7f30bcd762


bidsmap/json setup

Hello,
I am getting data setup to process with QSIprep and was wondering if there were any requirements/recommendations in setting up the json files for DTI & accompanying field maps, i.e. necessary parameters, customLabels, etc. to include in the dcm2bids config file?
Thanks!

Hi! I'm not familiar with dcm2bids, but some of the things you'll want to make sure you have correct are

The phase encoding direction in your dwi images and fieldmaps
The fields required for calculating Effective Echo Spacing (https://github.com/PennBBL/qsiprep/blob/44be045c83d4aaf5fdbcf8817c0ea986f528ae25/qsiprep/interfaces/fmap.py#L459)
The "IntendedFor" fields in the fieldmap images.

Although it's possible to skip BIDS validation, I strongly recommend against it. The best path is to make sure your data passes the BIDS validator then to try QSIPrep on a single subject to see if it is detecting and applying the fieldmaps correctly.


Project status?

What is the status of this project and who is responsible for improving and maintaining it?
I ask because there are multiple development groups at Harvard working on python LTI apps and using ims_lti_py for basic plumbing functionality. The lack of activity and response to issues/PR has become disconcerting.
If TopHat is no longer interested in being the maintainer maybe we can have a discussion about a handoff of some kind, e.g., transferring ownership of the pypi package listing. There are improvements we'd like to see/contribute and a fork is not really our preferred approach.
Apologies for the mass tagging. @amackera doesn't appear to work for TopHat anymore, so I'm not sure who or how else to reach out about this.
@aehlke
@alexhughson
@chrono
@druska
@ian-tophat
@kastopia
@ryanwsnow

Hi @lbjay, you're right I no longer work for Top Hat, but I'm doubtful that anybody at the org would be willing to take over the project (correct me if I'm wrong, guys!)
I'm happy to transfer ownership to a maintainer that can give the library the attention it deserves.

Fantastic. Thanks, Anson. I'm 'lbjay' over on pypi.python.org. You should be able to add me as an Owner via the package Roles interface there.
There's actually a 2nd thing I think we might want to do involving ownership of the github repo. I'm going to consult with some other folks here and see if there's any interest in creating a new 'python-lti' github org. Otherwise I might ask you to transfer it to the Harvard DCE org.

Hi @lbjay
We're still using this library in production, but it hasn't required active maintenance (though we would update it if the need arose for us). We're not in a position to actively manage pull requests and other community contributions for now. So we'd be happy to give you / others in your org owner privileges of the PyPI package, and write permission to this upstream repo. That's the easiest change to manage; if there's reason to change the root repo over to yours or a new org, we can discuss that too.
Thanks (and thanks @amackera !)

Hi @aehlke,
Ah, OK! I was operating with the assumption that there was an ownership vacuum, but in light of the fact that you all intend to continue/expand your use of the library it sounds reasonable for the repo to remain in the TopHat org for now.
In addition to write permissions could you give me rights to add a couple of other devs here? Otherwise I'll poll our groups and get back to you with a few more names.
Thanks!

@lbjay I've just made you an admin of this repo. I'll look into ownership privileges of the PyPI package next.
Thanks!

Ah @amackera could you please add @lbjay as the owner of the PyPI package?

To whomever may be interested: @lbjay and I are discussing the future direction of dce_lti_py (a fork of this), and if anyone else is interested, feel free to join the conversation at harvard-dce/dce_lti_py#4.

@ryanhiebert thanks for the update, glad to see this taking off in your hands.


Update dependencies (support the new workspace-inheritance feature)

I'm using the workspace-inheritance feature from cargo 0.65, which makes this tool fail to run:
Error: failed to parse manifest at `.../Cargo.toml`

Caused by:
    feature `workspace-inheritance` is required

    The package requires the Cargo feature called `workspace-inheritance`, but that feature is not stabilized in this version of Cargo (1.63.0).
    Consider adding `cargo-features = ["workspace-inheritance"]` to the top of Cargo.toml (above the [package] table) to tell Cargo you are opting in to use this unstable feature.
    See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#workspace-inheritance for more information about the status of this feature.

So this updates cargo and the rest of the dependencies, and bump the version to 0.1.20

Looks great. Can you update the changelog as well? Important part is updated version of cargo.

Looks great. Can you update the changelog as well? Important part is updated version of cargo.

Done :)

Published. Thank you for the pull request.


Missing class qProduct

However thanks A LOT! Your project gave me opportunity to learn how to REST API ;D

Hey, thanks for your feedback. It does not seem to be an issue.
qProduct is let's say an instance of QProduct class. QClasses, generally, will automatically be generated under the /target/generated-sources directory, when you build the project. It make sense that you cannot use QClasses and their instances, if you don't build the project first.
Did you try to execute the maven goals described in readme file? You can run the goals using both terminal or your IDE.


Add is_ready flag to file json representation

Coverage increased (+0.0004%) to 99.138% when pulling 0f417b64d04c447cc5f0045ef7d695a4a0a62e32 on tf:file-ready-json-seed into ce06bc9be2aed64c91e3d8dfe958896f7060d030 on codevise:master.


latest github release version not available in pypi

Hello!

Vote on this issue by adding a 👍 reaction
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

Issue details
The latest version is 5.22 in the github repo but only 5.20 is available un pypi https://pypi.org/project/pulumi-gcp/
Thank you

Hi @raphaelauv
My apologies - I am not sure what happened, I have just published v5.23.0 to correct the binary issue and can confirm that it's in PyPi
Paul


Extract Tooling into own repository

Description
We have merged our peribolos-based configuration recently, and it is doing great work. But unfortunately, as this tooling resides within this repository, we're also getting updates via renovate for our tooling.
This repository should handle community-specific agendas, and managing software updates is more bloat than benefiting the purpose.
So we'd like to extract the tooling into a separate repository, but create deliverable artifacts to be used within the community repository
Proposal
Migrate the go files into an own repository, and build a docker image within this repository.
This docker image should be ready for GitHub Action so that we can replace the logic of the tooling within this repository within the docker image.

As discussed via Slack. This will help to keep the repo "clean" from renovate PRs etc.

this is a first iteration: https://github.com/open-feature-forking/community-tooling - i will coordinate with @beeme1mr regarding next steps :)


Assign alias to source at runtime when from can't be expanded

Refs #2502
~That's another attempt at ensuring that source alias won't get silently ignored when it doesn't apply.~
~I'm not entirely sure whether this is the right way to go - it's possible I overdid it with the escape/unescape dance. Also, https://github.com/elixir-ecto/ecto/compare/master...zoldar:zoldar-crash-on-from-as-query-source-redux?expand=1#diff-2bc73ed242e9a034ae5755e404196341R126 feels a bit fishy to me (it leaks over to From.apply even though escape logic is applied) - I don't see a better way to deal with that ATM.~
This PR handles aliasing source in cases where from expression can't be expanded at compile time.

@zoldar after some thoughts. What do you think about this:
diff --git a/lib/ecto/query/builder/from.ex b/lib/ecto/query/builder/from.ex
index da69631e..68eacdc6 100644
--- a/lib/ecto/query/builder/from.ex
+++ b/lib/ecto/query/builder/from.ex
@@ -57,29 +57,30 @@ defmodule Ecto.Query.Builder.From do

     {query, binds} = escape(query, env)

-    {count_bind, quoted} =
-      case expand_from(query, env) do
-        schema when is_atom(schema) ->
-          # Get the source at runtime so no unnecessary compile time
-          # dependencies between modules are added
-          source = quote do: unquote(schema).__schema__(:source)
-          prefix = quote do: unquote(schema).__schema__(:prefix)
-          {1, query(prefix, source, schema, as)}
-
-        source when is_binary(source) ->
-          # When a binary is used, there is no schema
-          {1, query(nil, source, nil, as)}
-
-        {source, schema} when is_binary(source) and is_atom(schema) ->
-          prefix = quote do: unquote(schema).__schema__(:prefix)
-          {1, query(prefix, source, schema, as)}
-
-        other ->
-          {nil, other}
-      end
-
-    quoted = Builder.apply_query(quoted, __MODULE__, [length(binds)], env)
-    {quoted, binds, count_bind}
+    case expand_from(query, env) do
+      schema when is_atom(schema) ->
+        # Get the source at runtime so no unnecessary compile time
+        # dependencies between modules are added
+        source = quote do: unquote(schema).__schema__(:source)
+        prefix = quote do: unquote(schema).__schema__(:prefix)
+        {query(prefix, source, schema, as), binds, 1}
+
+      source when is_binary(source) ->
+        # When a binary is used, there is no schema
+        {query(nil, source, nil, as), binds, 1}
+
+      {source, schema} when is_binary(source) and is_atom(schema) ->
+        prefix = quote do: unquote(schema).__schema__(:prefix)
+        {query(prefix, source, schema, as), binds, 1}
+
+      other ->
+        quoted = quote do
+          query = unquote(query) # Unquote the query for any binding variable
+          Ecto.Query.From.apply(query, unquote(length(binds)), unquote(as))
+        end
+
+        {quoted, binds, nil}
+    end
   end

   defp query(prefix, source, schema, as) do
@@ -103,8 +104,9 @@ defmodule Ecto.Query.Builder.From do
   @doc """
   The callback applied by `build/2` to build the query.
   """
-  @spec apply(Ecto.Queryable.t, non_neg_integer) :: Ecto.Query.t
-  def apply(query, binds) do
+  @spec apply(Ecto.Queryable.t, non_neg_integer, atom) :: Ecto.Query.t
+  def apply(query, binds, as) do
+    # TODO: validate `as`
     query = Ecto.Queryable.to_query(query)
     check_binds(query, binds)
     query

Basically, the first three clauses we know the query exists at compile time and that the alias is valid, because we just build it, so we don't need to check it. For the remaining ones, we just always do it at runtime.

I have updated the gist. But basically, the thing to implement is in the TODO and it should work fully at runtime (no macro magic).
Note I haven't tested this in any way at all :P

@josevalim Yeah, that definitely looks better and is less invasive. There's no use in escaping/unescaping from when applying to other query parts than From.

@josevalim Thanks for pointers. I'll make the adjustments and see how it works out a bit later. As to whether alias indiscriminately or not - I'm not sure now. I'll try to think it over, do some poking around and perhaps dig through Postgres/MySQL docs.

@josevalim I have applied your version with a tiny correction or two. I have also added logic for aliasing at runtime. The alias, when defined, is assigned in virtually all cases. Referring to source was and is possible by other means, so there's not much sense limiting it for named bindings anyway.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


docs: adds paeckchen explanation

Coverage remained the same at 100.0% when pulling 4382f59b5adfa836be2317e6e4f52b4e3b70ff2a on update-docs into 72a544beecbd59f2e6ac0fa2d8fad3c813d16b6e on master.


InlineModelFormList CAN NOT deal with model with  two primary keys

When pk is tuple, the following code does not work.
    pk_map = dict((str(getattr(v, self._pk)), v) for v in values)

    # Handle request data
    for field in self.entries:
        field_id = field.get_pk()

        if field_id in pk_map:
            model = pk_map[field_id]

            if self.should_delete(field):
                self.session.delete(model)
                continue
        else:
            model = self.model()
            values.append(model)

Beside, type of str(getattr(v, self._pk)) may be different from that of field_id = field.get_pk().

This has recently been fixed.


Update README.md

Closing as yarn will run yarn install by default

Additionally please provide descriptions for your changes
Even a one line summary is fine to cover "Why"


⚠ Bofrost.at has degraded performance

In 93a2645, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1752 ms

Resolved: Bofrost.at performance has improved in 027f9bc.


How can I review code of the bitcoin cash protocol?

How can I review code of the bitcoin cash protocol? Id like to study the code to possibly work on the project in the future if you need help.

There are a number of full node projects. Here are a couple to get you started.
https://bitcoincashnode.org
https://bchd.cash

There are also good threads at bitcoincashresearch.org


Mustafacco

Type of issue
Typo
Feedback

Page URL
https://learn.microsoft.com/en-us/cli/azure/ad/user?view=azure-cli-latest#code-try-11
Content source URL
https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/latest/docs-ref-autogen/ad/user.yml
Author
@dbradish-microsoft
Document Id
39842113-e499-d863-0f61-795089d844d9

#4693

Hello, @mustafacco7, I see your PR 9696 and I've replied there.

Spam.


Support custom fragments in alarm creation

Signed-off-by: Pradeep Kumar K J<EMAIL_ADDRESS>Proposed changes
Create an alarm with custom fragments
Supports for both thin-edge devices as well as for the child devices.
For example, if an alarm message is published with a custom fragment as below a child device it must create an alarm with the custom message.
tedge mqtt pub tedge/alarms/critical/myCustomAlarmType/child_device_example '{ "text": "Some test alarm", "someOtherCustomFragment": {"nested":{"value": "extra info"}} }'

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
https://github.com/thin-edge/thin-edge.io/issues/1682
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

@PradeepKiruvale Look ok from a non-rust pov. I will let @albinsuresh (or some other rust enabled person) to formally approve to prevent it from being merged prematurely.

@PradeepKiruvale I found the reason why the alarm is not visible in the Cumulocity UI, the severity fields need to be in uppercase!
I just tested with your version here, and below is the json that I saw was being pushed to the c8y/alarm/alarms/create topic.
{
    "externalSource": {
        "externalId": "TST-extend_pure_loop_child1",
        "type": "c8y_Serial"
    },
    "severity": "critical",    // <<<<<<<<<<<<<<<<< needs to be UPPERCASE
    "type": "myCustomAlarmType",
    "time": "2023-02-01T21:08:14.800229538Z",
    "text": "Some test alarm",
    "someOtherCustomFragment": {
        "nested": {
            "value": "extra info"
        }
    }
}

@PradeepKiruvale I found the reason why the alarm is not visible in the Cumulocity UI, the severity fields need to be in uppercase!
I just tested with your version here, and below is the json that I saw was being pushed to the c8y/alarm/alarms/create topic.
{
    "externalSource": {
        "externalId": "TST-extend_pure_loop_child1",
        "type": "c8y_Serial"
    },
    "severity": "critical",    // <<<<<<<<<<<<<<<<< needs to be UPPERCASE
    "type": "myCustomAlarmType",
    "time": "2023-02-01T21:08:14.800229538Z",
    "text": "Some test alarm",
    "someOtherCustomFragment": {
        "nested": {
            "value": "extra info"
        }
    }
}

Good catch, but I remember testing with all CAPS. But still, it was not working then, Now it works, strange. Anyways I have updated the code to address this issue.


Fix streaming functions for LegacySNSMessage

Signed-off-by: Ashish Agrawal<EMAIL_ADDRESS>Description
Fix streaming functions for LegacySNSMessage
Issues Resolved
N/A
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #320 (dff135d) into 2.x (cc3b254) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                2.x     #320      +/-   ##
============================================
+ Coverage     73.21%   73.22%   +0.01%
  Complexity      698      698
============================================
  Files           110      110
  Lines          4588     4587       -1
  Branches        607      607
============================================
  Hits           3359     3359
+ Misses          978      977       -1
  Partials        251      251

Impacted Files
Coverage Δ

.../commons/destination/message/LegacySNSMessage.java
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Closing for #325


About Display name reserved

OK, i Got a display name "A" in a Assistant Action , and i want to use it in another Assistant Action which in different Google account.
So I delete the Action in first account, and add the same display name in another account. But it warning that "Could not reserve your pronunciation 'A' because: Your pronunciation is already reserved by another Assistant Action".
Is that mean I can't use this display name any more?
I still want to use this display name. thank you.

Thanks for clarifying. There is a 7-day grace period for deleted projects, so it won't immediately be available. Alternatively, if you do rename the display name in the original project, it should no longer be reserved.

Thank you very much.This helps me a lot.

Thanks for clarifying. There is a 7-day grace period for deleted projects, so it won't immediately be available. Alternatively, if you do rename the display name in the original project, it should no longer be reserved.

https://cloud.google.com/resource-manager/docs/creating-managing-projects?visit_id=637198127026538708-2384402513&rd=1#restoring_a_project
this sholud help you in restoring your project for name change

What if I already deploy it to the alpha? Change the display name and redeploy did not help. The display name is still reserved.

Solved with support contacted via https://support.google.com/actions-console/contact/support


fix Fix write column id twice problem on wal file

Proposed changes
wal file using desc_tbl.slotDescriptors to record table column id, in some case i found column id will be recorded twice, for example a table has tree column, wal should record column id 0,1,2,, now it may record 0,1,2,0,1,2, this pr is used to fix this problem.
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Walk with followlinks issue

import pyfakefs.fake_filesystem
import os
import shutil
def sortWalk(l):
newList = []
for (p,l1,l2) in l:
newList.append((p,sorted(l1),sorted(l2)))
return sorted(newList,key=lambda x:x[0])
fs = pyfakefs.fake_filesystem.FakeFilesystem()
fs.CreateDirectory('/Volumes')
fs.CreateDirectory('/Volumes/ramdisk')
fs.CreateDirectory('/Volumes/ramdisk/test')
os0 = pyfakefs.fake_filesystem.FakeOsModule(fs)
component0 = "alpha"
path0 = "/Volumes/ramdisk/test"
path1 = path0 + "/" + component0
os0.symlink(path0,path1)
result0 = sortWalk([p for p in os0.walk(path0,topdown=True,followlinks=True)])
if os.path.exists('/Volumes/ramdisk/test'):
shutil.rmtree('/Volumes/ramdisk/test')
os.mkdir('/Volumes/ramdisk/test')
os0 = os
component0 = "alpha"
path0 = "/Volumes/ramdisk/test"
path1 = path0 + "/" + component0
os0.symlink(path0,path1)
result1 = sortWalk([p for p in os0.walk(path0,topdown=True,followlinks=True)])
print len(result0),len(result1)
for i in xrange(0,len(result0)):
if result0[i] != result1[i]:
print "MISMATCH AT",i
print "  pyfakefs = ",result0[i]
print "  os       = ",result1[i]
More elaborate test case than usual, to let you see what is happening, it's a long symlink chain, but the difference is only in last element.  I suspect there is some related bug that can cause a termination issue (not recursion overflow, but testing just locks up), with symlinks and walk with followlinks, but haven't yet managed to capture a test case.

This is again the problem with the maximum recursion depth - I have changed the algorithm slightly, so that it now gets out one more element then before to match your findings, but that may have been wrong. On the Mac, the maximum recursion depth is 32, but we effectively get 33 here.
As I said before, I do not consider this something that pyfakefs should support at all, but I may have a further look as it seems to hinder your testing.
Can you give me the full output of result0 and result1 here, just to be sure I understand this correctly? I cannot really reproduce this properly under Windows.

Output on my mac, latest version from github of pyfakefs:
33 33
RESULT0 = [('/Volumes/ramdisk/test', ['alpha'], []), ('/Volumes/ramdisk/test/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], [])]
RESULT1 = [('/Volumes/ramdisk/test', ['alpha'], []), ('/Volumes/ramdisk/test/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], []), ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', [], ['alpha'])]
MISMATCH AT 32
pyfakefs =  ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', ['alpha'], [])
os       =  ('/Volumes/ramdisk/test/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha/alpha', [], ['alpha'])

Ok, thanks - not really what I expected. The real result looks somewhat strange, I will try to understand this.

Hm, this is strange - if I test this in pyfakefs, I get exactly the same as result1 (which is from the real os if I understand correctly).

Ok, I may have another look tomorrow. I have no idea why you get different results - reverting to the version from yesterday didn't change the outcome.

This is weird.  I didn't think you guys cared, just seeing if I can find some way to test walk with followlinks=True.  For now, just turning it off.  My guess (based on a hanging test) was that followlinks=True leads to some issue with a loop not terminating, so I wanted to test it some, but if we keep hitting this and the behavior is weird, maybe ignorable.
Very odd if my mac and your machine produce different pyfakefs results.  os, sure, but pyfakefs?

Maybe I did some mistake, though I don't know how. You are right, I don't care much about this issue as it is not a real world issue, but I'm just intrigued...

Ok, my mistake was to test under Python 3.
This was an IOError vs. OSError issue - IOError was catched in the relevant place, OSError was not (as they are the same in Python 3, it behaved correctly there).


Restrict Registration to Some Social Integrations

Describe the feature you'd like
As a admin of a BookStack installation, I would like to have the option to restrict registration to just Slack, but not via e-mail.
Describe the benefits this feature would bring to BookStack users
I would be only allow slack users with access to a specific workspace to register an account, but disallow users to register via email.
Additional context
If the development team agrees, that this is a feature worth implementing, I would be willing to put the work in to get it implemented

Thanks for the suggestion @csicar.
This would probably be a level of configuration I would be apprehensive to go down to.
Might be okay if it can be implemented in a simple manner via just one .env configuration option.
To implement in the required format though, this may be dependant of #1090 since we don't currently provide the mechanisms to properly independently disable to primary auth method.
For your specific scenario, are you sure the "Automatic Registration" option described on this page doesn't already provide the required functionality? Enabling this for should allow auto-registration via the slack option on the login page, while leaving registrations disabled for email sign-up.


Handle JS errors gracefully

why?
should fix https://github.com/bytecodealliance/javy/issues/360
how?
instead of plain unwrapping, handle the errors on both call sites for run_bytecode and print out the error if it's there. This prints also the stacktrace from JS, which was already been captured by existing code.
question for the reviewers
should we still panic after we have handled the error?

Thank you for the super insightful comments. Will address those!


Update HiveD Image

Coverage remained the same at 34.684% when pulling 659ea8dfd5aec4edbd8b7ef2cc5294bfb993dc86 on hived/release into 3c2a6514363bbff41b2bd40ae104e9537e716fcb on master.


Tdunn/20160712 samples doc

Updated sample description.
@ldanzinger - Please review and merge. Thank you.

Meant for v.next. Closing.


[282] Enable support to change an application choice to salaried course

Context
Previously a decision was made to prevent support from changing an application choice to a salaried course due to funding concerns.
See PR: https://github.com/DFE-Digital/apply-for-teacher-training/pull/7289/files
A decision has been made to revert this change, as this is something that we regularly have to do.
Changes proposed in this pull request
Revert: https://github.com/DFE-Digital/apply-for-teacher-training/pull/7289/files
Guidance to review
Change an application choice to salaried course and ensure it works. support/applications/{id}
Link to Trello card
https://trello.com/c/oewLZfW5/282-allow-support-to-change-a-course-choice-to-a-salaried-course
Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] If this code adds a column to the DB, decide whether it needs to be in analytics yml file or analytics blocklist
[x] API release notes have been updated if necessary
[x] If it adds a significant user-facing change, is it documented in the CHANGELOG?
[x] Required environment variables have been updated added to the Azure KeyVault

 Change offer from tution fee to salaried


TypeError: Cannot read property 'createOffer' of undefined

Getting the following error!
botAccount.TradeManager.createOffer(partnerSid, function (err, currentOffer) {
TypeError: Cannot read property 'createOffer' of undefined
at C:\Users\LolCoolKat\Documents\node-steam-bot-manager\APITradeBot.js:80:52
Any help would be appreciated!

The issue should be fixed, please refer to latest update/commit.
Simply type 'npm update' in the console while in the project folder, and also download the new example file, located here.
I will leave the Issue open for the next few days, incase you have another issue regarding this functionality. Otherwise you may close it if the issue is resolved.

Thank you! I am all set for the time being.


test 2

/hub build data

/hub build data

/hub build nothing

/hub build something

/hub build nothing

/hub build build

/hub build aaaaaaaaahhhh

/hub build something

/hub build all

/hub build site


backend's certificates validation in TLS origination

Please describe your use case / problem.
The SSL negotiation to a backend application with a generic certificate is accepted. The ambassador does not verify the CN or SubjectAltName of the application certificate. In the documentation there is the follow information:

Ambassador will assume it can trust the services in your cluster so will default to not validating the backend's certificates. This allows for your backend services to use self-signed certificates with ease.
https://www.getambassador.io/reference/core/tls/#tls-origination

Describe the solution you'd like
I would like a configuration parameter to change this default behavior to enable this SSL verification.
Describe alternatives you've considered
None.
Additional context
None.

not state. Can we pass through a validation_context to support this? See https://www.envoyproxy.io/docs/envoy/latest/start/quick-start/securing#start-quick-start-securing-validation

Thanks, @dwj300 , for your comment.  I came across this blog for context.  Does this address the functionality in Ambassador that you're looking for?

I can take a stab at adding this functionality @cindymullins-dw


What version of 'react-i18next' should I use?

I thought that the version in this directory is the same as the version of the package itself, but when I was searching for the react-i18next libdef, I only found v2.x.x  (flow version: >=v0.30.x <=v0.39.x) & v1.10.x (flow version: >=v0.30.x <=v0.52.x).
And there aren't any libdef's exposed from de library 😕
I use the latest flow-bin (^0.55.0)

With 0.53 there were some breaking Changes.
So I most likely restricted it to <=v0.52.x to ensure it is working.
As the typedefs for react-i18next v1.1 do not work for flow > 0.52.x

OK I understand that, but shouldn't libdef for v5.x also be in the repository?
Now there's only v1.10.x & v2.x.x, but the package already is v5.4.1... 😕
I suppose that it's not provided and a PR would be welcome?
If so, I'd like to help with that, but I'm not experienced in making one, so any help would be awesome then 🙂


In the Categories page Footer section updated

In the Categories page Footer section updated
#373
Before updated

After Updated

resync and refork


Language support

Describe the feature
Is it possibile to ask Genie to answer in a language different from English?

You can specify the language in genie prompts

Using any language other than English is a bad idea. It will consume approximately 2-4 more tokens


Reactivity not working on derived components

Version
2.6.11
Reproduction link
https://codesandbox.io/s/condescending-kowalevski-f3vvz
Steps to reproduce
Create 2 Vue-Components, say child and parent. In child add parent both for extends as well as components.
In parent add a (boolean)-flag, say condition, as data and initialize it with true (thus making it reactive). In the template of parent add some conditional content with v-if based on condition. For debugging purposes you could also add a watch on condition. Now add a button both to child and parent with a click-handler inverting the value of condition. In both cases watch in parent is invoked with the correct state but only the click-handler in parent actually causes the template to update accordingly.
Can also be reproduced using class-components and typescript.
What is expected?
Changes to a reactive property in a parent-component should affect the parent-template regardless of whether the change has been triggered from the parent or the child component.
Or at least if changes from a child on a parent-property are not working the watcher on parent should not be invoked.
What is actually happening?
Only changes caused by the parent itself are reflected on the template.

Since the changes are at least "visible" using a watcher you could of course handle the required ui-changes yourself by using this.$el.findElementBy... and the remove() the element (if it can be removed from the DOM) or add a class/style with display: none; or display: inline|block; respectively.

When extending components, templates are dropped. The conditionalFlag does change as you can see in the log but it won't change the component instanced of hello parent inside hello world

Remember to use the forum or the Discord chat to ask questions!


Enhancement: import agenda from CSV

I often need to do bulk editing of my calendar which is not super convenient with the Google Calendar web interface. A spreadsheet interface would be much better.
What would you think about a way to do roundtrip updates through gcalcli agenda --tsv and a paired command agendaupdate for writing any changes back? We would need:

[x] Some refactoring of gcalcli.gcal.GoogleCalendarInterface._tsv(). I would like to replace the current long list of if statements with a modular design based around new class gcalcli.details.Handler. Each Handler represents the set of event properties that are captured by each item of gcalcli.argparsers.DETAILS. These objects would have get() handlers for TSV. They would be stored in a collections.OrderedDict called gcalcli.details.HANDLERS.
[x] Set gcalcli.argparsers.DETAILS to a superset of gcalcli.details.HANDLERS.keys() to avoid duplication.
[x] Add a header row to TSV. This would probably break old code so would require a major release. The alternative would be to add an option like --header.
[x] Implement a Handler for id to make it trivial to find the right Event later for the round trip.
[x] Implement Handler.patch() for a limited set of details. Throw error if there is a column not in the implemented set.
[x] Implement Handler.patch() for the rest of the details.

Future extensions or subsequent refactoring could include:

Refactoring other uses of patch to call details.Handler subclasses
Add Detail.format() handlers that could be used for gcalcli.gcal.GoogleCalendarInterface._PrintEvent().
A feature to add new events through this interface instead of only updating events with existing IDs (#550)
Adding ability to support multiple calendars in agendaupdate
Adding ability to move events between calendars by changing the calendar field (see commit message for d7589edbdcdf60872179a8be47d7e6b0452ed287)
A feature to do the round-trip through a Google Sheets instead of a local TSV

@jcrowgey Could you let me know what you think of this design?

Overall this looks good to me.  Your recent work on this project has
been very helpful and appreciated.  I'm sorry for the long delays.  In
general, I'm not going to be able to work on gcalcli much for the
foreseeable future.
On Mon, Jul 27, 2020 at 03:15:57PM -0700, Michael Hoffman wrote:

@jcrowgey Could you let me know what you think of this design?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/insanum/gcalcli/issues/550#issuecomment-664665671

To get the TSV output of gcalcli agenda to work automatically in Microsoft Excel with non-ASCII characters, it is necessary to set PYTHONIOENCODING=utf_16. Things that don't work utf_16_le (no BOM) or utf_8_sig (BOM but for whatever reason Excel ignores the tabs by default). This does not seem like a sensible default but if you intend to use these files with Excel you should know about it.

The easiest way to use a UTF-16 file.tsv is to use input redirection with the PYTHONIOENCODING environment variable set. There's no user-accessible way to change the encoding of what's read with a file argument.
PYTHONIOENCODING=utf_16 gcalcli agendaupdate < file.tsv

The output of PYTHONIOENCODING=utf_16 gcalcli agenda isn't easy to use some other Unix tools like grep with. Instead you can use iconv --to-code=utf-16 as part of a pipeline. For example:
gcalcli agenda | grep Title | iconv --to-code=utf-16 > file.csv

The main parts of this are done. I haven't closed the issue because each of the "Future extensions or subsequent refactoring" should either be (1) implemented, (2) made into issues for future discussion or implementation, or (3) decided as WONTFIX.

K, I've forked off some new issues for the loose ends:

#773
#772
#774
#775

I'll close out this base issue and we can follow up on subtasks in those or fresh bugs.

Thank you @dbarnett for cleaning this up.


minor fix: clean build warnings

There're several boring warnings, clean them firstly:)
I have to do several git cherry-pick from my master branch, so perhaps look like multiple commits.

We don't actually mess with any of these functions ourselves... these changes really belong upstream and I'd rather change them for the sake of a few warnings to ensure that merges from upstream remain as painless as possible.
If you'd like to suggest the same changes upstream to https://github.com/ElementsProject/secp256k1-zkp they might want to merge them in there.

@yeastplume  could you please confirm that's the correct upstream? because I didn't find the whole folder src/modules/bulletproofs at that repo.

That part is still in an active PR: https://github.com/ElementsProject/secp256k1-zkp/pull/23


ajax.json() is always undefined when using ajax function

When using the ajax function option, ajax.json() is undefined. (Test Case: http://live.datatables.net/yofadage/3/edit)
This is not the case when using ajax string option (url). (Test Case: http://live.datatables.net/ratoromi/1/edit)

I've added a note to the documentation that states this is the case for the moment. I might try to define a proper API for this in future.
You can add settings.json = json; in the callback, but the settings object is considered to be private, so it is possible this might break between releases (although I think in this case probably unlikely).

Noted. Thanks.


MINOR FIX: Include "LabDevices" in SelectLabByIdAsync

@AndrewMcClelland this guy is still stuck please take a looksee

@AndrewMcClelland this guy is still stuck please take a looksee


Better color picker

We currently use the browser's color picker, which works fine but is very limited:

Ideally, we'd want to group solid color, gradients, and opacity in the same popup (same as Figma). It should also work the same for text elements, but we'll have to figure out first how to render gradient texts with Satori.

This seems interesting: https://react-spectrum.adobe.com/react-aria/useColorArea.html

Good idea. Some of browsers like mine is showing pretty unstyled popup there:


[JS] JSI asBool is not available in RN 0.66

getBool is available, they may have renamed it.
Check:

whether getBool is available in newer versions
whether we can directly use the value without unwrapping (value ? 1 : 0)

According to https://github.com/software-mansion/react-native-reanimated/pull/3961 it was added in 0.69. So we can just always use getBool and we will be fine.
We could, later on, get rid of the double check whether its a boolean, inside the jsiToValue function as its also checked inside the getBool method with, possibly, a better error message.


Align modal footer to left

Description

Align modal footer to left
Render cancel buttons as link

Both changes according to design guidelines
Before

After

@terezanovotna @Hyperkid123

Codecov Report

Merging #107 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #107   +/-   ##
=======================================
  Coverage   74.14%   74.14%
=======================================
  Files          36       36
  Lines         437      437
  Branches       66       66
=======================================
  Hits          324      324
  Misses         86       86
  Partials       27       27

Impacted Files
Coverage Δ

src/components/AddApplication/RemoveAppModal.js
100% <ø> (ø)
:arrow_up:

src/components/SourceRemoveModal.js
95.45% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

how many times are we going to this??


Plot Masked Image

Currently, plots show unmasked stamps, sigma maps, models, and residuals. Apply the mask to these images so the colour scale is better representative of the actual data.

Closed by #29.


Make "SECURITY-x" warnings clickable

Description of the bug
Taking https://plugin-health.jenkins.io/scores/build-metrics for example, the security probe reports 3 open security warnings:

I would recommend making these clickable because there's no way to check the details on jenkins.io without additional research.
The link could forward to the same location as the security warning banner on https://plugins.jenkins.io/build-metrics/ does.

This is because of https://github.com/jenkins-infra/plugin-health-scoring/blob/d9d44afd9e08094989a62df1459fd4a257df876f/core/src/main/java/io/jenkins/pluginhealth/scoring/probes/KnownSecurityVulnerabilityProbe.java#L58. We only store the ID of the security warning from the update-center.
We could change that to store the url.

Hey @NotMyFault, I'd like to work on this issue. Would you please assign this issue to me?

@AniketNS we don't assign issue but please start a pull request to work on this.

hey @alecharp we can make it clickable by adding an anchor tag to metrics( https://plugins.jenkins.io/build-metrics/ )in our HTML and create a JS on click event. I am very new to open-source.

okie, @alecharp.

I am on it


How to crop Circle, Triangle, Polygon Image

Hi,
Is there any way to crop a circle, triangle or polygon image with transparent background using poster editor?
i want to make some image like this
Thank you!

Hello, there!
You can't make it using this library directly but nothing prevents you from doing this using php-gd.
Just get your image resource with get method first,
than use something like this and set new image resource with set.
I also think that you have already seen this library and now you can connect it with poster-editor in the way I described above.

Hello, there!
You can't make it using this library directly but nothing prevents you from doing this using php-gd.
Just get your image resource with get method first,
than use something like this and set new image resource with set.
I also think that you have already seen this library and now you can connect it with poster-editor in the way I described above.

Hi
im trying to resize image with poster editor before create triangle with image artist but i dont know how to use setResource method with image artist. can you help me?
require('../vendor/autoload.php');
require('../src/PosterEditor.php');
$image = new PosterEditor\PosterEditor();
$image->make("./morning.jpeg")->fit(600, 400, 'center');

$image1 = $image->get();
//
how to call setResource here?
//
$tr1 = new Triangle(??);
$tr1->scale(60);
$tr1->setPointA(0,0,true);
$tr1->setPointB(100,0,true);
$tr1->setPointC(100,100,true);
$tr1->build();
.....

It looks like a working code
<?php

require('../vendor/autoload.php');

use Treinetic\ImageArtist\lib\Shapes\Triangle;

try {
    $image = new PosterEditor\PosterEditor();
    $image->make("./morning.jpg")->fit(600, 400, 'center');

    $triangle = new Triangle($image->get());
    $triangle->setPointA(20,20,true);
    $triangle->setPointB(80,20,true);
    $triangle->setPointC(50,80,true);
    $triangle->build();

    $image->set($triangle->getResource());
    $image->show('png');
}
catch(Exception $e) {
    echo $e->getMessage();
}


Implement harfbuzz, update fontconfig, freetype, expat, and other fixes

Fixes #9 #13, and other fixes

This speed up the rendering on Chrome V8, and i fixed the dispose not remove the canvas element.

Thanks for contributing!
Right now I'm a bit busy but I'll check it soon.

but is slow on Firefox
Is there big difference comparing to old version?

Compared to old version, this version is a little faster. But i need some performance test scripts to prove it.

Add this to create Benchmark script
    var debounce = true;
    var seconds  = 5; // set to 15 instead

    var isFirstRun = true;
    var changeResolution = function (width, height) {
        player.width(width).height(height);
        octopusInstance.resize();
    };
    var runBenchmark = function () {
        changeResolution(1280, 720);
        octopusInstance.runBenchmark();
        console.log("Test benchmark at " + player.currentTime())
    };

    player.ready(function () {
        // This would look more nice as a plugin but is's just as showcase of using with custom players
        var video = this.tech_.el_;
        player.on('timeupdate', function(event){
            var hasPlayedTime = player.currentTime();
            var intPlayedTime = parseInt(hasPlayedTime, 10);
            var isFifteen     = intPlayedTime % seconds === 0 && intPlayedTime !== 0;

            if (isFifteen && debounce) {
                debounce = false;
                runBenchmark();
            } else {
                setTimeout(function() {
                    debounce = true;
                }, 1000);
            }
        });

The results are in the log files
localhost-old.log
localhost-new.log
Used: Chromium 63.0.3236.0 x64 Windows 10

Now i'm working on update for fribidi

After some work and patch fixes, i'm able to incrase the speed on Firefox, i will push more fixes soon

that issue #9 fixed in this pull!
and work like charm...
too much thanks @TFSThiagoBR98

Sorry for a big delay.
I've checked and everything working correctly! (after small fix for latest version of emscripten)
I've merged it. Feel free to sent pull requests again. I'll try to be faster with them :)
Thanks! 👍


Jetpack Compose samples

Sample Compose app should be created to show KStateMachine library possibilities. This app may be similar to https://github.com/nsk90/android-kstatemachine-sample but it is not mandatory.
The app should use simple MVI implementation like in Android sample and Kotlin Coroutines library.
There should be no other third party dependencies.
The goal is to make a state machine library sample, so UI should be minimal clean and simple.

@nsk90 in where do you want to place the sample folder?

That should be separate repository, I will make it..

https://github.com/nsk90/compose-kstatemachine-sample
This is an empty repository to start from

I'm looking at this tonight based on the https://github.com/kstatemachine/android-kstatemachine-sample which uses "0.26.0" which builds and seems to run to a point.
if I move to 0.30.0

the shooting
            val shooting = addState(Shooting())

also does not resolve.
Both of these are the HeroStates() with member variables; and I have looked some and don't see the same associated state being done in other examples.  I will keep playing and thanks for your code.  I saw some notes about version migration but did not find guidance on transitioning from 0.26.0.

kmp compose;   https://github.com/KStateMachine/kstatemachine/compare/master...davehorner:kstatemachine:master
I don't have it figured yet and I see that it can crash when the machine is setup improperly (I assume its me; the existing sample at 0.26.0 works fine)  Koin, voyager, ImageCoil, compose

I realize you said it should be a separate repository; if you dont want it in tree I can move it out.
It moves through all the states when it starts for some reason.
2024-08-25 06:00:08.644 22909-22909                 org.example.project                  I  State updated: ModelData(ammoLeft=40, activeStates=[Standing($143799930)])
2024-08-25 06:00:08.729 22909-22909                 org.example.project                  I  State Entered: AirAttacking($98229508)
2024-08-25 06:00:08.731 22909-22909                 org.example.project                  I  State Entered: NotShooting($351155)
2024-08-25 06:00:08.735 22909-22909                 org.example.project                  I  State Entered: Standing($143799930)
The statemachine will crash the process.
Process: org.example.project, PID: 22909
java.lang.IllegalStateException: Multiple transitions match com.stickman.ControlEvent$DuckPressEvent@c54fd37, [DefaultTransition(start transition)] in StateMachineImpl(Hero)
I have the same machine that is in the example.  I'm not sure how to fix it or how to protect against a crash when using this library.

there is a empty repo for this sample https://github.com/KStateMachine/compose-kstatemachine-sample

I can push it there; but its not even worth sharing in its current state.

https://github.com/davehorner/compose-kstatemachine-sample

aside from location, do you have any thoughts on what's wrong here?

Hi sorry for long replying, I was little bit busy.
I have moved Android Sample to KStateMachine v0.30.0. there were some breaking changes, I had to fix imports and an arguments order of a lambda function.
You can see the difference here https://github.com/KStateMachine/android-kstatemachine-sample/commit/bbe8409e9709242745dddea1ec24340420994437#diff-9abb5da1e70e00c44d05a85f93fe11cbbe7927a0f2c4e247438c94a98a495199

If you have time to take a look at the sample. I would appreciate the feedback.  I am interested in using the library but have concerns with the way in which it crashes the application.
Process: org.example.project, PID: 19933
                                                                                java.lang.IllegalStateException: Multiple transitions match com.stickman.ControlEvent$JumpCompleteEvent@481486f, [DefaultTransition(start transition)] in StateMachineImpl(Hero)
                                                                                at ru.nsk.kstatemachine.state.BaseStateImpl.recursiveFindUniqueResolvedTransition$suspendImpl(BaseStateImpl.kt:177)
                                                                                at ru.nsk.kstatemachine.state.BaseStateImpl.recursiveFindUniqueResolvedTransition$kstatemachine(Unknown Source:0)
                                                                                at ru.nsk.kstatemachine.statemachine.StateMachineImpl.doProcessEvent(StateMachineImpl.kt:328)

The FSM might be configured incorrectly.  Is there a way to trap this error or protect against the machine causing the application to terminate?

found the doNotThrowOnMultipleTransitionsMatch CreationArguments Boolean.
createStateMachineBlocking(screenModelScope, "Hero", ChildMode.PARALLEL,creationArguments = StateMachine.CreationArguments(doNotThrowOnMultipleTransitionsMatch=true))
that stops the crashing.  The sample does not work yet.  The activeStates is always Standing.

the the source of the problem is line 82 val airAttacking = addState(AirAttacking()). It should be inside state("Movement") block.
I fixed the exception message (there was a mistake), and published new library version 0.31.0 with it.

committed those changes; thank you much
it gets stuck in ducking...not quite there.

Ok, I just hadn't setup the press and release.  I've submitted a PR.

https://github.com/KStateMachine/compose-kstatemachine-sample

Thanks to @davehorner !


Incorrect colors in v3 preview docs

Describe the bug
Some colors in color docs don't match CSS vars.
Secondary Action 50:
CSS var at runtime: #f7e6ff (incorrect)
hex from provided HSL: #F7E5FF
Secondary Action 1000:
HSL in code:
$clr-color-secondary-action-1000: hsl($clr-secondary-action-hue, 100%, 14%) !default;
hex from that: #320047
hsl in docs: hsl(282, 48%, 14%) (incorrect)
css var: #320047(correct)
Warning 50:
CSS var at runtime: #fffae6 (incorrect)
hex from provided HSL: #FFFAE5 (correct)
Danger colors are all under a question, as in code we see real hue is 9, but comment says that it should be 14. In docs we see it having a value of 14, but in vars and components - still 9:
// Stoplight Danger color: alerts, error messaging, danger buttons
// 14 is the correct temperature

$clr-danger-hue: 9;
$clr-color-danger-50: hsl($clr-danger-hue, 100%, 97%) !default;
$clr-color-danger-100: hsl($clr-danger-hue, 95%, 92%) !default;
$clr-color-danger-200: hsl($clr-danger-hue, 91%, 86%) !default;
$clr-color-danger-300: hsl($clr-danger-hue, 83%, 76%) !default;
$clr-color-danger-400: hsl($clr-danger-hue, 85%, 67%) !default;
$clr-color-danger-500: hsl($clr-danger-hue, 88%, 61%) !default;
$clr-color-danger-600: hsl($clr-danger-hue, 92%, 50%) !default;
$clr-color-danger-700: hsl($clr-danger-hue, 100%, 43%) !default;
$clr-color-danger-800: hsl($clr-danger-hue, 100%, 38%) !default;
$clr-color-danger-900: hsl($clr-danger-hue, 100%, 30%) !default;
$clr-color-danger-1000: hsl($clr-danger-hue, 100%, 20%) !default;

in runtime we see this:
--clr-color-danger-50: #fff2f0 (equal to hsl(9, 100, 97))
in docs color swatch we see hsl(14, 100, 97) in a swatch label:
real rendered color of Danger-50 swatch: #FFF3F0 (equal to hsl(14, 100, 97))
So, you have to decide which $clr-danger-hue value is correct - 9 or 14?
added:
functional Backgrounds and borders 200, 500, 600 and 700 are different from neutral 200, 500, 600 and 700. Actually, they look similar to what you had before or at the beginning of colors update.
Looks like most of the functional colors are also outdated.
How to reproduce
Just compare values in code to CSS vars at runtime and to color docs
Expected behavior
Colors in code should match colors in docs
Versions
Website
3.0.0-next.4 as of now

Also:
functional Backgrounds and borders 200, 500, 600 and 700 are different from neutral 200, 500, 600 and 700. Actually, they look similar to what you had before or in the beginning of colors update.

In v3, we now use only hsl to define colors. SASS generates HEX codes from these values, which depending on the specific calculator used may generate extremely small variances. When in doubt, use the hsl values. I'm closing this as resolved.

In v3, we now use only hsl to define colors. SASS generates HEX codes from these values, which depending on the specific calculator used may generate extremely small variances. When in doubt, use the hsl values. I'm closing this as resolved.

My point was, apart from those small differences, that there was a mismatch between some SASS values and values provides on a website. Not small differences, but typos or something like that.

These aren't typos, though. This is how the browser (or in our case SASS) interprets the values. We shouldn't be comparing the v3 hsl values (or rendered values) to the v2 documentation.
You should be comparing the hsl values in v3 against its own hsl values...

These aren't typos, though. This is how the browser (or in our case SASS) interprets the values. We shouldn't be comparing the v3 hsl values (or rendered values) to the v2 documentation.
You should be comparing the hsl values in v3 against its own hsl values...

Yep, I will compare it for the v3 release and will leave a comment here in case I'll see something. I'm performing the update of my Figma library and recreating color palette from scratch, so I'll definitely go over all base pallette values.

The Figma files will need to be updated to HSL. I'm sure @reddolan has that on his roadmap.

The Figma files will need to be updated to HSL. I'm sure @reddolan has that on his roadmap.

I'm having my own lib, which is optimized for heavy tasks, so I handle that myself 🙂 Though, I wouldn't recommend using anything, but HEX values in Figma, because there is a known bug in Figma, when they mess up some non-HEX values, which is impossible to fix for a file where it happened and some other files, which use "infected" library, other than by rolling back entire library. And guys from Figma aren't giving any estimates on fixing that.

HSL is our guideline and if there is an issue with Figma then it will need to approximate the HEX value to the best degree. If there are minor calculation differences (#FFFAE5 vs FFFAE6) that is just a rounding issue with the calculation. Our color palette documentation on the website with HSL is the source of truth, everything else should adhere as closely as it can. I'm going to lock this as resolved and if there is a specific bug please advise in a new issue.


PDF pasture name wraps wrong with hyphen (or maybe long) name.

@micheal-w-wells Can I have an example please?

Sorry @calebissharp missed this notification.  We'll dig up one for ya.

Here's a long one for ya 'Tatelkuz Mountain and Grizzly Valley grass-shrub meadows'

@micheal-w-wells What does it look like in the PDF?

@LisaMoore1 can you give example of one with issue?  I tried RAN075154 with the long pasture name above and it looks pretty good.


checker+alias are marked as Unspecified

Describe the bug
Screenshot shows all:

The checker and the aliases are marked as Unspecified.
CodeChecker version
CodeChecker analyzer version:
---------------------------------------------------------------
Kind                 | Version
---------------------------------------------------------------
Base package version | 6.14.0
Package build date   | 2020-08-03T07:55
Git commit ID (hash) | 0a7617b897f55827a162ab76cecfba2a370a3e76
Git tag information  | 6.14
---------------------------------------------------------------

CodeChecker web version:
------------------------------------------------------------------------
Kind                          | Version
------------------------------------------------------------------------
Base package version          | 6.14.0
Package build date            | 2020-08-03T07:55
Git commit ID (hash)          | 0a7617b897f55827a162ab76cecfba2a370a3e76
Git tag information           | 6.14
Server supported API (Thrift) | 6.28
Client API (Thrift)           | 6.28
------------------------------------------------------------------------

In theory, the checker+alias should have the same severity.
Example:
https://github.com/Ericsson/codechecker/blob/master/config/checker_severity_map.json#L75
https://github.com/Ericsson/codechecker/blob/master/config/checker_severity_map.json#L162

Hi,
Which clang-tidy version did you use?
You can check it with this command CodeChecker analyzers --details

 clang-tidy /usr/lib/llvm-12/bin/clang-tidy LLVM (http://llvm.org/):
  LLVM version 12.0.0

  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: skylake-avx512

 clangsa /usr/lib/llvm-12/bin/clang      Debian clang version 12.0.0-++20200810115114+8119d6c1469-1~exp1~20200810095735.946
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-12/bin

Thanks for the analyzer versions, the change introduced in clang-tidy to print out the checker name and the alias in the report (comma separated) caused the problem, I'm working on a solution for it.

I noticed that the links to the doc are also broken:
ex:
http://clang.llvm.org/extra/clang-tidy/checks/cert-oop11-cpp,performance-move-constructor-init.html


Is it possible to use pdfkit link method to generate hyperlinks inside the table?

Hi, you can add link: "https://mysite.com" in your column configuration. You can use all that pdfkit.text() accepts, like underline, link, strike, etc.
And you can change the text color using cache: false, renderer: Function in your column. For example:
{
    id: 'description',
    header: 'Product',
    cache: false,
    renderer(tb, data, draw) {
        if (draw) {
            tb.pdf.fillColor('red'); return data.description
        }
        return ``;
    }
}

Hi @tafel thanks so much for your description here, however, I am struggling a bit to get a link to actually work, can you perhaps show what the column configuration should look like for passing a dynamic link into a field? Thanks so much!
Here's what I have, I've also tried different variations, but I'm just not sure how to do that. Thanks
.addColumns([             {                 id: 'fileName',                 header: 'File Name',                 align: 'left',             },             {                 id: 'folder',                 header: 'Folder',                 align: 'left',                 width: 80             },             {                 id: 'link',                 header: 'URL',                 align: 'left',                 width: 250,                 link: function (data) {                     return data.link                 }             }         ])

When you have special needs, like dynamic links or images, you will need to manage yourself the drawing. Here's an example of how to add your dynamic link:
// column definition
{
    id: 'description',
    header: 'Product',
    align: 'left',
    link: 'https://duckduckgo.com/?q=xxx',
    cache: false,
    renderer(tb, data, draw, column, pos) {
        if (!draw) {
            // we are calculating cell height. We only need text now.
            return data.description;
        } else {
            // we are drawing content on the page. You probably will
            // need to adjust `pos.x` and `pos.y` as well as cell width,
            // depending on the cell padding you want.
            tb.pdf.text(data.description, pos.x, pos.y, {
                ...column,
                link: column.link.replace('xxx', data.id),
                height: data._renderedContent.height, // this value is automatically calculated
                width: column.width
            });
        }
    }
}

// sample data
{ id: 'abc', description: 'Product 1' }

That is exactly what I needed, thank you very much!

@tafel Just letting you know your solution worked, thanks :)

Do you know how to apply font or change color?
Also, can you fill in the column only?

When you have special needs, like dynamic links or images, you will need to manage yourself the drawing. Here's an example of how to add your dynamic link:
// column definition
{
    id: 'description',
    header: 'Product',
    align: 'left',
    link: 'https://duckduckgo.com/?q=xxx',
    cache: false,
    renderer(tb, data, draw, column, pos) {
        if (!draw) {
            // we are calculating cell height. We only need text now.
            return data.description;
        } else {
            // we are drawing content on the page. You probably will
            // need to adjust `pos.x` and `pos.y` as well as cell width,
            // depending on the cell padding you want.
            tb.pdf.text(data.description, pos.x, pos.y, {
                ...column,
                link: column.link.replace('xxx', data.id),
                height: data._renderedContent.height, // this value is automatically calculated
                width: column.width
            });
        }
    }
}

// sample data
{ id: 'abc', description: 'Product 1' }

Do you know how to apply font or change color?
Also, can you fill in the column only?


wikicurses: init at 1.3

WIP - suggestions welcome
Things done

[ ] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@FRidh does the latest commit fix the issues you describe?
Either way, I'm still getting
error: value is a string while a set was expected

and I don't know why.

I don't know why you would get that error. It fails here with
$ nix-shell -p wikicurses -I nixpkgs=.
error: beautifulsoup-3.2.1 not supported for interpreter python3.5m

You need to use beautifulsoup4 instead of beautifulsoup

I use nix-build -A wikicurses here and it fails.
I fixed the issue with beautifulsoup4.

callPackages -> callPackage

Nice that github detects that you squashed these commits! Thank you, @fpletz, for merging.


docs: only check broken links in docs folder

Closes https://github.com/scylladb/care-pet/issues/81
Closes https://github.com/scylladb/care-pet/issues/79
Closes https://github.com/scylladb/care-pet/issues/74
Closes https://github.com/scylladb/care-pet/issues/73
Only check for broken links within the docs folder and exclude email addresses.

Hey @dgarcia360, I think it's a good thing we're checking for broken links in the README files for every project as well. link fixes in #84. What do you think?

@raoufchebri Good point, it would be better to fix & check all the links in all .md / .rst files.


URL Rewrite doesn't work as explained here

I'm trying to use URL rewrite to convert all incoming requests to lowercase using the example given here. (.*) and $L1. But that rules doesn't seem to have an effect. I get an BlobNotFound when I request anything with uppercase.

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

ID: 32374268-b78a-4298-5e7c-589f358754e7
Version Independent ID: 20c6c123-0666-a374-2296-76cedc518693
Content: Azure CDN from Verizon Premium rules engine features
Content Source: articles/cdn/cdn-verizon-premium-rules-engine-reference-features.md
Service: azure-cdn
GitHub Login: @mdgattuso
Microsoft Alias: magattus

@mudithaa , Thanks for your feedback. We are looking into this query and will update you as soon as possible.

@mudithaa , Appreciate your patience. It will not work in the same way for blob URL's as they are case sensitive.You will be encountered with the same error say, "BlobNotFound" even if you try changing blob URL to upper or lower case manually. the above mentioned examples are not for blob URL's.
We are closing this issue for now.If there are further questions regarding this matter, please reply and we will gladly continue the discussion.


Error: Import AWS security_groups "panic: runtime error: invalid memory address or nil pointer dereference"

I got a 'nil pointer dereference' while importing AWS security_groups
terraformer import aws --resources=sg --connect=true
2023/01/10 11:45:40 aws importing... sg
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x106faea74]

goroutine 1 [running]:
github.com/GoogleCloudPlatform/terraformer/providers/aws.fromPort(...)
	github.com/GoogleCloudPlatform/terraformer/providers/aws/sg.go:362
github.com/GoogleCloudPlatform/terraformer/providers/aws.baseRuleAttributes({0x1097aed86, 0x6}, {0x0, 0x140016ce290, {0x140012f9dd0, 0x1, 0x1}, {0x112a328d8, 0x0, 0x0}, ...}, ...)
	github.com/GoogleCloudPlatform/terraformer/providers/aws/sg.go:164 +0x324
github.com/GoogleCloudPlatform/terraformer/providers/aws.processRule({0x0, 0x140016ce290, {0x140012f9dd0, 0x1, 0x1}, {0x112a328d8, 0x0, 0x0}, {0x112a328d8, 0x0, ...}, ...}, ...)
	github.com/GoogleCloudPlatform/terraformer/providers/aws/sg.go:145 +0x538
github.com/GoogleCloudPlatform/terraformer/providers/aws.SecurityGenerator.createResources({{{{0x10ae4a120, 0x140013c8cc0}, {0x5a, 0x14001342000, 0x0}, {0x0, 0x0}, 0x0, {0x0, 0x0, ...}, ...}}}, ...)
	github.com/GoogleCloudPlatform/terraformer/providers/aws/sg.go:84 +0x618
github.com/GoogleCloudPlatform/terraformer/providers/aws.(*SecurityGenerator).InitResources(0x14000d479e0)
	github.com/GoogleCloudPlatform/terraformer/providers/aws/sg.go:260 +0x2b8
github.com/GoogleCloudPlatform/terraformer/providers/aws.(*AwsFacade).InitResources(0x140000b3db0?)
	github.com/GoogleCloudPlatform/terraformer/providers/aws/aws_facade.go:61 +0x28
github.com/GoogleCloudPlatform/terraformer/cmd.initServiceResources({_, _}, {_, _}, {{0x140007239b0, 0x1, 0x1}, {0x112a328d8, 0x0, 0x0}, ...}, ...)
	github.com/GoogleCloudPlatform/terraformer/cmd/import.go:209 +0x1a4
github.com/GoogleCloudPlatform/terraformer/cmd.initAllServicesResources(_, {{0x140007239b0, 0x1, 0x1}, {0x112a328d8, 0x0, 0x0}, {0x109856d51, 0x1e}, {0x1097b929e, ...}, ...}, ...)
	github.com/GoogleCloudPlatform/terraformer/cmd/import.go:166 +0x12c
github.com/GoogleCloudPlatform/terraformer/cmd.Import({_, _}, {{0x140007239b0, 0x1, 0x1}, {0x112a328d8, 0x0, 0x0}, {0x109856d51, 0x1e}, ...}, ...)
	github.com/GoogleCloudPlatform/terraformer/cmd/import.go:98 +0x17c
github.com/GoogleCloudPlatform/terraformer/cmd.importRegionResources({{0x14000723980, 0x1, 0x1}, {0x112a328d8, 0x0, 0x0}, {0x109856d51, 0x1e}, {0x1097b929e, 0x9}, ...}, ...)
	github.com/GoogleCloudPlatform/terraformer/cmd/provider_cmd_aws.go:121 +0x1f8
github.com/GoogleCloudPlatform/terraformer/cmd.newCmdAwsImporter.func1(0x1400127c000?, {0x1097ab405?, 0x2?, 0x2?})
	github.com/GoogleCloudPlatform/terraformer/cmd/provider_cmd_aws.go:66 +0xe0
github.com/spf13/cobra.(*Command).execute(0x1400127c000, {0x1400030f320, 0x2, 0x2})
	github.com/spf13/cobra@v1.1.1/command.go:850 +0x4c4
github.com/spf13/cobra.(*Command).ExecuteC(0x14001224dc0)
	github.com/spf13/cobra@v1.1.1/command.go:958 +0x34c
github.com/spf13/cobra.(*Command).Execute(...)
	github.com/spf13/cobra@v1.1.1/command.go:895
github.com/GoogleCloudPlatform/terraformer/cmd.Execute()
	github.com/GoogleCloudPlatform/terraformer/cmd/root.go:36 +0x20
main.main()
	github.com/GoogleCloudPlatform/terraformer/main.go:39 +0x54

I think the problem is the spaces in the names of the groups

i believe it's been fixed already via this merged PR: https://github.com/GoogleCloudPlatform/terraformer/pull/1486
since they have not tagged a new version and subsequently no new packages have been generated, you have to build from source.

are there plans to provide an updated build which includes the fix for this isse?

ping

A new version was released in July. Would you like to test it? Are you still getting errors with the new version?


Subscriptions correctly interpreting the payload

Currently the subscription framework in HAPI-FHIR does not correctly interpret the meaning of the Subscription.channel.payload property. The payload property is described by the FHIR spec as:

The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the payload is not present, then there is no payload in the notification, just a notification. The mime type "text/plain" may also be used for Email and SMS subscriptions.

Right now, HAPI-FHIR simply sends the raw text value of the Subscription.channel.payload property, rather than using the value of the payload property to determine how (or whether) to serialize the resource that triggered the subscription in the body of the notification (whether that be a rest-hook subscription or an email subscription).
This changes make it so that it HAPI tests the value of the Subscription.channel.payload and serializes the resource that triggered the subscription in the body of the notification, which should align with the FHIR specification's intent.

FYI- This unfortunately seems to have caused a bunch of downstream regressions in other projects that were depending on the serialized resource being in the delivery message (i.e. the one in the queue, in ResourceDeliveryMessage) even if no payload type was specified. I'm going to see if I can tweak this to keep the right behaviour without dropping that functionality.


Some new feature additions

Feel free to cherry-pick the ones you believe would suit better for the original purpose of this project. Just made it for myself but thought some features might be useful.

Formatted to flake8 (Not sure which format guideline this project was based on so I just used my preferred one)
Added multi client support (Can add multiple tokens and choose which account follow which user. Not sure how this will affect rate limit)
Added settings to filter by media type (All (default), Text Only tweets, Media Only Tweets)
Added autocomplete to removing notifier (Makes it easier to select which user to remove. Sadly, discord doesn't allow channel autocomplete yet so can't do the same for channel)
Added .env checking and type linting.
Added miscellaneous features ({count} in activity name, client being used in listing)
Updated docs (To reflect the new features)
A script to update for the new database entries.

Hi, thanks a lot for your contributions! I really appreciate the effort you put into these new features. I’m currently quite busy, so it might take me some time to review your PR thoroughly. I’ll get back to you as soon as I can.

Hey, I noticed you added support for using different accounts to track Twitter users. However, I saw that you used multiple tweetsUpdater to achieve this. While this shouldn’t affect the rate limit, it also doesn’t improve the rate limit issue or increase the checking frequency. I’m just curious if this was your intention. In other words, I want to know if you added this feature to improve the rate limit issue or to increase user customization?

Ah yes, it is intended. Because personally instead of creating one dedicated account for everything, I have multiple accounts for each type of media I want to follow. This way I can still browse the accounts themselves without seeing unrelated contents.


address-config allows to replace type of already created address

steps to reproduce:

deploy brokered address space by "addressSpace.json" and following command:
curl -X POST -H "content-type: application/json" --data-binary @addressSpace.json http://$(oc get route -o jsonpath='{.spec.host}' restapi)/v1/addressspaces
create mytopic by "brokered_topic.json" and following command:
curl -X POST -H "content-type: application/json" --data-binary @brokered_topic.json http://$(oc get route -o jsonpath='{.spec.host}' restapi)/v1/addresses/myspace3
check if mytopic is "type":"topic" by following command (section: data->config.json) :
oc get configmap -o yaml address-config-mytopic
create mytopic by "brokered_queue.json" and following command:
curl -X POST -H "content-type: application/json" --data-binary @brokered_queue.json http://$(oc get route -o jsonpath='{.spec.host}' restapi)/v1/addresses/myspace3

here some error message should be returned instead of {"apiVersion":"enmasse.io/v1","kind":"AddressList","items":[{"metadata":{"name":"mytopic","addressSpace":"myspace3","uuid":"7f13ef30-88ed-3312-98a3-c2e2fc468f3b"},"spec":{"type":"queue","plan":"standard","address":"mytopic"},"status":{"isReady":false}}]}
check that mytopic is "type":"queue" right now: oc get configmap -o yaml address-config-mytopic
in web console is mytopic still visible like a topic

addressSpace.json
{
    "apiVersion": "enmasse.io/v1",
    "kind": "AddressSpace",
    "metadata": {
        "name": "myspace3",
        "namespace": "myspace3"
    },
    "spec": {
        "type": "brokered",
	"authenticationService": {
	    "type": "none"
	}
    }
}

brokered_topic.json
{
  "apiVersion": "enmasse.io/v1",
  "kind": "AddressList",
  "items": [
    {
      "metadata": {
        "name": "mytopic"
      },
      "spec": {
        "type": "topic"
      }
    }
  ]
}

brokered_queue.json
{
  "apiVersion": "enmasse.io/v1",
  "kind": "AddressList",
  "items": [
    {
      "metadata": {
        "name": "mytopic"
      },
      "spec": {
        "type": "queue"
      }
    }
  ]
}

In what format can I expected error response from server? something like this would be fine
{
  "error": {
      "msg": "text",
      "code": "code"
      }
}

@tkratky We haven't really defined a payload format for error responses so far.  We're relying on HTTP status codes and logs :)
I think we should write up a design proposal for this and implement it across all APIs. This is important even though it will eventually looking to be used internally.

@lulf I agree
btw: also reproducible with "standard" address space

@lulf this should be fixed, right?


Remove haml

Let's use the erb templates, and remove the haml gem :)
cc @StephHippo I'm sure this will make you happy

Opened this just to reply about how happy I was we were removing haml and
was pleasantly surprised this was expected behavior. #downwithhaml
On Mon, Feb 27, 2017 at 9:41 AM Andrew Mason<EMAIL_ADDRESS>wrote:

Let's use the erb templates, and remove the haml gem :)
cc @StephHippo https://github.com/StephHippo I'm sure this will make
you happy
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hacsoc/the_jolly_advisor/issues/240, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ACMFXU4dA5Px0dOwt_eoIIUk-_8VKFW8ks5rgwrAgaJpZM4MNaMQ
.

This is only partially done


Suggest installing dask when not discovered by ChunkManager

[x] Closes #7962
[ ] Tests added
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst

This came up again in https://github.com/pydata/xarray/discussions/8301.
To be honest, given there are only 2 known chunkmanagers at the moment, maybe we should just special case the error message to tell the user exactly which package to install?

Works for me!

Closing in favour of #9676


Relative urls for build path

In the project view urls to the builds use a hardcode url instead of a relative url. In my installation this would cause the link to be set to <IP_ADDRESS>:9292/project/:projectid/builds/:buildid
With the change to the link generator the paths are now relative so it always points to the correct location.
This problem also occurs, and is also fixed, in build view if there are other builds for the same commit.

I'll close this PR for now since it has gone stale. If you think this PR should till be merged please open a new PR. Thanks for your effort! :heart:


Bridgy Publish to Twitter mishandles whitespace cr by removing it

https://twitter.com/t/status/659200761427980288 was published by Bridgy Publish from http://tantek.com/2015/300/t1/social-web-session-w3c-tpac2015 and as you can see from the first hyperlink on the tweet:
Note the "/Social Web" - that should be "/ Social Web", and there's a return (cr) in the original that somehow Bridgy Publish removed, and thus errantly appended "Social" to the end of that IG URL
Bridgy Publish should be respecting whitespace by collapsing/keeping it as a single space at minimum, but ideally it should be preserving and passing along ALL whitespace from the original, since Twitter actually supports whitespace formatting!
https://indiewebcamp.com/note#Whitespace

:+1: thanks for the report!

Note that the Bridgy Publish POSSE copy to Facebook does not have these problems, and more to the point does preserve the line breaks!
https://www.facebook.com/photo.php?fbid=10101948228396473
Thus hopefully Bridgy Publish to Twitter can "just" be fixed to be like Bridgy Publish to Facebook!

huh, interesting. that's a good point. i definitely don't understand what's going on then. odd.

I don't know what's causing this yet, but it's a specific edge case bug, not a general issue with Twitter publish.
Because Bridgy thinks this is an "article", "displayName" instead of "content" is used to generate the publish content. It looks like the linebreaks are removed when generating the plain text displayName. Again, this isn't always the case, I tried a very simple note with linebreaks and they are preserved in the AS representation...
    {
      "object": {
        "updated": "2015-10-27T19:48:00-0700",
        "displayName": "https://instagram.com/p/9XVBIRA9cj/Social Web session @W3C #TPAC2015 in Sapporo, Hokkaido, Japan.",
        "author": {
          "url": "http://tantek.com/",
          "image": {
            "url": "http://tantek.com/logo.jpg"
          },
          "displayName": "Tantek \u00c7elik",
          "objectType": "person"
        },
        "url": "http://tantek.com/2015/300/t1/social-web-session-w3c-tpac2015",
        "image": {
          "url": "https://igcdn-photos-b-a.akamaihd.net/hphotos-ak-xaf1/t51.2885-15/e35/12145332_1662314194043465_2009449288_n.jpg"
        },
        "content": " https://instagram.com/p/9XVBIRA9cj/

Social Web session @W3C #TPAC2015 in Sapporo, Hokkaido, Japan.",
        "published": "2015-10-27T19:48:00-0700",
        "id": "http://tantek.com/2015/300/t1/social-web-session-w3c-tpac2015",
        "objectType": "article"
      }
    }

two possible solutions, off the top of my head:

switch to mf2util's post type detection
when we strip html tags, replace each one with a space, then collapse spaces

thoughts?

Oh actually this was fixed in https://github.com/snarfed/granary/commit/fe6addf62bef09980b762eea0494a82de488d6dd .. I hadn't closed yet because I still wanted to add a test for this exact post

thanks @kylewm! confirmed manually too, the fix works in a preview of tantek's post:

Confirmed with live test: https://twitter.com/t/status/663016908623511552 published with Bridgy Publish from http://tantek.com/2015/311/t3/indiewebcamp-mit-the-album

:+1: thanks t!


ecdsa-01.json has invalid base64 for y value

The y-value listed in the file:
 "y":"IBOL-C3BttVivg-lSreASjpkttcsz-1rb7btKLv8EX4",

is not valid base64!  "-" is not a base64 character according to https://en.wikipedia.org/wiki/Base64 and RFC4648.  My ruby decoding does not automatically process it.  Your encoding is base64url encoded.
Base64.urlsafe_decode64(str) solves this problem, but I wonder if the examples should be coded
into stock base64?

That is an interesting question.  They are encoded to base64url because that is the requirement for JOSE.  I am actually thinking about finishing the re-encoding of all them to hex because it is just easier to compare against what is in my debugger.


Cannot read property of 'children' of undefined

Screenshot:

Details

Atom version: Latest stable
Julia version: 1.02
OS: Windows 1064bt
Atom/Juno/etc,: latest stable

Steps to reproduce
I have no idea. The issue pops up randomly. I don't know how to reproduce.

Big problem, as the console becomes unusable once this occurs. You have to restart Atom, which is bad.

Yeah, that's an upstream bug... you can try disabling the fallback renderer in the julia-client settings for now though.

Your suggestion doesn't fix it.

Hm, I haven't seen it happen either with or without the fallback renderer. If neither work fine for you then we'll need to wait until a new xterm.js version is out (or use master).